Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Основы классификации языков моделирования. Классификация языков для программирования моделей систем приведена на рис. 5.3. Для моделирования систем используются как универсальные и процедурно-ориентированные ЯОН, так и специализированные ЯИМ.

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

Непрерывное представление системы S сводится к составлению дифференциальных уравнений, с помощью которых устанавливается связь между эндогенными и экзогенными переменными модели. Например, это реализовано в языке MIMIC. Когда экзогенные переменные модели принимают дискретные значения, уравнения являются разностными. Такой подход реализован, например, в языке DYNAMO.

Представление системы S в виде типовой схемы, в которой участвуют как непрерывные, так и дискретные величины, называется комбинированным. Примером языка, реализующего комбинированный подход, является GASP. Состояние модели системы описывается набором переменных, часть которых меняется во времени непрерывно. Законы изменения непрерывных компонент заложены в структуру, объединяющую дифференциальные уравнения и условия относительно переменных. Предполагается, что в системе могут наступать события двух типов: 1) события, зависящие от состояния zi, 2) события, зависящие от времени ti. Для событий первого типа процесс моделирования состоит в продвижении системного времени от момента наступления события до следующего аналогичного момента. События второго типа наступают в результате выполнения условий, относящихся к законам изменения непрерывных переменных. События приводят к изменениям состояния модели системы и законов изменения непрерывных компонент.

 

 


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

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

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

1) элементы моделируемой системы S описываются и вводятся с помощью карт определений;

2) вводятся начальные условия;

3) фиксируются и вводятся исходные значения временных параметров;

4) составляются подпрограммы для каждого события;

5) составляется перечень событий и указывается время свершения каждого эндогенного события.

Команды языка SIMSCRIPT группируются следующим образом: операции над временными объектами, арифметические и логические операции и команды управления, команды ввода-вывода, специальные команды обработки результатов. К центральным понятиям языка SIMSCRIPT относятся обработка списков с компонентами, определяемыми пользователем, и последовательность событий в системном времени. При этом имеются специальные языковые средства для работы с множествами.

При использовании ЯИМ второй группы после пересчета системного времени просмотр действий с целью проверки выполнения условий начала или окончания какого-либо действия производится непрерывно. Просмотр действий определяет очередность появления событий. Языки данного типа имеют в своей основе поисковый алгоритм, и динамика системы S описывается в терминах действий. Примером языка действий (работ) является ЯИМ FORSIM, представляющий собой пакет прикладных программ, который позволяет оперировать только фиксированными массивами данных, описывающих объекты моделируемой системы. С его помощью нельзя имитировать системы переменного состава. Язык FORSIM удобен для описания систем с большим числом разнообразных ресурсов, так как он позволяет записывать условия их доступности в компактной форме.

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

В четвертую группу выделены ЯИМ типа GPSS, хотя принципиально их можно отнести к группе языков процессов. Язык GPSS представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. В процессе имитации транзакты «создаются» и «уничтожаются». Функцию каждого из них можно представить как движение через модель ММ с поочередным воздействием на ее блоки. GPSS-программа генерирует и передает транзакты из блока в блок в соответствии с правилами, устанавливаемыми блоками. Каждый переход транзакта приписывается к определенному моменту системного времени.

Сравнение эффективности языков. При анализе эффективности использования для моделирования конкретной системы S того или иного ЯИМ (или ЯОН) выделяют несколько важных свойств языков:

· возможность описания структуры и алгоритмов поведения исследуемой системы S в терминах языка;

· простота применения для построения модели М, ее машинной реализации и обработки результатов моделирования;

· предпочтение пользователя, обычно отдаваемое языку, который ему более знаком или который обладает большей степенью универсальности, и т.д.

Результаты сравнения различных языков при моделировании сведены в табл. 5.1. Языки даны в порядке уменьшения их эффективности.

Таблица 5.1

Возможности языка Простота применения Предпочтение пользователя
SIMULA SIMSCRIPT GPSS GPSS SIMSCRIPT SIMULA SIMSCRIPT GPSS SIMULA

 

Выбор языка моделирования системы. Основываясь на классификации языков (рис. 5.3) и исходя из оценки эффективности
(табл. 5.1), выбор языка для решения задачи машинного моделирования конкретной системы S можно представить в виде дерева решений (рис. 5.4).

