Тема 2. Языки имитационного моделирования

Языки имитационного моделирования предназначены для разработки соответствующего программного обеспечения, которое может быть использовано для создания множества приложений имитационного моделирования. В некотором смысле эти языки сопоставимы с FORTRAN, C++, Visual Basic или Java, но они также включают определенные функции, облегчающие процесс имитационного моделирования. Некоторые примеры современных языков моделирования: GPSS / H, GPSS / PC, SLX и SIMSCRIPT III. Языки моделирования существуют для дискретной, непрерывной и агентной парадигм имитационного моделирования.

Функции языка ИМ

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

1) симулятор часов или механизм для продвижения моделируемого времени;

2) методы планирования событий;

3) инструменты сбора и анализа статистики использования различных ресурсов и объектов;

4) методы представления ограниченных ресурсов;

5) инструменты для представления результатов;

6) средства отладки и обнаружения ошибок;

7) генераторы случайных чисел и связанные с ними наборы инструментов;

8) общие рамки для создания модели.

Сравнение языков ИМ с традиционными языками программирования

Хотя уже многие имитационные модели разработаны с использованием специальных языков моделирования, некоторые аналитики по-прежнему предпочитают полагаться на традиционные языки программирования для разработки подобных моделей. В других случаях разрабатывают специальные расширения для добавления возможностей традиционному языку программирования. Например, Repast Simphony является бесплатным и открытым источником, агентно-ориентированным инструментарием моделирования, который добавляет функции к языку Java, чтобы упростить создание и использование имитационной модели.

Мотивы использования языка программирования общего назначения следующие:

– знания и навыки программиста: разработчики уже знают язык программирования общего назначения. У них может не быть времени или желания изучать специальный язык имитационного моделирования;

– гибкость: языки программирования по своей сути являются более гибкими, предоставляя аналитику свободу создавать модель с использованием предпочтительной методологии;

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

– совместимость с «железом»: программное обеспечение общего назначения может быть доступно на любой аппаратной платформе, в то время как для некоторых языков имитационного моделирования могут потребоваться специальные компьютеры и конфигурации памяти;

– недостаток знаний аналитиков. Аналитик может не знать и не понимать язык имитационного моделирования, и может не иметь знаний о его преимуществах;

– обучение. Курсы по использованию традиционных языков программирования, как правило, более доступны, чем обучение специальным языкам имитационного моделирования.