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

Обзор языков имитационного моделирования (ЯИМ)

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

1. Возможность моделирования стохастических факторов.

2. Управление модельным временем.

3. Возможность описания сложных динамических процессов, происходящих в реальной системе.

4. Наличие средств управления имитационным экспериментом.

5. Наличие средств для сбора статистики о характеристиках исследуемой системы с последующим статистическим анализом их значений.

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

Универсальные алгоритмические языки Проблемно-ориентированные языки

CSMP Схема Схема Схема

DIHYSYS событий активностей процессов

SIMSCRIPT-II CSL SIMULA

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

В языках моделирования непрерывных процессов для их описания используются дифференциальные уравнения. Изменение состояния системы описывается с помощью переменных состояний и выходных переменных, динамика изменения которых задается уравнениями уровней и скоростей соответственно. Переменные состояний (уровни) описывают состояние системы в данный момент времени. Уравнения скоростей описывают, как изменяется состояние системы за некоторый отрезок времени.

Языки моделирования дискретных процессов реализуют одну из трех основных схем функционирования дискретно-событийных мониторов.

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

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

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

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

В настоящее время существует несколько десятков специализированных систем имитационного моделирования и их число растет. В таблице приведены известные зарубежные системы имитационного моделирования и их краткая характеристика.

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

Оценка адекватности проблемно-ориентированной модели

Исследуемой системе

Объектом исследования в имитационном эксперименте является не сама исследуемая система, а её модель. Результаты, получаемые на модели, переносятся на систему, поэтому необходимо получить результаты, характеризуемые высокой информационной надежностью (достоверностью). Такая достоверность определяется:

1. Вероятностной мерой адекватности модели исследуемой системе (D1).

2. Достоверностью статистического эксперимента с моделью (D2). D2 обеспечивается методами стратегического и тактического планирования эксперимента.

В этом случае технология имитационного эксперимента включает две фазы: специфицирующую (информационную) и вычислительную (статистическую, интерпретирующую). Таким образом, информационная надежность модели D определяется как D=D1*D2.

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

– уровень предметной ориентации ПОЯМ,

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

LПОЯМ – длина программы в условных лингвистических единицах на проблемно-ориентированном языке моделирования,

p – индивидуальная надежность пользователя, т.е. вероятность отсутствия ошибки в одной лингвистической единице описания модели.

Проблемная ориентация ПОЯМ приводит к сокращению описания модели.

Nad
Lпоям (команд)
1
2
4
3
50 100 150 200 250
20 15 10 5

При p=1 Nad=0. При уменьшении p увеличивается Nad. Например, для U=5 и Lпоям=250 при p=0.999 Nad=0.1; при p=0.99 Nad=1; при p=0.9 Nad=10.

С ростом сложности модели, т.е. с увеличением длины модели LПОЯМ и снижением индивидуальной надежности пользователя p повышение уровня предметной ориентации языка имитационного моделирования становится основным средством обеспечения адекватности модели.

Источник

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

Языки моделирования, анализ и интерпретация результатов моделирования на ЭВМ, имитационное моделирование информационных систем и сетей.

Большое значение при реализации модели на ЭВМ имеет вопрос правильного выбора языка программирования.

Язык программирования должен отражать внутреннюю структуру понятий при описании широкого круга понятий. Высокий уровень языка моделирования значительно упрощает программирование моделей. Основными моментами при выборе ЯМ является:

возможности сбора, обработки, вывода результатов;

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

Более удобными являются ЯИМ. Они обеспечивают:

удобство программирования модели системы;

неэффективность рабочих программ;

Основные функции языка программирования:

управление процессами (согласование системного и машинного времени);

управление ресурсами (выбор и распределение ограниченных средств описываемой системы).

Как специализированные языки, ЯИМ обладают некоторыми программными свойствами и понятиями, которые не встречаются в ЯОН. К ним относятся:

Совмещение. Параллельно протекающие в реальных системах S процессы представляются с помощью последовательно работающей ЭВМ. ЯИМ позволяют обойти эту трудность путём введения понятий системного времени.

Размер. ЯИМ используют динамическое распределение памяти (компоненты модели системы М появляются в ОЗУ и исчезают в зависимости от текущего состояния. Эффективность моделирования достигается так же использованием блочных конструкций: блоков, подблоков и т.д.

Изменения. ЯИМ предусматривают обработку списков, отражающих изменения состояний процесса функционирования моделируемой системы на системном уровне.

Взаимосвязь. Для отражения большого количества между компонентами модели в статике и динамике ЯИМ включаем системно организованные логические возможности и реализации теории множеств.

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

Анализ. ЯИМ предусматривают системные способы статистической обработки и анализа результатов моделирования.

Для языков, используемых в задачах моделирования, можно составить классификацию следующего вида. (см. рис. 9.1.)

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

Язык DYNAMO используется для решения разностных уравнений.

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии