В процессе построения имитационной модели мы выделяли три уровня ее представления: концептуальную модель, формализованное или алгоритмическое описание, программу-имитатор.
Формальное или концептуальное описание модели, преобразуется в программу-имитатор в соответствии с технологией программирования. В принципе, имитационную модель можно реализовать на любом универсальном языке моделирования. Однако для облегчения написания и работы с программой-имитатором созданы специальные системы автоматизации моделирования.
Языки и системы моделирования упрощают построение программ-имитаторов и проведение имитационных экспериментов за счет частичной или полной автоматизации переходов от одного уровня представления модели к другому. В этом состоит основное назначение языков моделирования, именно здесь и проявляется их главное преимущество перед универсальными алгоритмическими языками.
Общепризнанными являются следующие преимущества языков и систем моделирования по сравнению с универсальными языками и системами программирования:
|
|
Концептуальная выразительность. Языки моделирования обеспечивают более строгое следование выбранной концепции построения модели.
Язык моделирования содержит абстрактные конструкции, непосредственно отражающие понятия, в которых представлена формализованная модель, или близкие концептуальному уровню описания моделируемой системы, с помощью которых четко классифицируют элементы моделируемой системы, элементы различных классов различают по характеристикам и свойствам, описываются связи между элементами системы и внешней среды, позволяющие изменять структуру модели.
Это упрощает программирование программы-имитатора, позволяет автоматизировать выявление, диагностику ошибок в программах;
Автоматизация стандартных функций моделирования (функций управляющей программы):
реализация механизма модельного времени — системы моделирования имеют эффективный встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.),
средства разрешения временных узлов;
языки моделирования, как правило, содержат встроенные датчики случайных чисел, генераторы случайных чисел и других типовых воздействий;
в языках моделирования автоматизирован сбор стандартной статистики и других результатов моделирования. Имеются средства
автоматизации выдачи этих результатов в табличной или графической форме;
управление процессом моделирования (анализ ошибочных ситуаций и т.д.) языки моделирования имеют средства, упрощающие программирование имитационных экспериментов (в частности, автоматизирующие установку начального состояния и перезапуск модели.) и другие интерактивные и технологические возможности, используемые при проведении имитационных исследований;
|
|
и др.
Вместе с тем пользователи нередко отмечают такие недостатки языков и систем моделирования, как недостаточная распространенность языков и систем моделирования, необходимость дополнительного обучения языкам и систем моделирования и, как следствие, недостаток программистов, хорошо владеющих современными языками и системами моделирования; слабые технологические возможности некоторых систем моделирования; высокая стоимость систем моделирования; отсутствие гибкости и широких возможностей, присущих универсальным языкам программирования.
Множество языков моделирования можно разделить на две группы:
1) методо-ориентированные языки моделирования, поддерживающие определенный класс формализованных или алгоритмических описаний;
2) проблемно-ориентированные языки моделирования — языки моделирования конечного пользователя, позволяющие формулировать задачи моделирования непосредственно на концептуальном уровне. Связь с пользователем в такой системе моделирования на уровне программного интерфейса осуществляется через набор понятий непосредственно из предметной области исследований. Для этого в проблемно-ориентированные системы моделирования включаются абстрактные элементы, языковые конструкции и наборы понятий, взятые непосредственно из предметной области исследований. Примерами таких решений могут служить системы моделирования:
Simulap, Simflex — управление материальными потоками в производственной системе;
MAST- моделирование гибких производственных систем (применяется блочная концепция структуризации);
TOMAS —технологическая подготовка производственных систем (используемые формальные схемы -автоматы);
SIRE —календарное планирование производственных процессов (сети с очередями);
COMNET -телекоммуникации;
MEDMODEL медицинское обслуживание.
За годы становления технологии имитационного моделирования наблюдалось большое разнообразие специализированных языков моделирования. В известном в 80-е годы обзоре Киндлера [19] упоминалось более 500 языков и систем моделирования.
Рост числа языков моделирования свидетельствует о необходимости использования средств автоматизации моделирования. Вместе с тем разнообразие языков моделирования обусловлено следующими факторами: существует большое число схем формализации и алгоритмизации моделируемых систем: агрегаты, сети, автоматы, процессы, системы массового обслуживания, дифференциальные уравнения, аналоговые блок-схемы, графы связей и др. Любая из этих схем может служить основой для разработки нового языка моделирования. Еще большее разнообразие возможно на уровне концептуальных моделей. Все это -существенный стимул для появления новых языков.
Далее рассматриваются только методо-ориентированные языки и системы, которые для краткости называются просто языками и системами моделирования.
Язык моделирования предоставляется пользователем как часть системы моделирования. Система моделирования - это совокупность языковых и программных средств, которая включает:
собственно язык моделирования;
язык управления системой моделирования -язык команд интерактивного взаимодействия с пользователем;
управляющая программа– программные средства, обеспечивающие трансляцию модели и другие стандартные функции системы моделирования (продвижение модельного времени, генерацию случайных чисел, сбор статистической информации, вывод результатов и т. д.).
Системы моделирования проблемно-ориентированные включают также средства разработки языков конечного пользователя.
|
|
Среди большого числа языков моделирования довольно сложно выделить какое-то базовое подмножество языков, покрывающих основные потребности пользователей в средствах автоматизации моделирования. На практике существует проблема выбора системы моделирования, подходящей для поставленной задачи. С этой целью, в дальнейшем рассмотрим основные характеристики систем моделирования.