- •Содержание
- •3 Имитационная модель на языке gpss
- •3.1 Описание системы моделирования gpss
- •3.2 Описание модели на gpss
- •3.3 Результаты вычислительных экспериментов
- •4 Моделирование в системе AnyLogic
- •4.1 Описание среды разработки AnyLogic
- •4.2 Создание модели в AnyLogic
- •4.3 Результаты вычислительных экспериментов
- •Список использованных источников
3 Имитационная модель на языке gpss
3.1 Описание системы моделирования gpss
Система моделирования GPSS World имеет боле 70 типов блоков и команд, около 50 системных параметров.
В процессе прогона имитационной модели обеспечивается возможность постоянного наблюдения в шести интерактивных графических окнах (машинная манипуляция, работа одноканальных и многоканальных устройств, функционирование блоков, отображение таблиц и матриц).
Система выдает отчет о результатах моделирования, содержащий широкий спектр параметров блоков, устройств, очередей, таблиц, пользовательских списков.
Язык GPSS ориентирован на класс систем, процесс функционирования которых можно представить в виде дискретного множества состояний и правил перехода из одного состояния в другое во времени. Примерами таких систем являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины и т.д. В качестве концептуальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети и т.п.
В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, ячейки, функции, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Под объектом понимается образ, объединяющий некоторую структуру данных и правила преобразования этих данных. Стандартные числовые атрибуты – часть данных, доступных программисту.
Язык GPSS хорошо согласуется с удобным описанием модели системы в форме Q - схемы.
3.2 Описание модели на gpss
Здесь представлена модель, созданная в среде GPSS World. Листинг программы представлен ниже:
Buf Storage 3
Generate 15,7
Assign 1, 1 ;P1=1 № линии 1
Transfer , inp
;======================================
Generate 15, 7
Assign 1, 2 ;P1=2 № линии 2
;======================================
inp Gate SNF Buf, otkaz
Enter Buf
QUEUE Bufinp
Seize Proc
Depart Bufinp
Advance 7
Release Proc
;======================================
TEST E P1,1,nal2
QUEUE Buf11
SEIZE Line1
ADVANCE 15,5
DEPART Buf1
RELEASE Line1
TERMINATE 1
;======================================
nal2 QUEUE Buf2
SEIZE Line2
ADVANCE 15,5
DEPART Buf
RELEASE Line2
TERMINATE 1
Start 1000
otkaz savevalue otk+, 1
savevalue potk, v1
1 variable x$otk/n$inp
terminate 1
Операторы GPSS, использованные в модели, представлены в таблице 1.
Таблица 1
Код и назначение |
Содержание операнда |
1 |
2 |
GENERATE (создание транзактов) |
Интервал поступления транзактов. Модификатор-интервал или модификатор-функция. Время задержки первого транзакта . Количество создаваемых транзактов. |
STORAGE (хранилище или память) |
Название STORAGE становится понятным, если представить себе, что МКУ это автоматизированный склад или многоэтажный гараж с определенным числом мест, которое и задает этот оператор. В таких случаях МКУ определяет не количество одинаковых устройств для обслуживания, а количество одинаковых мест для хранения. |
QTABLE (peгиcтpaция cтaтиcтики для тpaнзaктoв, вxoдящиx в блoки QUEUE и DEPART) |
NAME QTABLE A, B, C, D NAME – мeткa oбъeктa. A - имя oчepeди. В - вepxний пpeдeл пepвoгo чacтoтнoгo клacca. C – рaзмep чacтoтныx клaccoв. D – кoличecтвo чacтoтныx клaccoв. |
QUEUE (регистрация входа в очередь) |
Номер (имя) очереди. Число единиц, на которое увеличивается длина очереди. |
1 |
2 |
ENTER (занятие многоканального устройства) |
Номер (имя) многоканального устройства. Число единиц, занимаемых транзактом. |
ADVANCE (задержка транзакта) |
Среднее время. Модификатор-интервал или модификатор-функция: FNj, FN$<ИМЯ>, FN*j |
DEPART (уменьшение очереди) |
Номер (имя) очереди. Число единиц, на которое уменьшается длина очереди (не превосходит текущей длины очереди). |
TERMINATE (удаление транзактов) |
Число единиц, на которое уменьшается счетчик завершении, задаваемый оператором START. |
RELEASE (освобождение устройства) |
Номер (имя) освобождаемого устройства.
|