ИНТЕРАКТИВНАЯ СИСТЕМА ИМИТАЦИОННОГО
МОДЕЛИРОВАНИЯ ISS 2000

В. Н. Томашевский, Н. В. Богушевская (Киев)
 

Введение

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

-        как быстро и правильно построить имитационную модель;

-        как получить результаты моделирования с необходимой точностью.

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

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

Так как имитационная модель, учитывающая случайные факторы, позволяет только оценить численно значения критериев ее работы, то необходимо соответствующим образом организовывать эксперименты с ней, чтобы получить требуемые оценки с заданной точностью. Современные средства имитационного моделирования позволяют не только автоматизировать создание моделей, но и организуют эксперименты с ними. Однако оценка точности результатов моделирования была и остается ключевым моментом в организации моделирования, так как не существует универсального подхода к решению проблемы точности для любых имитационных моделей.

1. Постановка проблемы

Анализ современных подходов к созданию CASE-средств моделирования позволяет выделить два перспективных подхода для создания имитационных систем:

-        использование визуального объектно-ориентированного проектирования на базе универсального языка моделирования UML [1];

-        использование лингвистических процессоров [2].

Первый подход широко используется для преодоления типичных организационных трудностей, возникающих перед командами разработчиков, группами поддержки качества и менеджерами, участвующими в создании сложного программного обеспечения. Однако формализация процесса разработки программного кода с использованием UML была переадресована разработчикам технологий CASE-средств. Учитывая то, что процесс разработки имитационного проекта является итерационным и диалоговым, то существует семантический разрыв над контролем целостности информации в моделях, более того отсутствуют связи между диаграммами и конкретным кодом имитационной программы.

Ориентация UML на объектно-ориентируемые языки не позволяет использовать его для языков декларативного типа, например, такого как GPSS. Для того чтобы воспользоваться всеми преимуществами этого подхода для языка GPSS, надо иметь объектно-ориентированный транслятор для GPSS. Язык SLX [3], который объявлен, как объектно-ориентируемый GPSS, по сути является объектно-ориентируемой надстройкой языка С++ над GPSS и не решает проблему полностью.

Второй подход гораздо проще для реализации и показал свою эффективность при создании системы моделирования ИСИМ [4]. Его реализация требует создания лингвистического процессора (ЛП). Основное назначение ЛП состоит в том, чтобы он, путем интерактивного взаимодействия с пользователем на некотором языке , должен построить подмножества таких высказываний  из некоторого множества , что только высказывание  всегда истинны. Таким образом, ЛП задается структурой вида:

ЛП ,

где  – множество, определяющее некоторую теорию относительно высказываний . С прагматической точки зрения – определяет все возможные ответы на вопросы из меню, которые образуют язык . Подмножество  определяет только те ответы, по которым алгоритм работы ЛП, определяющий теорию , строит семантически и синтаксически правильные операторы GPSS программ.

Язык  представляет собой систему меню для пользователя, множество  соответствует дереву альтернативных вариантов построения подмодели, а подмножество высказываний  определяет параметрические настроенные подмодели для конкретной реализации ИМ. Формальные схемы реализации ЛП приведены в работе [4].

2. Особенности реализации

Технология создания CASE-средств имитационного моделирования требует:

-        выбора правильного конструктивного множества элементов;

-        разработку средств спецификации, выбора и настройки элементов;

-        наличие средств конструирования модели из выбранных элементов.

Правильный выбор конструктивного первоначального множества элементов определяет класс моделей, которые могут быть смоделированы с помощью данных средств. Для того, чтобы покрыть более широкий класс моделей, необходимо выбирать множество как можно ближе к языковым средствам моделирования. Более того, выбираемый язык моделирования должен быть декларативного типа, чтобы облегчить разработку интерфейса между создаваемым программным генератором и выбранным языком за счет унификации построения и обращения к языковым средствам, заложенным в самом языке.

Структура имитационной модели представляется в виде графа стохастической сети с дальнейшим преобразованием в модель процесса. Система имеет возможность агрегированного описания концептуальной и имитационной модели за счёт выделения классов объектов и их параметрической настройки на конкретную реализацию модели. В качестве языка моделирования был выбран язык декларативного типа GPSS, реализованный для всех поколений ЭВМ и прошедший проверку временем.

Основными элементами системы являются:

·        язык интерактивного проектирования моделей (система меню);

·        система параметрической настройки моделей;

·        подсистема работы со стандартными и пользовательскими функциями распределений;

