Похожие презентации:
Система имитационного моделирования GPSS World
1.
Лекция 4Система имитационного
моделирования
GPSS World
Бабалова И.Ф.
2018 г
2. Состав системы GPSS World
1. Язык для описания моделей икомандный язык для связи пользователя и
моделирующей программы
2. Транслятор, состоящий из синтаксического
анализатора интерпретирующего типа и
препроцессора, формирующего результаты
моделирования
3. Монитор – управляющая программа,
выполняющая построчный анализ программы –
модели и исполнение каждой строки программы
2
3.
Классификация абстрактныхобъектов системы GPSS
Тип объекта
Состав
Отображение
Динамический
Транзакт и блоки
управления его
движением
Время моделирования
С1 , М1, MP1
Статический
Устройство
Накопитель
Переключатель
Состояние объекта:
Занят, свободен
Частично занят
Вычислительный
Переменные
Значения атрибутов
Функции Генераторы объектов
случайных чисел
Информационный
Таблицы, Списки,
Очереди, Графики
Вывод в файл
результатов в формате
системы
3
4. Формат блоков модели
Количество и синтаксис операндов задается конкретнымблоком модели
[<Номер строки ] [<Метка>]<Операция> [<Операнды>]
[; <Комментарий>]
Блок создания транзактов
GENERATE A [, B] [, C] [, D] [, E]
55
Generate 10,5,50
Начало работы
0 10
50
tмод
67
[10,5]
[10±5]
Блок уничтожения транзактов
TERMINATE [A]
Блок начала моделирования
START A [, B] [, C] [,D]
START 1,,,1
4
5.
Механизм создания транзактовФормат блока:
GENETATE A[, B][ , C][,D][, E]
A - Математическое ожидание времени появления транзакта
B – Отклонение от среднего значения
C - Смещение времени появления транзактов
D – Число генерируемых транзактов
E - Приоритет транзакта
Generate
Время появления
транзакта
50,20,30
Generate
100
Generate
45,15,100
30
90 125
t
100
0
t
100 140
170
6. Формат блоков модели
Количество и синтаксис операндов задается конкретнымблоком модели
[<Номер строки ] [<Метка>]<Операция> [<Операнды>]
[; <Комментарий>]
Блок создания транзактов
GENERATE A [, B] [, C] [, D] [, E]
55
Generate 10,5,50
Начало работы
0 10
50
tмод
67
[10,5]
[10±5]
Блок уничтожения транзактов
TERMINATE [A]
Блок начала моделирования
START A [, B] [, C] [,D]
START 1,,,1
6
7. Механизмы уничтожения транзактов
1.Каждый транзакт, отработавший в модели,
должен быть уничтожен:
Generate 30,10,70
………………….
70 +(30 ±10)
Terminate 1
2.
70
100
t
140
Время работы модели всегда ограничено
Счетчик завершений – это параметр A команды
START A:
Generate 30,10,70
…………….
Generate 30,10,70
Terminate
…………….
Generate 1000
Terminate 1
Terminate 1
……………..
START 1
Start 100
Прекращение моделирования при А≤0
Пример_1.doc
7
8. Атрибуты транзактов
C1Текущее значение условного
модельного времени
М1
AC1
PR
Pj
MPj
XN1
MBj
Время жизни транзакта C1 - Tвхода
Абсолютное модельное время
Приоритет транзакта - [ 0 - 127 ]
J- ый параметр транзакта
Смещение от текущего времени
Номер транзакта
Признак сихронизации (при работе с блоком
Match)
CC
CM
CA
Количество транзактов в списке пользователя
Максимальное число транзактов в списке пользователя
Среднее число транзактов в списке пользователя
8
9.
Блоки для сбора статистики процесса моделированияИспользование параметров транзакта
Сохраняемое значение
параметра транзакта
в переменной типа
savevalue
Сохранение параметров модели
<Метка> SAVEVALUE <имя переменной >, <константа >
Out1 SaveValue
Per1, P1; – содержимое P1 засылаем в Per1
SaveValue
Per2-, 1; - из Per2 вычитаем единицу
SaveValue Per3+, P5; - увеличиваем Per3 на содержимое P5
Assign
4, x$Per1
Установка начального значения сохраняемой переменной
Initial – блок задания начального значения.
Initial X1, 100 / X$Per 3, 0 / X$ADDR, 128 / X$Prior, X1 –
переменная номер один получила значение сто.
9
10.
Информационные объекты моделиПеременные. Операции.
<Имя> VARIABLE <Выражение арифметическое>
<Имя> BVARIABLE<Выражение логическое>
<Имя> FVARIABLE <Выражение арифметическое>
Операции:
^
- Возведение в степень
#, /, \
- Умножение, деление, целое деление
@
- Остаток от деления
-, +
- Вычитание, сложение
Связанные блоки:
>=,<=, >, < - Сравнение
INITIAL
=, !=
- Равно, не равно
EQU
$
-Логическое «И»
|
- Логическое «ИЛИ»
T1 Equ 20
Запись выражений:
Per1 variable p8/3#5
Per2 Fvariable v$P1@3
10
11.
Изменение параметров транзактаБлок ASSIGN A, B [,C]
Операнд А – номер параметра транзакта, имя, целое число,
выражение, СчА
Операнд B – изменение параметра
Операнд C – модификатор функции. Значение операнда B
умножается на значение модификатора функции и заносится
в операнд A
ASSIGN 2, 40
ASSIGN 4+, Q8
ASSIGN Prm, 10,(Exponential(2,0,40)+34.5)
ASSIGN 5,2,Fn$Fexp
Любому активному транзакту можно изменить значения
параметров. Эти значения будут передаваться блокам
модели, пока транзакт не будет уничтожен.