Экзамен по моделированию. 7 семестр, ИТ МИРЭА вики
Advertisement

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

Выделяют

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

Особенности языков моделирования[]

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

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

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

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

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

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

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

  2. языки моделирования имеют эффективный встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.), средства разрешения временных узлов;

  3. языки моделирования, как правило, содержат встроенные датчики случайных чисел, генераторы других типовых воздействий;

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

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

Недостатки языков имитационного моделирования: 

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

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

  1. объекты моделирования (системы S) описываются (отображаются в языке) с помощью некоторых атрибутов языка;
  2. атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе S;
  3. процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействия этих процессов во времени;
  4. условия влияют на события, имеющие место внутри объекта моделирования (системы S) и при взаимодействии с внешней средой Е;
  5. события изменяют состояния модели системы М в пространстве и во времени. 

Типовая схема архитектуры ЯИМ и технология его использова­ния при моделировании систем показана на рисунке ниже.

Image001

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

  1. Удобство описания процесса функционирования;
  2. Удобство ввода исходных данных, варьирования структуры, алгоритмов работы и параметров модели;
  3. Эффективностью анализа и вывода результатов моделирования;
  4. Простотой отладки и контроля работы моделирующей программы;
  5. Доступностью восприятия и использования языка.

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

Классификация языков моделирования[]

Image158

Рис. 2. Классификация языков моделирования

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

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

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

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

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

  • На транзактах. Широко используемый в настоящее время представитель типа – язык GPSS (GPSS WORLD, GPSS/PC). Язык моделирования GPSS специально разработан для построения ИМ сложных дискретных систем и представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственно-временного движения объектов. Такие объекты называются транзактами, которые чаще всего являются элементами потока заявок. Функцию каждого из них можно представить как процесс создания, продвижения по системе и уничтожения. Основными схемами, для имитации которых используется язык GPSS, являются, прежде всего, системы массового обслуживания (Q-схемы), автоматы (F-, Р-схемы), сети Петри (TV-схемы) и даже агрегаты (A-схемы)
  • На процессах. Под процессом понимается последовательность событий, связь между которыми устанавливается логикой определенных отношений. Описание каждого класса процесса оформляется в виде процедуры, которая выполняется одновременно для всех представителей данного класса, существующих в системе в текущее время. Программы имитационных моделей, написанные на языке данной подгруппы, отличаются тем, что имеют ту же структуру, что и моделируемый объект. Примерами языков процессов является язык SIMULA, который породил много последующих разработок, используемых в настоящее время, и язык ПЛИС.
  • На событиях.Эти языки реализуют имитацию путем составления списка, или календаря событий, отличающих моменты окончания выполнения различных функциональных действий. Продвижение времени осуществляется по событиям, а программа модели организована в виде совокупности процедур обслуживания событий. Выполнение этих процедур синхронизируется списковым механизмом планирования (расписания) событий. Классическим представителем данной подгруппы является язык SIMSCRIPT.
Advertisement