Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / MODELIROVANIE_SISTEM_12.docx
Скачиваний:
240
Добавлен:
17.06.2016
Размер:
3.17 Mб
Скачать

Моделирование смо с одним npи6opом и очередью

GENERATE 18, 6 генерирование заявок через интервалы 18±6

QUEUE QPR постановка в очередь, имя которой QPR

SEIZE PR занятие прибора

DEPART QPR уход из очереди

ADVANCE 16,4 обслуживание (задержка на время 16±4)

RELEASE PR освобождение прибора

TERMINATE уход заявки из системы

Второй сегмент: условие остановки

GENERATE 1000 выдача таймером сигнала в момент 1000

TERMINATE 1 завершение реализаций (прогона)

Видно, что это действительно язык моделирования, так как используются характерные для моделирования термины: генерировать, очередь занять, задержать (на время выполнения работы), освободить.

Написать программу моделирования в этих терминах значительно легче, чем составить алгоритм на псевдокоде и потом перевести его на алгоритмический язык. В этом и состоит цель применения языков моделирования. Здесь, в частности, не надо думать ни о календаре, ни о планировании событий, ни о пополнении статистик - обо всем позаботится интерпретатор.

Убедившись на этом примере в полезности применения языков моделирования, перейдем к краткому обзору характерных особенностей наиболее известных языков.

Разработки языков моделирования велась с использованием идей и приемов, содержащихся в универсальных языках программирования: алголе. фортране, Паскале и др. Как правило, в основе языка моделирования лежит какой-то универсальный язык программирования; либо имеется существенное сходство в структуре программы. Язык моделирования представляет собой расширение универсального языка путем добавления специальных средств моделирования, либо на основе универсального языка создан пакет программ для моделирования. В последнем случае не нужен специальный транслятор, можно воспользоваться транслятором универсального языка.

В основе каждого языка лежит одна из схем построения моделирующего алгоритма: схема событий, схема процессов. GPSS по этому признаку надо считать языком процессов. Но его называют также языком транзактов, так как в нем понятие транзакта играет существенную роль.

Транзакт- это временный объект, который появляется в системе, продвигается в ней и покидает систему. Само слово транзакт ассоциируется с пассивным объектом, которого кто-то ведет (transact - вести). Активность – это постоянно присутствующий в системе объект, который занимается передвижением транзактов Активность принимает транзакт на некоторое время, а потом передает его другой активности. Примеры транзактов: заявки, детали, покупатели. Примеры активностей: приборы, ячейки буфера; станки, склады; кассиры, продавцы.

Применительно к программе моделирования транзакты и активности

– это некоторые структуры данных, содержимое которых меняется, моделируя передвижение транзактов. Информация, содержащаяся в атрибутах транзактов и активностей, зачастую дублируется. Например, момент перехода заявки из буфера в прибор может быть записан и в транзакте, описывающем заявку, и в активности, описывающей буфер, и в активности, описывающей прибор. В некоторых языках моделирования используется структуры данных только одного вида: либо транзакты, либо активности. Чаще используются оба вида, но какой-то является ведущим. По этому признаку подробная классификация языков моделирования приведена Е. Киндлером.

Разработки языков моделирования велись в направлении устранения неудобств и предоставления пользователю все более универсальных средств для составления программ. Это привело фактически к слиянию универсальных языков с языками моделирования. Уже язык SIMULA-67 (Норвегия,1968) в дополнении к средствам языка ALGOL-60 содержит удобный аппарат описания новых понятий, средства обработки текстовой информации, стандартные средства ввода-вывода, средства для организации квазипараллельного исполнения компонентов программы. SIMULA-67 позволяет создать специализированный язык моделирования и пакет прикладных программ для конкретной предметной области с использованием терминов из этой области. Это значительно облегчает специалистам разных областей использование моделирования на ЭВМ для решения своих проблем.

Многие из языков моделирования позволяют в рамках одной программы моделировать системы, в которых взаимодействуют дискретные и непрерывные процессы. К таким языкам относятся НЕДИС, GASP IV, СИМФОР, СЛАМ II и др.

Опыт многочисленных отечественных и зарубежных разработок в имитационном моделировании систем массового обслуживания показывает, что на языках высокого уровня типа: C, C++, Pascal и других можно с успехом решать эти задачи. В последний период наряду с развитием мощных средств объектно-ориентированного программирования в этих языках получили развитие и визуальные среды разработки типа: Borland C++ Builder, Visual C++, Delphi и др., которые позволяют достаточно быстро и качественно выполнить все необходимые операции по имитационному моделированию.

В эпоху персональных компьютеров разработаны программные средства, объединяющие идеологию моделирования (как правило, по схеме процессов) с богатыми возможностями персональных компьютеров по обеспечению сервиса. Обычно это - мощные инструментальные программные системы, совместимые с такими распространёнными языками как:MODUL-2, ТURBO-C, TURBO-C++.

122