АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИССЛЕДОВАНИЯ СЛОЖНЫХ ДИСКРЕТНЫХ УСТРОЙСТВ
Для создания моделей широко используются языки моделирования. Высокий уровень языка моделирования (ЯМ) значительно упрощает программирование моделей. Основными моментами при выборе ЯМ является:
-
проблемная ориентация;
-
возможности сбора, обработки, вывода результатов;
-
быстродействие;
-
простота отладки;
-
доступность восприятия.
Этими свойствами обладают процедурные языки высокого уровня. Для моделирования могут быть использованы языки имитационного моделирования (ЯИМ) и общего назначения (ЯОМ).
Более удобными являются ЯИМ. Они обеспечивают:
-
удобство программирования модели системы;
-
проблемная ориентация.
Недостатки ЯИМ:
-
неэффективность рабочих программ;
-
сложность отладки;
-
недостаток документации.
Основные функции языка программирования:
-
управление процессами (согласование системного и машинного времени);
-
управление ресурсами (выбор и распределение ограниченных средств описываемой системы).
Как специализированные языки, ЯИМ обладают некоторыми программными свойствами и понятиями, которые не встречаются в ЯОН. К ним относятся:
Совмещение. Параллельно протекающие в реальных системах S процессы представляются с помощью последовательно работающей ЭВМ. ЯИМ позволяют обойти эту трудность путём введения понятий системного времени.
Размер. ЯИМ используют динамическое распределение памяти (компоненты модели системы М появляются в ОЗУ и исчезают в зависимости от текущего состояния. Эффективность моделирования достигается так же использованием блочных конструкций: блоков, подблоков и т.д.
Изменения. ЯИМ предусматривают обработку списков, отражающих изменения состояний процесса функционирования моделируемой системы на системном уровне.
Взаимосвязь. Для отражения большого количества между компонентами модели в статике и динамике ЯИМ включаем системно организованные логические возможности и реализации теории множеств.
Стохастичность. ЯИМ используют специальные программные генерации последовательностей случайных чисел, программы преобразования в соответствующие законы распределения.
Анализ. ЯИМ предусматривают системные способы статистической обработки и анализа результатов моделирования.
Наиболее известными языками моделирования являются SIMULA, SIMSCRIPT, GPSS, SOL, CSL.
Для языков, используемых в задачах моделирования, можно составить классификацию следующего вида. (см. рис. 2.9.)
Рис. 2.9 Классификация языков моделирования.
SIMSCRIPT - язык событий, созданный на базе языка FORNRAN. Каждая модель Mj состоит из элементов, с которыми происходят события, представляющие собой последовательность формул, изменяющих состояние моделируемой системы с течением времени. Работа со списками, определяемые пользователем, последовательность событий в системном времени, работа с множествами.
FORSIM - пакет ПП на языке FORNRAN позволяет оперировать только фиксированными массивами данных, описывающих объекты моделируемой системы. Удобен для описания систем с большим числом разнообразных ресурсов.
SIMULA - расширение языка ALGOL. Блочное представление моделируемой системы. Функционирование процесса разбивается на этапы, происходящие в системном времени. Главная роль в языке SIMULA отводится понятию параллельного оперирования с процессами в системном времени, универсальной обработки списков с процессами в роли компонент.
GPSS - интегрирующая языковая система, применяющаяся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. Транзакты "создаются" и "уничтожаются". Функцию каждого из них можно представить как движение через модель М с поочерёдным воздействием на её блоки. Функциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что делать дальше. Данные для ЭВМ подготавливаются в виде пакета управляющих и определяющих карт, которым составляется по схеме модели, набранной из стандартных символов. Созданная программа GPSS, работая в режиме интерпретации, генерирует и передаёт транзакты из блока в блок. Каждый переход транзакта приписывается к определенному моменту системного времени.
К сожалению, ни один из вышеперечисленных языков моделирования не поддерживает сети Петри напрямую, а значит их использование для создания имитационных моделей сложных дискретных устройств формализованных в виде сети Петри не представляется возможным. Тем не менее, существуют отдельные программные продукты, работающие с сетями Петри. Рассмотрим некоторые из них.
1.1Обзор программных средств для работы с сетями Петри.
Название
|
Достоинства
|
Недостатки
|
Petri NetWork 2.0
|
Позволяет анализировать широкий спектр свойств построенной сети Петри.
|
Неудобный редактор, невозможность запуска процесса моделирования.
|
Сети Петри 2.2 от NU Software
|
Позволяет строить сети Петри на основании кода прикладных программ для последующей их оптимизации.
|
Узкоспециализированный продукт без справочной системы.
|
Visual Petri.
|
Удобный графический интерфейс. Возможен запуск процесса моделирования.
|
Не поддерживает цветные сети Петри. Не позволяет замерять характеристики процесса моделирования, что ограничивает возможности анализа сети.
|
HPSim
|
Удобный и мощный редактор с анимацией моделируемой сети.
|
Не поддерживает цветные сети Петри. Иностранный продукт.
|
Как видно из таблицы все эти средства обладают определенными недостатками, поэтому было решено разработать новый программный продукт, позволяющий создавать и редактировать сети Петри, а также проводить моделирование в этих сетях.