Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 37
Текст из файла (страница 37)
Первая группа ЯИМ подразумевает наличие спискасобытий, отличающих моменты начала выполнения операций.Продвижение времени осуществляется по событиям, в моментынаступления которых производятся необходимые операции, включая операции пополнения списка событий. Примером языка событий является язык SIMSCRIPT. Разработчики языка SIMSCRIPTисходили нз того, что каждая модель Мм состоит из элементов,с которыми происходят события, представляющие собой последовательность предложений, изменяющих состояния моделируемойсистемы в различные моменты времени.
Моделирование с помощью языка SIMSCRIPT включает в себя следующие этапы': а) элементы моделируемой системы S описываются и вводятся с помощью карт определений; б) вводятся начальные условия; в) фиксируются и вводятся исходные значения временных параметров; г)составляются подпрограммы для каждого события; д) составляетсяперечень событий и указывается время свершения каждого эндогенного события. Команды языка SIMSCRIPT группируются следующим образом: операции над временными объектами, арифметические и логические операции и команды управления, командыввода-вывода, специальные команды обработки результатов. К центральным понятиям языка SIMSCRIPT относятся обработка списков с компонентами, определяемыми пользователем, и последовательность событий в системном времени.
При этом имеются специальные языковые средства для работы с множествами.При использовании ЯИМ второй группы после пересчетасистемного времени, в отличие от схемы языка событий, просмотрдействий с целью проверки выполнения условий начала или окончания какого-либо действия производится непрерывно. Просмотрдействий определяет очередность появления событий. Языки данного типа имеют в своей основе поисковый алгоритм, и динамика154системы S описывается в терминах действий.
Примером языкадействий (работ) является ЯИМ FORSIM, представляющий собойпакет прикладных программ, который позволяет оперировать только фиксированными массивами данных, описывающих объекты моделируемой системы. С его помощью нельзя имитировать системыпеременного состава. При этом размеры массивов устанавливаютсялибо во время компиляции программы, либо в самом начале ееработы.Язык FORSIM удобен для описания систем с большим числомразнообразных ресурсов, так как он позволяет записывать условияих доступности в компактной форме. Конкретный способ формализации модели на языке действий в достаточной степени произволен и остается на усмотрение программиста, что требует егодостаточно высокой квалификации. Полное описание динамики модели Мм можно получить с помощью разных наборов подпрограмм.Третья группа ЯИМ описывает системы, поведение которыхопределяется процессами.
В данном случае под процессом понимается последовательность событий, связь между которыми устанавливается с помощью набора специальных отношений. Динамиказаложена в независимо управляемых программах, которые в совокупности составляют программу процесса. Пример языка процессов — язык SIMULA, в котором осуществляется блочное представление моделируемой системы Sc использованием понятия процессадля формализации элементов, на которые разбивается моделируемая система. Процесс задается набором признаков, характеризующих его структуру, и программой функционирования. Функционирование каждого процесса разбивается на этапы, протекающиев системном времени.Главная роль в языке SIMULA отводится понятию параллельного оперирования с процессами в системном времени, а такжеуниверсальной обработке списков с процессами в роли компонент.Специальные языковые средства предусмотрены для манипуляцийс упорядоченными множествами процессов.В отдельную группу могут быть выделены ЯИМ типа GPSS,хотя принципиально их можно отнести к группе языков процессов.Язык GPSS представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственного движенияобъектов.
Такие динамические объекты в языке GPSS называютсятранзактами и представляют собой элементы потока. В процессеимитации транзакты «создаются» и «уничтожаются». Функциюкаждого из них можно представить как движение через модельМм с поочередным воздействием на ее блоки. Функциональныйаппарат языка образуют блоки, описывающие логику модели,сообщая транзактам, куда двигаться и что делать дальше.Данные для ЭВМ подготавливаются в виде пакета управляющих155и определяющих карт, который составляется по схеме модели,набранной из стандартных символов.
Созданная (гР55-программа,работая в режиме интерпретации, генерирует и передает транзактыиз блока в блок в соответствии с правилами, устанавливаемымиблоками. Каждый переход транзакта приписывается к определенному моменту системного времени.Сравнение эффективности языков. При анализе эффективностииспользования для моделирования конкретной системы S того илииного ЯИМ (или ЯОН) выделяют несколько важных свойств языков: возможность описания структуры и алгоритмов поведенияисследуемой системы S в терминах языка; простота применения дляпостроения модели М, ее машинной реализации и обработки результатов моделирования; предпочтение пользователя, обычно отдаваемое языку, который ему более знаком или который обладаетбольшей степенью универсальности, и т.
д. При этом, естественно,большее количество команд ЯИМ обеспечивает лучшие возможности при написании программы моделирования. Однако вместес увеличением числа команд возрастают трудности использованияЯИМ, поэтому пользователь обычно отдает предпочтение языкам,обладающим большей гибкостью при минимальном количествекоманд.Исходя из этих соображений, приводились экспертные оценкидля сравнения различных языков при моделировании широкогокласса систем. Результаты оценок сведены в табл. 5.1.
Языки даныв порядке уменьшения их эффективности.Таблица 5.1Возможности языкаПростота примененияПредпочтение пользователяSIMULASIMSCRIPTGPSSGPSSSIMSCRIPTSIMULASIMSCRIPTGPSSSIMULAПеречисленные особенности ЯИМ во многом определяют возможности выбора того или иного языка для целей проведенияимитационного эксперимента с моделью системы S, причем в каждом конкретном случае на выбор языка моделирования оказываютвлияние многие факторы его практической реализации. Задачи выбора ЯИМ должны рассматриваться как одна из комплекса задач,решаемых при автоматизации процесса моделирования систем с использованием современных ЭВМ [7, 12, 25, 34].Выбор языка моделирования системы.
Основываясь на классификации языков (рис. 5.3) и исходя из оценки эффективности (табл.5.1), можно рассмотреть подход к выбору языка для решения задачимашинного моделирования конкретной системы S. Такой подходможно представить в виде дерева решений с соответствующимикомментариями (рис. 5.4). Перед тем как пользоваться деревом156решений, разработчикуt-r-1Постановка задачимашинной модели Мм немашинногомоделирования системы Sобходимо выполнить всеподэтапы первого этапа- 3(построение концептуаль г Использованиедляной модели системы и еемоделированиясистемыАВМформализация), а такжепредшествующие данноИспользование дляму 6-му подэтапу подэтамоделированияпы 2-го этапа (алгоритмисистемы ГВ Кзация модели и ее машинИспользование языканая реализация) (см.
рис.общего назначения3.1). Приход в тот илиFORTRAN, ALML.PL/tиной конечный (нечетный)блок схемы дерева решеИспольэованивязыка,ориентированного наний (рис. 5.4) означает реописание динамикикомендацию более подроDYNAMO.MIMICGASPбно рассмотреть указан•ItИспользование РИМ,ные в нем техническиеориентированногосредства или языки (ЯИМна_действие_FOR SIM.CSlT~и ЯОН), причем здесь для-13•иллюстрации приведеныИспользование Я ИМ,^.^^/исла"процессов,-**.лишь примеры основныхориентированного' ~*-%^£ольшае числа зле-^на событияязыков, употребляемыхнаиболее часто при моде• 15Использавание ЯИМ,лировании систем.ориентированногона_п£рлеооь'_Исходя из постановки~S~IMULA. SOL• /7задачи машинного модеИспользование ЯИМ,лирования конкретной сиориентированногона транзактыстемы S, поставленныхCPSS, BOSSцелей, выбранных крите/Пересмотр постоно6ки\ 'риев оценки эффективно-/задачи моделирования V-Iсти и заданных ограниче- 'т^истемы или выбор ЯОМний (блок 1), можно сделать вывод о размерностирИс.