Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к ГЭК 55-60.docx
Скачиваний:
39
Добавлен:
11.12.2015
Размер:
73.56 Кб
Скачать

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

Языком программирования называют набор (систему) символов, распознаваемых ЭВМ и обозначающих операции, которые можно реализовать на ЭВМ.

Выделяют машинно-ориентированные, проблемно (процедурно)-ориентированные и объектно-ориентированные языки.

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

Процедурно-ориентированные языки не связаны ни с какой ЭВМ и предназначены для определенного класса задач, включают в себя инструкции, удобные для формулировки способов решения типичных задач этого класса. 

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

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

В настоящее время сложилась ситуация, когда не следует противопоставлять языки общего назначения (ЯОН) и языки имитационного моделирования (ЯИМ). 

Некоторые ЯИМ базируются на конструкциях ЯОН: например, FORSIM — на языке FORTRAN, ПЛИС — на языке PL и т.д. 

Преимущества языков имитационного моделирования (ЯИМ) по сравнению с универсальными языками общего назначения (ЯОН) следующие: 1) язык моделирования содержит абстрактные конструкции, непосредственно отражающие понятия, в которых представлена формализованная модель, и близкие концептуальному уровню описания моделируемой системы. Это упрощает программирование имитатора, позволяет автоматизировать выявление многих ошибок в программах; 2) языки моделирования имеют эффективный встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.), средства разрешения временных узлов; 3) языки моделирования, как правило, содержат встроенные датчики случайных чисел, генераторы других типовых воздействий; 4) в языках моделирования автоматизирован сбор стандартной статистики и других результатов моделирования, имеются средства автоматизации выдачи этих результатов в табличной или графической форме; 5) языки моделирования имеют средства, упрощающие программирование имитационных экспериментов, в частности, автоматизирующие установку начального состояния и перезапуск модели. Недостатки языков имитационного моделирования: 1) используются только стандартные формы вывода результатов моделирования; 2) недостаточная распространенность языков моделирования, которые, как правило, не входят в штатное программное обеспечение операционных систем; 3) необходимость дополнительного обучения языкам моделирования и, как следствие, недостаток программистов, хорошо владеющих языками моделирования; 4) отсутствие гибкости и широких возможностей, присущих универсальным языкам программирования.

Архитектуру ЯИМ, т.е. концепцию взаимосвязей элементов языка как сложной системы, и технологию перехода от системы S к ее машинной модели ММ можно представить следующим образом:

  1. объекты моделирования (системы S) описываются (отображаются в языке) с помощью некоторых атрибутов языка;

  2. атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе S;

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

  4. условия влияют на события, имеющие место внутри объекта моделирования (системы S) и при взаимодействии с внешней средой Е;

  5. события изменяют состояния модели системы М в пространстве и во времени. 

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

  1. Универсальные алгоритмические языки высокого уровня.

  2. Специализированные языки моделирования: языки, реализующие событийный подход, подход сканирования активностей, языки, реализующие процессно-ориентированный подход.

  3. Проблемно-ориентированные языки и системы моделирования.

Качество языков моделирования характеризуется:

  1. Удобство описания процесса функционирования;

  2. Удобство ввода исходных данных, варьирования структуры, алгоритмов работы и параметров модели;

  3. Эффективностью анализа и вывода результатов моделирования;

  4. Простотой отладки и контроля работы моделирующей программы;

  5. Доступностью восприятия и использования языка.

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

Основа классификации – принцип формирования системного времени.

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

GASP – комбинированный, в основе лежит язык FORTRAN. Предполагается, что в системе могут наступать события двух типов:

 события, зависящие от состояния

 события, зависящие от времени

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

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