Инструментальные средства моделирования систем
Моделирование систем и особенности использования алгоритмических языков. Задание времени в машинной модели. Подходы к разработке, основные требования и архитектура языков имитационного моделирования, сравнительная характеристика их эффективности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.11.2011 |
Размер файла | 996,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовая работа
По дисциплине: «Моделирование систем»
На тему: «Инструментальные средства моделирования систем»
СОДЕРЖАНИЕ
Введение
1 Основы систематизации языков имитационного моделирования
1.1 Моделирование систем и языки программирования
1.2 Особенности использования алгоритмических языков
1.3 Подходы к разработке языков моделирования
1.4 Архитектура языков моделирования
1.5 Задание времени в машинной модели
1.6 Требования к языкам имитационного моделирования
2 Сравнение характеристик языков имитационного моделирования
2.1 Основы классификации языков моделирования
2.2 Сравнение эффективности языков
Заключение
Список используемой литературы
ВВЕДЕНИЕ
Успех или неудача проведения имитационных экспериментов с моделями сложных систем существенным образом зависит от инструментальных средств, используемых для моделирования, т. е. набора аппаратно-программных средств, представляемых пользователю-разработчику или пользователю-исследователю машинной модели. В настоящее время существует большое количество языков имитационного моделирования специальных языков программирования имитационных моделей на ЭВМ и перед разработчиком машинной модели возникает проблема выбора языка, наиболее эффективного для целей моделирования конкретной системы. Языки моделирования заслуживают пристального внимания, так как, во-первых, число существующих языков и систем моделирования превышает несколько сотен и необходимо научиться ориентироваться в них, а во-вторых, почти каждый новый язык моделирования не только является средством, облегчающим доведение концептуальной модели до готовой машинной моделирующей программы, но и представляет собой новый способ «видения мира», т. е. построения моделей реальных систем. Необходимость эффективной реализации имитационных моделей предъявляет все более высокие требования, как к инструментальным ЭВМ, так и к средствам организации информации в ЭВМ при моделировании. Поэтому с учетом использования новой информационной технологии в процессе моделирования следует учитывать особенности построения баз знаний и банков данных и систем управления ими.
1 ОСНОВЫ СИСТЕМАТИЗАЦИИ ЯЗЫКОВ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
Использование современных ЭВМ и вычислительных комплексов и сетей является мощным средством реализации имитационных моделей и исследования с их помощью характеристик процесса функционирования систем S. В ряде случаев в зависимости от сложности объекта моделирования, т. е. системы S, рационально использование персональных ЭВМ (ПЭВМ) или локальных вычислительных сетей (ЛВС). В любом случае эффективность исследования системы S на программно-реализуемой модели Мм, прежде всего, зависит от правильности схемы моделирующего алгоритма, совершенства программы и только косвенным образом зависит от технических характеристик ЭВМ, применяемой для моделирования. Большое значение при реализации модели на ЭВМ имеет вопрос правильного выбора языка моделирования.
1.1 Моделирование систем и языки программирования
Алгоритмические языки при моделировании систем служат вспомогательным аппаратом разработки, машинной реализации и анализа характеристик моделей. Каждый язык моделирования должен отражать определенную структуру понятий для описания широкого класса явлений. Выбрав для решения задачи моделирования процесса функционирования системы конкретный язык, исследователь получает в распоряжение тщательно разработанную систему абстракций, предоставляющих ему основу для формализации процесса функционирования исследуемой системы S. Высокий уровень проблемной ориентации языка моделирования значительно упрощает программирование моделей, а специально предусмотренные в нем возможности сбора, обработки и вывода результатов моделирования позволяют быстро и подробно анализировать возможные исходы имитационного эксперимента с моделью Мм.
Основными моментами, характеризующими качество языков моделирования, являются: удобство описания процесса функционирования системы S, удобство ввода исходных данных моделирования и варьирования структуры, алгоритмов и параметров модели, реализуемость статистического моделирования, эффективность анализа и вывода результатов моделирования, простота отладки и контроля работы моделирующей программы, доступность восприятия и использования языка. Будущее языков моделирования определяется прогрессом в области создания мультимедийных систем машинной имитации, а также проблемно-ориентированных на цели моделирования информационно-вычислительных систем.
Рассмотрим основные понятия, связанные с алгоритмическими языками и их реализацией на ЭВМ вообще и языками моделирования в частности.
Язык программирования представляет собой набор символов, распознаваемых ЭВМ и обозначающих операции, которые можно реализовать на ЭВМ. На низшем уровне находится основной язык машины, программа на котором пишется в кодах, непосредственно соответствующих элементарным машинным действиям (сложение, запоминание, пересылка по заданному адресу и т. д.). Следующий уровень занимает автокод (язык АССЕМБЛЕРА) вычислительной машины. Программа на автокоде составляется из мнемонических символов, преобразуемых в машинные коды специальной программой - ассемблером.
Компилятором называется программа, принимающая инструкции, написанные на алгоритмическом языке высокого уровня, и преобразующая их в программы на основном языке машины или на автокоде, которые в последнем случае транслируются еще раз с помощью ассемблера.
Интерпретатором называется программа, которая, принимая инструкции входного языка, сразу выполняет соответствующие опeрации в отличие от компилятора, преобразующего эти инструкции в запоминающиеся цепочки команд. Трансляция происходит в течение всего времени работы программы, написанной на языке интерпретатора. В отличие от этого компиляция и ассемблирование представляют собой однократные акты перевода текста с входного языка на объектный язык машины, после чего полученные программы выполняются без повторных обращений к транслятору.
Программа, составленная в машинных кодах или на языке АССЕМБЛЕРА, всегда отражает специфику конкретной ЭВМ. Инструкции такой программы соответствуют определенным машинным операциям и, следовательно, имеют смысл только в той ЭВМ, для которой они предназначены, поэтому такие языки называются машинно-ориентированными языками.
Большинство языков интерпретаторов и компиляторов можно классифицировать как процедурно-ориентированные языки. Эти языки качественно отличаются от машинно-ориентированных языков, описывающих элементарные действия ЭВМ и не обладающих проблемной ориентацией. Все процедурно-ориентированные языки предназначены для определенного класса задач, включают в себя инструкции, удобные для формулировки способов решения типичных задач этого класса. Соответствующие алгоритмы программируются в обозначениях, не связанных ни с какой ЭВМ.
Язык моделирования представляет собой процедурно-ориентированный язык, обладающий специфическими чертами. Основные языки моделирования разрабатывались в качестве программного обеспечения имитационного подхода к изучению процесса функционирования определенного класса систем.
1.2 Особенности использования алгоритмических языков
Рассмотрим преимущества и недостатки использования для моделирования процесса функционирования систем языков имитационного моделирования (ЯИМ) и языков общего назначения (ЯОН), т. е. универсальных и процедурно-ориентированных алгоритмических языков. Целесообразность использования языков имитационного моделирования вытекает из двух основных причин:
1) удобство программирования модели системы, играющее существенную роль при машинной реализации моделирующих алгоритмов;
2) концептуальная направленность языка на класс систем, необходимая на этапе построения модели системы и выборе общего направления исследований в планируемом машинном эксперименте.
Практика моделирования систем показывает, что именно использование ЯИМ во многом определило успех имитации как метода экспериментального исследования сложных реальных объектов.
Языки моделирования позволяют описывать моделируемые системы в терминах, разработанных на базе основных понятий имитации. До того как эти понятия были четко определены и формализованы в языках имитационного моделирования, не существовало единых способов описания имитационных задач, а без них не было связи между различными разработками в области постановки имитационных экспериментов. Высокоуровневые языки моделирования являются удобным средством общения заказчика и разработчика машинной модели Мм.
Несмотря на перечисленные преимущества языков имитационного моделирования, в настоящее время выдвигаются основательные аргументы как технического, так и эксплуатационного характера против полного отказа при моделировании от универсальных и процедурно-ориентированных языков. Технические возражения против использования языков имитационного моделирования: вопросы эффективности рабочих программ, возможности их отладки и т. п. В качестве эксплуатационных недостатков упоминается нехватка документации по существующим языкам имитационного моделирования, сугубо индивидуальный характер соответствующих трансляторов, усложняющий их реализацию на различных ЭВМ, и трудности исправления ошибок. Снижение эффективности языков имитационного моделирования проявляется при моделировании задач более разнообразных, чем те, на которые рассчитан конкретный язык моделирования. Но здесь следует отметить, что в настоящее время не существует и ЯОН, который был бы эффективен при решении задач любого класса.
Серьезные недостатки языков имитационного моделирования проявляются в том, что в отличие от широко применяемых ЯОН, трансляторы с которых включены в поставляемое изготовителем математическое обеспечение всех современных ЭВМ, языки моделирования, за небольшим исключением, разрабатывались отдельными организациями для своих достаточно узко специализированных потребностей. Соответствующие трансляторы плохо описаны и приспособлены для эксплуатации при решении задач моделирования систем, поэтому, несмотря на достоинства языков имитационного моделирования, приходится отказываться от их практического применения в ряде конкретных случаев.
При создании системы моделирования на базе любого языка необходимо решить вопрос о синхронизации процессов в модели, так как в каждый момент времени, протекающего в системе (системного времени), может потребоваться обработка нескольких событий, т. е. требуется псевдопараллельная организация имитируемых процессов в машинной модели Мм. Это является основной задачей монитора моделирования, который выполняет следующие функции: управление процессами (согласование системного и машинного времени) и управление ресурсами (выбор и распределение в модели ограниченных средств моделирующей системы).
1.3 Подходы к разработке языков моделирования
К настоящему времени сложились два различных подхода к разработке языков моделирования: непрерывный и дискретный отражающие основные особенности исследуемых методом моделирования систем. Поэтому языки имитационного моделирования делятся на две самостоятельные группы, которые соответствуют двум видам имитации, развивавшимся независимо друг от друга: для имитации непрерывных и дискретных процессов.
Для моделирования непрерывных процессов могут быть использованы не только аналогово-вычислительные машины (АВМ), но и ЭВМ, последние при соответствующем программировании имитируют различные непрерывные процессы. При этом ЭВМ обладают большей надежностью в эксплуатации и позволяют получить высокую точность результатов, что привело к разработке языков моделирований, отображающих модель в виде блоков таких типов, которые играют роль стандартных блоков АВМ (усилителей, интеграторов, генераторов функций и т. п.).
Заданная схема моделирующего алгоритма преобразуется в систему совместно рассматриваемых дифференциальных уравнений
Моделирование в этом случае сводится, по сути дела, к отысканию численных решений этих уравнений при использовании некоторого стандартного пошагового метода.
Примером языка моделирования непрерывных систем на ЭВМ путем представления моделируемой системы в виде уравнений в конечных разностях является язык DYNAMO, для которого уравнения устанавливают соотношения между значениями функций в моменты времени t и t + dt и между значениями их производных в момент времени t + dt / 2. И в этом случае моделирование, по существу, представляет собой пошаговое решение заданной системы дифференциальных уравнений.
Универсальная ЭВМ - устройство дискретного типа, а поэтому должна обеспечивать дискретную аппроксимацию процесса функционирования исследуемой системы S.
Непрерывные изменения в процессе функционирования реальной системы отображаются в дискретной модели Мм, реализуемой на ЭВМ, некоторой последовательностью дискретных событий, и такие модели называются моделями дискретных событий. Отдельные события, отражаемые в дискретной модели, могут определяться с большой степенью приближения к действительности, что обеспечивает адекватность таких дискретных моделей реальным процессам, протекающим в системах S.
1.4 Архитектура языков моделирования
Архитектуру языков имитационного моделирования, т. е. концепцию взаимосвязей элементов языка как сложной системы, и технологию перехода от системы S к ее машинной модели Мм можно представить следующим образом:
1) объекты моделирования (системы S) описываются (отображаются в языке) с помощью некоторых атрибутов языка;
2) атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе S;
3) процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействия этих процессов во времени;
4) условия влияют на события, имеющие место внутри объекта моделирования (системы S) и при взаимодействии с внешней средой Е;
5) события изменяют состояния модели системы М в пространстве и во времени.
Типовая схема архитектуры языков имитационного моделирования и технология его использования при моделировании систем показана на рис.1.
Рисунок 1 - Типовая схема архитектуры языков имитационного моделирования и технология его использования
В большинстве случаев с помощью машинных моделей исследуются характеристики и поведение системы S на определенном отрезке времени, поэтому одной из наиболее важных задач при создании модели системы и выборе языка программирования модели является реализация двух функций:
1) корректировка временной координаты состояния системы («продвижение» времени, организация «часов»);
2) обеспечение согласованности различных блоков и событий в системе (синхронизация во времени, координация с другими блоками).
Таким образом, функционирование модели Мм должно протекать в искусственном (не в реальном и не в машинном) времени, обеспечивая появление событий в требуемом логикой работы исследуемой системы порядке и с надлежащими временными интервалами между ними. При этом надо учитывать, что элементы реальной системы S функционируют одновременно (параллельно), а компоненты машинной модели Мм действуют последовательно, так как реализуются с помощью ЭВМ последовательного действия. Поскольку в различных частях объекта моделирования события могут возникать одновременно, то для сохранения адекватности причинно-следственных временных связей необходимо в языках имитационного моделирования создать «механизм» задания времени для синхронизации действий элементов модели системы.
1.5 Задание времени в машинной модели
Существует два основных подхода к заданию времени: с помощью постоянных и переменных интервалов времени, которым соответствуют два принципа реализации моделирующих алгоритмов, т. е. «принцип Дt» и «принцип дz».
Рассмотрим соответствующие способы управления временем в модели системы M(S) на примере, показанном на рис. 2, где по оси реального времени отложена последовательность событий в системе {si} во времени, причем события s4 и s5 происходят одновременно (рис. 2, а). Под действием событий si изменяются состояния модели zi в момент времени tzi, причем такое изменение происходит скачком дz.
Рисунок 2 - Способы управления времемнем в модели системы
В модели, построенной по «принципу Дt» (рис. 2, б), моменты системного времени будут последовательно принимать значения t '1 = Дt, t '2 = 2Дt, t '3 = 3Дt, t '4 = 4Дt, t '5 = 5Дt. Эти моменты системного времени t 'j (Дt) никак не связаны с моментами появления событий si, которые имитируются в модели системы. Системное время при этом получает постоянное приращение, выбираемое в задаваемое перед началом имитационного эксперимента.
В модели, построенной по «принципу дz» (рис. 2, в), изменение времени наступает в момент смены состояния системы, и последовательность моментов системного времени имеет вид t''1 = tz1, t''2 = tz2, t''3 = tz3, t''4 = tz4, t''5 = tz5, т. е. моменты системного времени t''k (дz), непосредственно связаны с моментами появления событий в системе si.
У каждого из этих методов есть свои преимущества с точки зрения адекватного отражения реальных событий в системе S и затрат машинных ресурсов на моделирование.
При использовании «принципа дz» события обрабатываются последовательно, и время смещается каждый раз вперед до начала следующего события.
В модели, построенной по «принципу Дt»,обработка событий происходит по группам, пакетам или множествам событий. При этом выбор Дt оказывает существенное влияние на ход процесса и результаты моделирования, и если Дt задана неправильно, то результаты могут получиться недостоверными, так как все события появляются в точке, соответствующей верхней границе каждого интервала моделирования.
При применении «принципа дz» одновременная обработка событий в модели имеет место только тогда, когда эти события появляются одновременно и в реальной системе.
Это позволяет избежать необходимости искусственного введения ранжирования событий при их обработке в конце интервала At.
При моделировании по «принципу Дt» можно добиться хорошей аппроксимации: для этого Дt должно быть малым, чтобы два неодновременных события не попали в один и тот же временной интервал. Но уменьшение Дt приводит к увеличению затрат машинного времени на моделирование, так как значительная часть тратится на корректировку «часов» и отслеживание событий, которых в большинстве интервалов может и не быть. При этом даже при сильном «сжатии» Дt два неодновременных события могут попасть в один и тот же временной интервал Дt,что создает ложное представление об их одновременности.
Для выбора принципа построения машинной модели Мм и соответственно языков имитационного моделирования необходимо знать: цель и назначение модели; требуемую точность результатов моделирования; затраты машинного времени при использовании того или иного принципа; необходимый объем машинной памяти для реализации модели, построенной по принципу Дt и дz; трудоемкость программирования модели и ее отладки.
1.6 Требования к языкам имитационного моделирования
При разработке моделей систем возникает целый ряд специфических трудностей, поэтому в языках имитационного моделирования должен быть предусмотрен набор таких программных средств и понятий, которые не встречаются в обычных ЯОН.
1. Совмещение. Параллельно протекающие в реальных системах S процессы представляются с помощью последовательно работающей ЭВМ. Языки моделирования позволяют обойти эту трудность путем введения понятия системного времени, используемого для представления упорядоченных во времени событий.
2. Размер. Большинство моделируемых систем имеет сложную структуру и алгоритмы поведения, а их модели велики по объему. Поэтому используют динамическое распределение памяти, когда компоненты модели системы Мм появляются в оперативной памяти ЭВМ или покидают ее в зависимости от текущего состояния. Важным аспектом реализуемости модели Мм на ЭВМ в этом случае является блочность ее конструкции, т. е. возможность разбиения модели на блоки, подблоки и т. д.
3. Изменения. Динамические системы связаны с движением и характеризуются развитием процесса, вследствие чего пространственная конфигурация этих систем претерпевает изменения по времени. Поэтому во всех языках имитационного моделирования предусматривают обработку списков, отражающих изменения состояний процесса функционирования моделируемой системы S.
4. Взаимосвязанность. Условия, необходимые для свершения различных событий в модели Мм процесса функционирования системы S, могут оказаться весьма сложными из-за наличия большого количества взаимных связей между компонентами модели. Для разрешения связанных с этим вопросом трудностей в большинство языков имитационного моделирования включают соответствующие логические возможности и понятия теории множеств.
5. Стохастичность. Для моделирования случайных событий и процессов используют специальные программы генерации последовательностей псевдослучайных чисел, квазиравномерно распределенных на заданном интервале, на основе которых можно получить стохастические воздействия на модель Мм, имитируемые случайными величинами с соответствующим законом распределения.
6. Анализ. Для получения наглядного и удобного в практическом отношении ответа на вопросы, решаемые методом машинного моделирования, необходимо получать статистические характеристики процесса функционирования модели системы M(S). Поэтому предусматривают в языках моделирования способы статистической обработки и анализа результатов моделирования.
Перечисленным требованиям при исследовании и проектировании различных систем S отвечают такие наиболее известные языка моделирования дискретных событий, как SIMULA, SIMSCRIPT, GPSS, SOL, CSL и др.
язык имитационный моделирование система
2 СРАВНЕНИЕ ХАРАКТЕРИСТИК ЯЗЫКОВ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
За сравнительно небольшой срок в области машинного моделирования систем произошел скачок, который был обусловлен потребностью в принципиально новом методе исследования и развитием средств вычислительной техники и который в первую очередь выразился в увеличении количества специализированных языков имитационного моделирования, причем этот процесс имеет лавинообразный характер. К настоящему времени насчитывается несколько сотен развитых языков имитационного моделирования, поэтому очень важно разобраться в этом многообразии языков имитационного моделирования и выбрать для моделирования конкретной системы S наиболее эффективный язык.
2.1 Основы классификации языков моделирования
Как уже отмечалось, для машинного моделирования системы S пригодны три способа проведения вычислений, в основе которых лежит применение цифровой, аналоговой и гибридной вычислительной техники. Рассмотрим методы моделирования систем с точки зрения использования языков программирования. При этом в данном параграфе опустим рассмотрение чисто аналоговых способов вычислений, так как они реализуются не программно, а путем составления электрических цепей, т. е. когда язык программирования не требуется (не обсуждая вопросы программирования АВМ). По этой же причине не будем рассматривать использование языков имитационного моделирования при гибридных методах вычислений. Тогда классификация языков для программирования моделей систем имеет вид, приведенный на рис. 3.
Для моделирования систем используются как универсальные и процедурно-ориентированные ЯОН, так и специализированные языки имитационного моделирования. При этом ЯОН предоставляют программисту-разработчику модели Мм больше возможностей в смысле гибкости разработки, отладки и использования модели. Но гибкость приобретается ценой больших усилий, затрачиваемых на программирование модели, так как организация выполнения операций, отсчет системного времени и контроль хода вычислений существенно усложняются.
Имеющиеся языки имитационного моделирования можно разбить на три основные группы, соответствующие трем типам математических схем: непрерывные, дискретные и комбинированные. Языки каждой группы предназначены для соответствующего представления системы S при создании ее машинной модели Мм.
В основе рассматриваемой классификации в некоторых языках имитационного моделирования лежит принцип формирования системного времени. Так как «системные часы» предназначены не только для продвижения системного времени в модели Мм, но также для синхронизации различных событий и операций в модели системы S, то при отнесении того или иного конкретного языка моделирования к определенному типу нельзя не считаться с типом механизма «системных часов».
Непрерывное представление системы S сводится к составлению уравнений, с помощью которых устанавливается связь между эндогенными и экзогенными переменными модели. Примером такого непрерывного подхода является использование дифференциальных уравнений. Причем в дальнейшем дифференциальные уравнения могут быть применены для непосредственного получения характеристик системы, это, например, реализовано в языке MIMIC. А в том случае, когда экзогенные переменные модели принимают дискретные значения, уравнения являются разностными. Такой подход реализован, например, в языке DYNAMO.
Представление системы S в виде типовой схемы, в которой участвуют как непрерывные, так и дискретные величины, называется комбинированным. Примером языка, реализующего комбинированный подход, является GASP, построенный на базе языка FORTRAN. Язык GASP включает в себя набор программ, с помощью которых моделируемая система S представляется в следующем виде. Состояние модели системы M(S) описывается набором переменных, некоторые из которых меняются во времени непрерывно. Законы изменения непрерывных компонент заложены в структуру, объединяющую дифференциальные уравнения и условия относительно переменных. Предполагается, что в системе могут наступать события двух типов:
1) события, зависящие от состояния zj,
2) события, зависящие от времени ti.
События первого типа наступают в результате выполнения условий, относящихся к законам изменения непрерывных переменных. Для событий второго типа процесс моделирования состоит в продвижении системного времени от момента наступления события до следующего аналогичного момента. События приводят к изменениям состояния модели системы и законов изменения непрерывных компонент. При использовании языка GASP на пользователя возлагается работа по составлению на язык FORTRAN подпрограмм, в которых он описывает условия наступления событий, зависящих от процесса функционирования системы S, законы изменения непрерывных переменных, а также правила перехода из одного состояния в другое.
В рамках дискретного подхода можно выделить несколько принципиально различных групп языков имитационного моделирования. Первая группа языков имитационного моделирования подразумевает наличие списка событий, отличающих моменты начала выполнения операций. Продвижение времени осуществляется по событиям, в моменты наступления которых производятся необходимые операции, включая операции пополнения списка событий. Примером языка событий является язык SIMSCRIPT. Разработчики языка SIMSCR1FJ исходили из того, что каждая модель Мм состоит из элементов, с которыми происходят события, представляющие собой последовательность предложений, изменяющих состояния моделируемой системы в различные моменты времени.
Рисунок 3 - Классификация языков для программирования моделей систем
Моделирование с помощью языка SIMSCRIPT включает в себя следующие этапы:
а) элементы моделируемой системы S описываются и вводятся с помощью карт определений;
б) вводятся начальные условия;
в) фиксируются и вводятся исходные значения временных параметров;
г) составляются подпрограммы для каждого события;
д) составляется перечень событий и указывается время свершения каждого эндогенного события.
Команды языка SIMSCRIPT группируются следующим образом: операции над временными объектами, арифметические и логические операции и команды управления, команды ввода-вывода, специальные команды обработки результатов. К центральным понятиям языка SIMSCRIPT относятся обработка списков с компонентами, определяемыми пользователем, и последовательность событий в системном времени. При этом имеются специальные языковые средства для работы с множествами.
При использовании языков имитационного моделирования второй группы после пересчета системного времени, в отличие от схемы языка событий, просмотр действий с целью проверки выполнения условий начала или окончания какого-либо действия производится непрерывно. Просмотр действий определяет очередность появления событий. Языки данного типа имеют в своей основе поисковый алгоритм, и динамика системы S описывается в терминах действий. Примером языка действий (работ) является язык имитационного моделирования FORSIM, представляющий собой пакет прикладных программ, который позволяет оперировать только фиксированными массивами данных, описывающих объекты моделируемой системы. С его помощью нельзя имитировать системы переменного состава. При этом размеры массивов устанавливаются либо во время компиляции программы, либо в самом начале ее работы.
Язык FORSIM удобен для описания систем с большим числом разнообразных ресурсов, так как он позволяет записывать условия их доступности в компактной форме. Конкретный способ формализации модели на языке действий в достаточной степени произволен и остается на усмотрение программиста, что требует его достаточно высокой квалификации. Полное описание динамики модели Мм можно получить с помощью разных наборов подпрограмм
Третья группа языков имитационного моделирования описывает системы, поведение которых определяется процессами. В данном случае под процессом понимается последовательность событий, связь между которыми устанавливается с помощью набора специальных отношений. Динамика заложена в независимо управляемых программах, которые в совокупности составляют программу процесса. Пример языка процессов - язык SIMULA, в котором осуществляется блочное представление моделируемой системы S с использованием понятия процесса для формализации элементов, на которые разбивается моделируемая система. Процесс задается набором признаков, характеризующих его структуру, и программой функционирования. Функционирование каждого процесса разбивается на этапы, протекающие в системном времени.
Главная роль в языке SIMULA отводится понятию параллельного оперирования с процессами в системном времени, а также универсальной обработке списков с процессами в роли компонент. Специальные языковые средства предусмотрены для манипуляций с упорядоченными множествами процессов.
В отдельную группу могут быть выделены языки имитационного моделирования типа GPSS, хотя принципиально их можно отнести к группе языков процессов. Язык GPSS представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. В процессе имитации транзакты «создаются» и «уничтожаются». Функцию каждого из них можно представить как движение через модель Мм с поочередным воздействием на ее блоки. Функциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что делать дальше. Данные для ЭВМ подготавливаются в виде пакета управляющих и определяющих карт, который составляется по схеме модели, набранной из стандартных символов. Созданная GPSS-программа, работая в режиме интерпретации, генерирует и передает транзакты из блока в блок в соответствии с правилами, устанавливаемыми блоками. Каждый переход транзакта приписывается к определенному моменту системного времени.
2.2 Сравнение эффективности языков
При анализе эффективности использования для моделирования конкретной системы S того или иного языка имитационного моделирования (или ЯОН) выделяют несколько важных свойств языков: возможность описания структуры и алгоритмов поведения исследуемой системы S в терминах языка; простота применения для построения модели М, ее машинной реализации и обработки результатов моделирования; предпочтение пользователя, обычно отдаваемое языку, который ему более знаком или который обладает большей степенью универсальности, и т. д. При этом, естественно, большее количество команд языков имитационного моделирования обеспечивает лучшие возможности при написании программы моделирования. Однако вместе с увеличением числа команд возрастают трудности использования языков имитационного моделирования, поэтому пользователь обычно отдает предпочтение языкам, обладающим большей гибкостью при минимальном количестве команд.
Исходя из этих соображений, приводились экспертные оценки для сравнения различных языков при моделировании широкого класса систем. Результаты оценок сведены в табл. 1. Языки даны в порядке уменьшения их эффективности.
Таблица 1
Перечисленные особенности языков имитационного моделирования во многом определяют возможности выбора того или иного языка для целей проведения имитационного эксперимента с моделью системы S, причем в каждом конкретном случае на выбор языка моделирования оказывают влияние многие факторы его практической реализации. Задачи выбора языков имитационного моделирования должны рассматриваться как одна из комплекса задач, решаемых при автоматизации процесса моделирования систем с использованием современных ЭВМ.
Выбор языка моделирования системы. Основываясь на классификации языков (рис. 3) и исходя из оценки эффективности (табл. 1), можно рассмотреть подход к выбору языка для решения задачи машинного моделирования конкретной системы S. Такой подход можно представить в виде дерева решений с соответствующими комментариями (рис. 4). Перед тем как пользоваться деревом решений, разработчику машинной модели Мм необходимо выполнить все подэтапы первого этапа (построение концептуальной модели системы и ее формализация), а также предшествующие данному 6-му подэтапу подэтапы 2-го этапа (алгоритмизация модели и ее машинная реализация). Приход в тот или иной конечный (нечетный) блок схемы дерева решений (рис. 4) означает рекомендацию более подробно рассмотреть указанные в нем технические средства или языки (ЯИМ и ЯОН), причем здесь для иллюстрации приведены лишь примеры основных языков, употребляемых наиболее часто при моделировании систем.
Исходя из постановки задачи машинного моделирования конкретной системы S, поставленных целей, выбранных критериев оценки эффективности и заданных ограничений (блок 1), можно сделать вывод о размерности задачи моделирования и требуемой точности и достоверности ее решения (блок 2). Для задач большой размерности моделирования на АВМ (блок 3) позволяет получить достаточно высокую точность.
Рисунок 4 - Дерево решений выбора языка для моделирования системы
При этом АВМ позволит наглядно выявить компромисс между сложностью и точностью модели М, проиллюстрирует влияние изменения параметров и переменных на характеристики модели системы и т. п. Если в модели М при моделировании системы S имеют место как непрерывные, так и дискретные переменные, отражающие динамику системы и логику ее поведения (блок 4), то рекомендуется использовать для моделирования ГВК (блок 5).
Если моделирование конкретной системы S представляет собой единичный акт (блок 6), то, вероятно, в ущерб концептуальной выразительности модели Мк и отладочным средствам для проверки логики машинной модели Мм следует выбрать более распространенные и более гибкие ЯОН (блок 7). Очевидно, на выбор конкретного языка существенно повлияют специфика модели М (особенности процесса функционирования системы S) и квалификация пользователя в программировании на конкретном языке.
Если при моделировании на универсальной ЭВМ выбран непрерывный подход (блок 8), то следует остановить выбор на одном из языков, позволяющих отразить динамику системы при наличии обратных связей (блок 9). При этом могут быть приняты языки непрерывного типа DYNAMO, MIMIC либо комбинированные (дискретно-непрерывные) - GASP.
Если в основу модели М положена дискретная математическая схема и в ней при построении моделирующего алгоритма используется «принцип Дt « (постоянный шаг во времени) или «принцип дz» (переменный шаг во времени, задаваемый сменой состояний), причем имитируются взаимодействующие элементы статической природы при неравномерности событий во времени (блок 10), то рационально воспользоваться языками имитационного моделирования, ориентированным на действия, например FORSIM, CSL.
Если в модели М описывается малое число взаимодействующих процессов и имеется большое число элементов (блок 12), то целесообразно выбрать для построения моделирующих алгоритмов «принцип At» и остановиться на языках имитационного моделирования событий (блок 13), например SIMSCRIPT. GASP и т. п.
Если для программирования модели более эффективен язык имитационного моделирования, позволяющий описать большое число взаимодействующих процессов (блок 14), то следует использовать языки процессов (блок 15), которые не связаны с использованием блоков только определенных типов, например в транзактных языках. Наиболее распространенными языками описания процессов являются языки SIMULA и SOL.
Таблица 2
И наконец, если предпочтение отдается блочной конструкции модели М при наличии минимального опыта в программировании (блок 16), то следует выбирать языки имитационного моделирования транзактов типа GPSS, BOSS (блок 17), но при этом надо помнить, что они негибки и требуют большого объема памяти и затрат машинного времени на прогон программ моделирования. Если перечисленные средства по той или иной причине не подходят для целей моделирования конкретной системы S (блок 18), то надо снова провести модификацию модели М либо попытаться решить задачу с использованием ЯОН на универсальной ЭВМ. Примеры дискретных, непрерывных и комбинированных языков имитационного моделирования приведены в таблице 2.
ЗАКЛЮЧЕНИЕ
В настоящее время машинное моделирование стало эффективным средством решения сложных задач автоматизации исследований, экспериментов и проектирования больших систем. Достигнуты определенные успехи в становлении прикладной теории моделирования на ЭВМ. Но научиться моделированию как рабочему инструменту инженера, освоить полностью его широкие возможности, развивать методологию моделирования дальше можно только при полном овладении приемами и технологией практического решения задач моделирования процессов функционирования систем на ЭВМ.
Существенное упрощение и ускорение процесса разработки имитационных моделей систем и их программной реализации достигаются при использовании специальных языков моделирования и особенно пакетов программ имитации.
Использование персонального компьютера открывает принципиально новые возможности в организации изучения физических явлений с помощью машинной имитации. Благодаря специально разработанным программам имитации физических процессов в реальных системах математические преобразования и вычисления берет на себя компьютер, и на долю учащихся остается не само добывание результата, а выявление и усвоение его физических причин. Другими словами, теперь доминирует роль идей и качественных методов исследования, которые связаны с гораздо большей наглядностью и образностью мышления. При этом заметно возрастает эмоциональный фактор, и предмет изучения ставится не только доступным, но и интересным.
Благодаря этой творческой работе я стала лучше ориентироваться в моделировании, ознакомилась с правилами выполнения творческой работы, получила новые знания, узнала больше об имитационных моделях, о языках моделирования и о пакетах прикладных программ.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Б.Я. Советов, С.Я. Яковлев «Моделирование систем». - М.: «Высшая школа», 2001.
2. Б.Я. Советов, С.Я. Яковлев «Моделирование систем: Курсовое проектирование». - М.: «Высшая школа», 1988.
3. Н.П. Бусленко «Моделирование сложных систем». - М., 1968.
4. В.Н. Томашевский, Е.Г. Жданова «Имитационное моделирование в среде GPSS». - М.: Бестселлер, 2003. - 416 с.
Размещено на Allbest.ru
Подобные документы
Основы систематизации языков имитационного моделирования, моделирование систем и языки программирования. Особенности использования алгоритмических языков, подходы к их разработке. Анализ характеристик и эффективности языков имитационного моделирования.
курсовая работа [1,4 M], добавлен 15.03.2012GPSS как один из эффективных и распространенных языков моделирования сложных дискретных систем. Возможности языка GPSS. Построение имитационной модели "Моделирование мини-АТС". Разработка программы работы диспетчерского пункта в торговом предприятии.
курсовая работа [118,8 K], добавлен 19.01.2016Особенности моделирования биологических систем с использованием программы "AnyLogic". Влияние различных факторов на популяции жертв и хищников. Принципы имитационного моделирования и его общий алгоритм с помощью ЭВМ. Анализ результатов моделирования.
курсовая работа [922,2 K], добавлен 30.01.2016Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Программные средства имитационного моделирования систем массового обслуживания. Программная среда Matlab, ее структура и основные компоненты, функциональные особенности, а также назначение. Разработка подсистем моделирования. Инструкция пользователя.
дипломная работа [3,3 M], добавлен 10.07.2017Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Концептуальная модель процесса обслуживания покупателей в магазине. Описание системы моделирования GPSS. Разработка моделирующей программы на специализированном языке имитационного моделирования в среде AnyLogic. Результаты вычислительных экспериментов.
курсовая работа [906,9 K], добавлен 12.07.2012Методы количественного и качественного оценивания систем, моделирование и разработка концептуальной модели, показатели пропускной способности, достоверности передачи данных. Интеграция систем ситуационного, имитационного и экспертного моделирования.
курсовая работа [240,3 K], добавлен 24.06.2010Язык GPSS как один из наиболее эффективных и распространенных языков моделирования сложных дискретных систем. Транзакт - элемент системы массового обслуживания. Решение задач на основе моделирования с применением языка GPSS, создание имитационной модели.
курсовая работа [54,7 K], добавлен 25.11.2010Ознакомление с современными концепциями построения моделирующих систем. Характеристика основных приемов имитационного моделирования. Перевод алгоритма на язык программирования. Понятие и этапы верификации: установления правильности машинной программы.
курсовая работа [422,1 K], добавлен 30.03.2011