1.5.3. Имитационное моделирование
1.5.3. Имитационное моделирование
Имитационное моделирование - это метод, позволяющий строить модели, учитывающие время выполнения функций. Полученную модель можно "проиграть" во -времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. "Проигрывание" модели заключается в последовательном переходе от одного события к другому. Обычно имитационные модели строятся для поиска оптимального решения в условиях ограничения по ресурсам, когда другие математические модели оказываются слишком сложными (рис. 1.56).
Рис. 1.56. Пример имитационной модели
Связь между имитационными моделями и моделями процессов заключается в возможности преобразования модели процессов в неполную имитационную модель. Имитационная модель дает больше информации для анализа системы, в свою очередь результаты такого анализа могут стать причиной модификации модели процессов (рис. 1.57).
Рис. 1.57. Фрагмент диаграммы IDEF3, соответствующий имитационной модели с рис. 1.56
Имитационная модель включает следующие основные элементы:
Источники и цели (Bourses и Destinations). Источники - это элементы, от которых в модель поступает информация или объекты. По смыслу они близки к понятиям "внешняя ссылка" на DFD-диаграМмах или "объект ссылки" на диаграммах IDEF3. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Цель - это устройство для приема информации или объектов.
Очереди (Queues). Понятие очереди близко к понятию хранилища данных на DFD-диаграммах - это место, где объекты ожидают обработки. Времена обработки объектов (производительность) в разных работах могут быть разными (например, "Загрузка из бункера", "Наполнение", "Закупорка", см. рис. 1.56, 1.57). В результате перед некоторыми работами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек - пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (LIFO: last-in-first-out). Альтернативой стеку может быть последовательная обработка, когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (FIFO: first -in-first-out). Могут быть заданы и более сложные алгоритмы обработки очереди.
Оборудование (Facilities). Оборудование - это аналог работ в модели процессов. В имитационной модели может быть задана производительность оборудования.
BPwin не имеет собственных инструментов, позволяющих создавать имитационные модели, однако можно экспортировать модель IDEF3 в специализированное средство создания таких моделей - BPSimulator 3.0 (производитель - Systems Modeling Corporation, http://www.sm.com).
Для экспорта модели в BPSimulator необходимо настроить ODBC-источник и подготовить модель к экспорту. Для подготовки модели необходимо настроить свойства, определяемые пользователем UDP, специально включенные в BPwin для целей экспорта. Соответствующие UDP описаны в файле sinudps.bpl, который находится в директории samples/bpsim и является шаблоном модели, предназначенной для экспорта. Для использования этих свойств необходимо слить словари модели - шаблона sinudps.bpl и текущей модели. Задание соответствующих UDP (диалог IDEF3 Activity Properties, закладка UDP Values, см. рис. 1.58) позволяет автоматически установить значения и свойства объектов имитационной модели в BPSimulator.
Рис. 1.58. Диалог задания свойств, определяемых пользователем для экспорта в BPSimulator
Для экспорта модели IDEF3 в BPSimulator следует выбрать меню File/Export/в BPSimulator. Экспорт осуществляется через файл MS Excel (.xls). Для импорта данных в BPSimulator необходимо открыть новую модель и импортировать соответствующий файл.