Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА МОДЕЛИРОВАНИЯ СИСТЕМ

Читайте также:
  1. II. ОСНОВЫ СИСТЕМАТИКИ И ДИАГНОСТИКИ МИНЕРАЛОВ
  2. IV. 1. Организация (структура) экосистем
  3. PR в системе интегрированных маркетинговых коммуникаций.
  4. PR как система
  5. А) Система источников таможенного права.
  6. Аберрации оптических систем.
  7. Аварийно-спасательные средства.
  8. Аварийные режимы системы расхолаживания бассейна выдержки
  9. Автоматизированная система управления гибкой производственной системой (АСУ ГПС)
  10. Автоматизированные информационные системы

 

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

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

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

Рассмотрим основные понятия, связанные с алгоритмическими языками и их реализацией на ЭВМ вообще и языками моделирова­ния в частности.

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

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

Интерпретатором называется программа, которая, принимая Инструкции входного языка, сразу выполняет соответствующие операции в отличие от компилятора, преобразующего эти инструкции в запоминающиеся цепочки команд. Трансляция происходит в тече­ние всего времени работы программы, написанной на языке ин­терпретатора. В отличие от этого компиляция и ассемблирование представляют собой однократные акты перевода текста с входного языка на объектный язык машины, после чего полученные програм­мы выполняются без повторных обращений к транслятору.

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

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

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

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

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

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

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

При создании системы моделирования на базе любого языка необходимо решить вопрос о синхронизации процессов в модели, так как в каждый момент времени, протекающего в системе (си­стемного времени), может потребоваться обработка нескольких событий, т. е. требуется псевдопараллельная организация имитиру­емых процессов в машинной модели Мм. Это является основной задачей монитора моделирования, который выполняет следующие Функции: управление процессами (согласование системного и ма­шинного времени) и управление ресурсами (выбор и распределение в модели ограниченных средств моделирующей системы).

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

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

Примером языка моделирования непрерывных систем на ЭВМ путем представления моделируемой системы в виде уравнений в ко­нечных разностях является язык DYNAMO, для которого уравнения устанавливают соотношения между значениями функций в момен­ты времени t и t+dt между значениями их производных в момент времени t+dt/2. И в этом случае моделирование, по существу, представляет собой пошаговое решение заданной системы диффере­нциальных уравнений.

Универсальная ЭВМ — устройство дискретного типа, а поэтому должна обеспечивать дискретную аппроксимацию процесса функци­онирования исследуемой системы S. Непрерывные изменения в про­цессе функционирования реальной системы отображаются в диск­ретной модели Мм, реализуемой на ЭВМ, некоторой последователь­ностью дискретных событий, и такие модели называются моделями дискретных событий. Отдельные события, отражаемые в дискрет­ной модели, могут определяться с большой степенью приближения к действительности, что обеспечивает адекватность таких дискрет­ных моделей реальным процессам, протекающим в системах S.

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

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

 

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

 

В большинстве случаев с помощью машинных моделей исследу­ются характеристики и поведение системы S на определенном от­резке времени, поэтому одной из наиболее важных задач при созда­нии модели системы и выборе языка программирования модели является реализация двух функций: 1) корректировка временной координаты состояния системы («продвижение» времени, организа­ция «часов»); 2) обеспечение согласованности различных блоков и событий в системе (синхронизация во времени, координация с другими блоками).

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

Задание времени в машинной модели.Существует два основных подхода к заданию времени: с помощью постоянных и переменных интервалов времени, которым соответ­ствуют два принципа реализации моделирующих алгоритмов, т. е. «принцип Dt» и «принцип d z».

У каждого из этих методов есть свои преимущества с точки зрения адекватного отражения реальных событий в системе S и за­трат машинных ресурсов на моделирование. При использовании «принципа d z» события обрабатываются последовательно и время смещается каждый раз вперед до начала следующего события. В модели, построенной по «принципу Dt», обработка событий про­исходит по группам, пакетам или множествам событий. При этом выбор Dt оказывает существенное влияние на ход процесса и резуль­таты моделирования, и если Dt задана неправильно, то результаты могут получиться недостоверными, так как все события появляются в точке, соответствующей верхней границе каждого интервала мо­делирования. При применении «принципа d z» одновременная об­работка событий в модели имеет место только тогда, когда эти события появляются одновременно и в реальной системе. Это позволяет избежать необходимости искусственного введения ран­жирования событий при их обработке в конце интервала Dt.

