Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 35
Текст из файла (страница 35)
Соответствующие алгоритмы программируются в обозначениях, не связанных ни с какой ЭВМ.Язык моделирования представляет собой процедурно-ориентированный язык, обладающий специфическими чертами. Основныеязыки моделирования разрабатывались в качестве программногообеспечения имитационного подхода к изучению процесса функционирования определенного класса систем [31].Особенности использования алгоритмических языков. Рассмотрим преимущества и недостатки использования для моделированияпроцесса функционирования систем языков имитационного моделирования (ЯИМ) и языков общего назначения (ЯОН), т.
е. универсальных и процедурно-ориентированных алгоритмических языков. Целесообразность использования ЯИМ вытекает из двух основныхпричин: 1) удобство программирования модели системы, играющеесущественную роль при машинной реализации моделирующих алгоритмов; 2) концептуальная направленность языка на класс систем,необходимая на этапе построения модели системы и выборе общегонаправления исследований в планируемом машинном эксперименте. Практика моделирования систем показывает, что именно использование ЯИМ во многом определило успех имитации какметода экспериментального исследования сложных реальныхобъектов.Языки моделирования позволяют описывать моделируемые системы в терминах, разработанных на базе основных понятий имитации.
До того как эти понятия были четко определены и формализованы в ЯИМ, не существовало единых способов описанияимитационных задач, а без них не было связи между различными146разработками в области постановки имитационных экспериментов.Высокоуровневые языки моделирования являются удобным средством общения заказчика и разработчика машинной модели Мм.Несмотря на перечисленные преимущества ЯИМ, в настоящеевремя выдвигаются основательные аргументы как технического, таки эксплуатационного характера против полного отказа при моделировании от универсальных и процедурно-ориентированных языков.Технические возражения против использования ЯИМ: вопросыэффективности рабочих программ, возможности их отладки и т. п.В качестве эксплуатационных недостатков упоминается нехваткадокументации по существующим ЯИМ, сугубо индивидуальныйхарактер соответствующих трансляторов, усложняющий их реализацию на различных ЭВМ, и трудности исправления ошибок.
Снижение эффективности ЯИМ проявляется при моделировании задачболее разнообразных, чем те, на которые рассчитан конкретныйязык моделирования. Но здесь следует отметить, что в настоящеевремя не существует и ЯОН, который был бы эффективен прирешении задач любого класса.Серьезные недостатки ЯИМ проявляются в том, что в отличиеот широко применяемых ЯОН, трансляторы с которых включеныв поставляемое изготовителем математическое обеспечение всехсовременных ЭВМ, языки моделирования, за небольшим исключением, разрабатывались отдельными организациями для своих достаточно узко специализированных потребностей. Соответствующие трансляторы плохо описаны и приспособлены для эксплуатации при решении задач моделирования систем, поэтому, несмотря на достоинства ЯИМ, приходится отказываться от их практического применения в ряде конкретных случаев.При создании системы моделирования на базе любого языканеобходимо решить вопрос о синхронизации процессов в модели,так как в каждый момент времени, протекающего в системе (системного времени), может потребоваться обработка несколькихсобытий, т.
е. требуется псевдопараллельная организация имитируемых процессов в машинной модели Ми. Это является основнойзадачей монитора моделирования, который выполняет следующиефункции: управление процессами (согласование системного и машинного времени) и управление ресурсами (выбор и распределениев модели ограниченных средств моделирующей системы).Подходы к разработке языков моделирования. К настоящемувремени сложились два различных подхода к разработке языковмоделирования: непрерывный и дискретный — отражающие основные особенности исследуемых методом моделирования систем [35,43, 46]. Поэтому ЯИМ делятся на две самостоятельные группы,которые соответствуют двум видам имитации, развивавшимся независимо друг от друга: для имитации непрерывных и дискретныхпроцессов.147Для моделирования непрерывных процессов могут быть использованы не только АВМ, но и ЭВМ, последние при соответствующемпрограммировании имитируют различные непрерывные процессы.При этом ЭВМ обладают большей надежностью в эксплуатациии позволяют получить высокую точность результатов, что привелок разработке языков моделирования, отображающих модель в видеблоков таких типов, которые играют роль стандартных блоковАВМ (усилителей, интеграторов, генераторов функций и т.
п.).Заданная схема моделирующего алгоритма преобразуется в системусовместно рассматриваемых дифференциальных уравнений. Моделирование в этом случае сводится, по сути дела, к отысканиючисленных решений этих уравнений при использовании некоторогостандартного пошагового метода.Примером языка моделирования непрерывных систем на ЭВМпутем представления моделируемой системы в виде уравнений в конечных разностях является язык DYNAMO, для которого уравненияустанавливают соотношения между значениями функций в моменты времени t и t+dt и между значениями их производных в моментвремени t+dt/2.
И в этом случае моделирование, по существу,представляет собой пошаговое решение заданной системы дифференциальных уравнений [46].Универсальная ЭВМ — устройство дискретного типа, а поэтомудолжна обеспечивать дискретную аппроксимацию процесса функционирования исследуемой системы S. Непрерывные изменения в процессе функционирования реальной системы отображаются в дискретной модели Мм, реализуемой на ЭВМ, некоторой последовательностью дискретных событий, и такие модели называются моделямидискретных событий. Отдельные события, отражаемые в дискретной модели, могут определяться с большой степенью приближенияк действительности, что обеспечивает адекватность таких дискретных моделей реальным процессам, протекающим в системах S.Архитектура языков моделирования.
Архитектуру ЯИМ, т. е.концепцию взаимосвязей элементов языка как сложной системы,и технологию перехода от системы S к ее машинной модели Мы можно представить следующим образом: 1) объекты моделирования(системы S) описываются (отображаются в языке) с помощьюнекоторых атрибутов языка; 2) атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе S; 3) процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействияэтих процессов во времени; 4) условия влияют на события, имеющие место внутри объекта моделирования (системы 5) и привзаимодействии с внешней средой Е; 5) события изменяют состояния модели системы М в пространстве и во времени.Типовая схема архитектуры ЯИМ и технология его использования при моделировании систем показана на рис. 5.1.148ОбъектыtoгОписанияАтрибутыВ займаВейстВия6to-аТре5оЙанияУсловияagoПроцессыВлиянияXСобытияИзмененияСостоянияРис.
5.1. Типовая схема архитектуры ЯИМ и технологияего использованияВ большинстве случаев с помощью машинных моделей исследуются характеристики и поведение системы S на определенном отрезке времени, поэтому одной из наиболее важных задач при создании модели системы и выборе языка программирования моделиявляется реализация двух функций: 1) корректировка временнойкоординаты состояния системы («продвижение» времени, организация «часов»); 2) обеспечение согласованности различных блокови событий в системе (синхронизация во времени, координацияс другими блоками).Таким образом, функционирование модели Мы должно протекать в искусственном (не в реальном и не в машинном) времени,обеспечивая появление событий в требуемом логикой работы исследуемой системы порядке и с надлежащими временными интервалами между ними.
При этом надо учитывать, что элементы реальной системы S функционируют одновременно (параллельно), а компоненты машинной модели Мм действуют последовательно, так какреализуются с помощью ЭВМ последовательного действия. Поскольку в различных частях объекта моделирования события могутвозникать одновременно, то для сохранения адекватности причинно-следственных временных связей необходимо в ЯИМ создать«механизм» задания времени для синхронизации действий элементов модели системы [17, 46].Задание времени в машинной модели. Как уже отмечалось в гл. 3,существует два основных подхода к заданию времени: с помощьюпостоянных и переменных интервалов времени, которым соответствуют два принципа реализации моделирующих алгоритмов, т. е.«принцип Дг» и «принцип 5z».Рассмотрим соответствующие спрособы управления временем в модели системыМ(S) на примере, показанном на рис.
3.2, где но оси реального временя отложенапоследовательность событий в системе {s,) во времени, причем события sA и s5происходят одновременно (рис. S.2, а). Под действием событий s, изменяютсясостояния модели z, в момент времени tzi, причем такое изменение происходитскачком 5г.В модели, построенной по «принципу Д(» (рис. 5.2, б), моменты системного149времени будут последовательно принимать значения t^—Al, t'2=2At, t'3=3At,t'A=4At, t'5=5At. Эти моменты системного времени <у'(Л() никак не связаныс моментами появления событий sh которые имитируются в модели системы.Системное время при этом получаетпостоянное приращение, выбираемоеи задаваемое перед началом имитационного эксперимента.В модели, построенной по «принципу дз» (рис.
5.2, в), изменение времени наступает в момент смены состоРис. 5.2. Способы управления временемяния системы, и последовательностьв модели системымоментов системного времени имеетвид <,"=<*!, f j - t e , ' j - ' r i . Ч-tt*.'5 = 'i5, т. е. моменты системного времени t£(5z) непосредственно связаны с моментами появления событий в системе st.У каждого из этих методов есть свои преимущества с точкизрения адекватного отражения реальных событий в системе 5 и затрат машинных ресурсов на моделирование. При использовании«принципа 8z» события обрабатываются последовательно и времясмещается каждый раз вперед до начала следующего события.В модели, построенной по «принципу At», обработка событий происходит по группам, пакетам или множествам событий.