Исходя из постановки задачи машинного моделирования конкретной системы S, поставленных целей, выбранных критериев оценки эффективности и заданных ограничений (блок 1), можно сделать вывод о размерности задачи моделирования и требуемой точности и достоверности ее решения (блок 2). Для задач большой размерности моделирование на АВМ (блок 3) позволяет получить достаточно высокую точность. При этом АВМ позволит наглядно выявить компромисс между сложностью и точностью модели М, проиллюстрирует влияние изменения параметров и переменных на характеристики модели системы и т.п.

 

 

 

 


Рис. 5.4. Дерево решений выбора языка для моделирования системы

Если в модели М при моделировании системы S имеют место как непрерывные, так и дискретные переменные, отражающие динамику системы и логику ее поведения (блок 4), то рекомендуется использовать для моделирования ГВК (блок 5). Если моделирование конкретной системы S представляет собой единичный акт (блок 6), то, вероятно, в ущерб концептуальной выразительности модели МК и отладочным средствам для проверки логики машинной модели ММ следует выбрать более распространенные и более гибкие ЯОН (блок 7).

Если при моделировании на универсальной ЭВМ выбран непрерывный подход (блок 8), то следует остановить выбор на одном из языков, позволяющих отразить динамику системы при наличии обратных связей (блок 9). При этом могут быть приняты языки непрерывного типа DYNAMO, MIMIC либо комбинированные (дискретно-непрерывные) – GASP.

Если в основу модели М положена дискретная математическая схема и в ней при построении моделирующего алгоритма используется «принцип D t» или «принцип dz», причем имитируются взаимодействующие элементы статической природы при неравномерности событий во времени (блок 10), то рационально воспользоваться ЯИМ, ориентированным на действия, например FORSIM, CSL.

Если в модели М описывается малое число взаимодействующих процессов и имеется большое число элементов (блок 12), то целесообразно выбрать для построения моделирующих алгоритмов «принцип D t» и остановиться на ЯИМ событий (блок 13), например SIMSCRIPT, GASP и т. п.

Если для программирования модели более эффективен ЯИМ, позволяющий описать большое число взаимодействующих процессов
(блок 14), то следует использовать языки процессов (блок 15), которые не связаны с использованием блоков только определенных типов, например в транзактных языках. Наиболее распространенными языками описания процессов являются языки SIMULA и SOL.

И наконец, если предпочтение отдается блочной конструкции модели М при наличии минимального опыта в программировании (блок 16), то следует выбирать ЯИМ транзактов типа GPSS, BOSS (блок 17), но при этом надо помнить, что они негибки и требуют большого объема памяти и затрат машинного времени на прогон программ моделирования.

Если перечисленные средства по той или иной причине не подходят для целей моделирования конкретной системы S (блок 18), то надо снова провести модификацию модели М либо попытаться решить задачу с использованием ЯОН на универсальной ЭВМ.

Примеры дискретных, непрерывных и комбинированных ЯИМ приведены в табл. 5.2.

Таблица 5.2

Название языка Тип Примечание
ACSL Непрерывный Advanced Continuous Simulation Language
ALSIM Дискретный ALgol SIMulation
ANDSIM Непрерывный ANAlog Digital SIMulator
APLIS Комбинированный APL Simulation
CDL Дискретный Computer Design Language
COSMO Непрерывный Compartment System MOdeling
CSL Дискретный Control and Simulation Language
CSSL Непрерывный Continuous System Simulation Language
DEMOS Дискретный Discrete Event MOdeling in Simula
DIANA Комбинированный DIgital-ANAlog simulator
DISCO Комбинированный DISrete-COntinuous
DYNAMO Непрерывный DYNAmic MOdels

 

Окончание табл. 5.2

FORSIM Непрерывный Forran ORiented Simulator
GASP Комбинированный General Activity Simulation Program
GEMS Непрерывный General Equation Modeling System
GPSS Дискретный General Processing Simulation System
IPSS Дискретный Information processing Simulation System
MIDAS Непрерывный Modified Integration Digital Analog Simulator
SAM Непрерывный Simulation of Analogue Methods
SIMSCRIPT Дискретный SIMulation SCRIPTure
SIMULA Дискретный SIMUlation LAnguage
SOL Дискретный Simulation Oriented Language
VANS Дискретный Value Added Network Simulator

 

<== предыдущая лекция | следующая лекция ==>
Основы систематизации языков имитационного моделирования | Пакеты прикладных программ моделирования систем
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 2027; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.