При моделировании по «принципу Dt» можно добиться хорошей аппроксимации: для этого Dt должно быть малым, чтобы два неодновременных события не попали в один и тот же временной интервал. Но уменьшение Dt приводит к увеличению затрат машинного времени на моделирование, так как значительная часть тратит­ся на корректировку «часов» и отслеживание событий, которых в большинстве интервалов может и не быть. При этом даже при сильном «сжатии» Dt два неодновременных события могут попасть в один и тот же временной интервал Dt, что создает ложное представление об их одновременности.

Для выбора принципа построения машинной модели Мм и со­ответственно ЯИМ необходимо знать: цель и назначение модели; требуемую точность результатов моделирования; затраты машин­ного времени при использовании того или иного принципа; необ­ходимый объем машинной памяти для реализации модели, построенной по принципу Dt и d z; трудоемкость программирования моде­ли и ее отладки.

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

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

Размер.Большинство моделируемых систем имеет сложную структуру и алгоритмы поведения, а их модели велики по объему. Поэтому используют динамическое распределение памяти, когда компоненты модели системы Мм появляются в оперативной памяти ЭВМ или покидают ее в зависимости от текущего состояния. Важ­ным аспектом реализуемости модели Мм на ЭВМ в этом случае является блочность ее конструкции, т. е. возможность разбиения модели на блоки, подблоки и т. д.

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

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

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

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

Перечисленным требованиям при исследовании и проектирова­нии различных систем S отвечают такие наиболее известные языки моделирования дискретных событий, как SIMULA, SIMSCRIPT, GPSS, SOL, CSL и др.

Основы классификации языков моделирования.Как уже отмеча­лось, для машинного моделирования системы S пригодны три способа проведения вычислений, в основе которых лежит примене­ние цифровой, аналоговой и гибридной вычислительной техники. Рассмотрим методы моделирования систем с точки зрения исполь­зования языков программирования. Классификация языков для программирова­ния моделей систем имеет вид, приведенный на рис. 5.3.

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

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

В основе рассматриваемой классификации в некоторых ЯИМ лежит принцип формирования системного времени. Так как «системные часы» предназначены не только для продвижения си­стемного времени в модели Мм, но также для синхронизации раз­личных событий и операций в модели системы S, то при отнесении того или иного конкретного языка моделирования к определенному типу нельзя не считаться с типом механизма «системных часов».

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

 

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

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

Языки моделирования дискретных систем.

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

группы ЯИМ. 1)подразумевает наличие списка событий, отличающих моменты начала выполнения операций. Продвижение времени осуществляется по событиям, в моменты наступления которых производятся необходимые операции SIMSCRIPT. Моделирование с помо­щью языка SIMSCRIPT включает в себя следующие этапы: а) элементы моделируемой системы S описываются и вводятся с помощью карт определений; б) вводятся начальные условия; в) фиксиру­ются и вводятся исходные значения временных параметров; г) составляются подпрограммы для каждого события; д) составляется перечень событий и указывается время свершения каждого эндоген­ного события. Команды языка SIMSCRIPT группируются следующим образом: операции над временными объектами, арифмети­ческие и логические операции и команды управления, команды ввода-вывода, специальные команды обработки результатов. К центральным понятиям языка SIMSCRIPT относятся обработка списков с компонентами, определяемыми пользователем, и последова­тельность событий в системном времени. При этом имеются специ­альные языковые средства для работы с множествами.

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

3)поведение которых определяется процессами. под процессом понимается последовательность событий, связь между которыми устанавливается с помощью набора отношений. Динамика заложена в независимо управляемых программах, которые в сово­купности составляют программу процесса. SIMULA, в котором осуществляется блочное представление системы S cиспользованием понятия процесса для формализации элементов, на которые разбивается моделируемая система. Процесс задается набором признаков, характеризующих его структуру, и программой функционирования. Функци­онирование каждого процесса разбивается на этапы, протекающие в системном времени.

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

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

Таблица 5

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

 

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


<== предыдущая страница | следующая страница ==>
МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВОЗДЕЙСТВИЙ | ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ МОДЕЛИРОВАНИЯ

Дата добавления: 2014-08-09; просмотров: 1029; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.005 сек.