·        лингвистический процессор;

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

В процессе автоматизированного проектирования имитационной модели реализуется заданная стохастическая сеть СМО и определяются характеристики и параметры для каждой вершины сети; задаются параметры для имитационного эксперимента. Совокупность реализаций параметрической настройки для всех подмоделей системы определяет необходимую информацию для конкретной модели в среде GPSS. Лингвистический процессор отражает совокупность подмоделей в конкретную GPSS-модель
для дальнейшего проведения имитационного эксперимента и представляет собой
CASE средство, преобразующее язык интерактивного проектирования модели в GPSS-модель.

Проблемы возникают при отображении в графическом виде маршрутов движения заявок, когда маршрут определяется типом заявки (например, разный тип заготовки обрабатывается в соответствии со своей технологической картой). Поэтому введено понятие виртуальной сети [5], что упрощает работу с разными типами заявок, имеющие свои собственные маршруты движения по узлам сети массового обслуживания.

Виртуальная стохастическая сеть представляет собой систему массового обслуживания с переменной структурой связей устройств обслуживания. Такая сеть даёт возможность представления в сети маршрутов движения заявок разного типа, и может применяться для моделирования сборочного производства или транспортных систем разного типа (например, доставки продуктов или перевозки людей). Для ее реализации в ISS 2000 вводится элемент маршрутизатор для узла стохастической сети СМО. Реализуется маршрутизатор с использованием средств косвенной адресации языка GPSS и функций, которые задают маршруты движения заявок по узлам сети и времена обработки. Пример реализации программы, использующей такой подход, приведен в главе 10 [6].

На рис. 1 представлена замкнутая сеть систем массового обслуживания в среде ISS 2000, состоящая из генератора заявок, трёх многоканальных устройств и одного одноканального. Для каждого устройства заданы основные характеристики, такие как закон обслуживания и его параметры, приоритет обслуживания и другие.

 

  Рис. 1. Пример проектирования модели

  После задания структуры модели и создания имитационной программы на языке GPSS (создания проекта) и запуска эксперимента, ISS 2000 предоставляет возможность просмотра статистических данных из стандартного отчета GPSS, таких как коэффициенты загрузки устройств, гистограммы времени пребывания заявок в системе и других (рис. 2).

Данная версия программы ISS 2000 отличается от версии, описанной в работе [6]. Изменена инструментальная панель, добавлены два новых объекта – маршрутизатор и виртуальная сеть.

Рис. 2. Гистограмма распределения времени пребывания

  Заключение

Программы моделирования сложно написать и отладить. Для гарантии правильности и проверки корректности имитационной модели необходимы знания в области систем, методологии моделирования и языков программирования. Практически, анализ численных результатов моделирования может привести к необходимости сделать некоторые изменения в абстрактной модели, и весь процесс затем может быть повторен. Все эти причины указывают на актуальность разработки CASE-средств для имитационного моделирования и оправдывают усилия, затрачиваемые на разработку методов, реализованных в ISS 2000, которые облегчают процесс моделирования и экспериментирования путем автоматизации некоторых задач в общей технологии имитационного моделирования. Система ISS 2000 реализована средствами Delphi.

Литература

1.      Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с анл. – М.: ДМК Пресс, 2001. – 432 с.

2.      Томашевский В.Н., Павлишин В.А. Формальный метод проектирования программного генератора имитационных моделей//Труды первой международной конференции по программированию, «УкрПРОГ 98», Киев, 1998. – С. 563-571.

3.      Henriksen, J. O. 1997. An introduction to SLX. In Proceedings of the 1997 Winter Simulation Conference, ed. S. Andradóttir, K. Healy, D. Withers, and B. Nelson, Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, 1997, pp. 559-566.

4.      Tomashevskiy V. Automatic generating of GPSS/PC programs. Proceedings 15th European Simulation Multiconference, Prague, 2001, pp. 805-809.

5.      Valentin Tomashevskiy, Anatoliy Verlan, Oleksiy Oletskiy. The Generator of Simulation Models for Distributed Virtual Transportation Networks of Delivery/9th International Multi-Conference Advanced Computer Systems ACS'202 – Part II – Szececin – Poland: Faculty of computer science & information systems, Technical University of Czcecin, 2002 , pp. 419-424.

6.      Томашевский В.Н., Жданова Е.Г. Имитационное моделирование в среде GPSS. – М.: Бестселлер, 2003, – 416 с.