Инструментальные средства систем компьютерного моделирования

Автор: Пользователь скрыл имя, 18 Декабря 2012 в 22:35, курсовая работа

Краткое описание

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

Оглавление

Введение…………………………………………………………....................... 3
1. Основы систематизации языков имитационного моделирования…... 4
1.1 Моделирование систем и языки программирования…………… 4
1.2 Особенности использования алгоритмических языков………… 7
1.3 Подходы к разработке языков моделирования………………..... 9
1.4 Архитектура языков моделирования……………………………. 10
1.5 Задание времени в машинной модели…………………………... 12
1.6 Требования к языкам имитационного моделирования………… 14
2. Сравнение характеристик языков имитационного моделирования… 16
2.1 Основы классификации языков моделирования……………….. 16
2.2 Сравнение эффективности языков……………………………… 22
Заключение……………………………………………………………………. 27
Список используемой литературы……………………………………………28

Файлы: 1 файл

курсовая работа.doc

— 473.00 Кб (Скачать)

 

 

    1. Архитектура языков моделирования

 

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

Типовая схема архитектуры  языков имитационного моделирования и технология его использования при моделировании систем показана на рис.1.

Рис. 1. Типовая схема  архитектуры языков имитационного  моделирования и технология его  использования

 

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

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

 

    1. Задание времени в машинной модели

 

Существует два основных подхода к заданию времени: с помощью постоянных и переменных интервалов времени, которым соответствуют два принципа реализации моделирующих алгоритмов, т. е. "принцип Δt" и "принцип δz".

Рассмотрим соответствующие  способы управления временем в модели системы M(S) на примере, показанном на рис. 2, где по оси реального времени отложена последовательность событий в системе {si} во времени, причем события s4 и s5 происходят одновременно (рис. 2, а). Под действием событий si изменяются состояния модели zi в момент времени tzi, причем такое изменение происходит скачком δz.

В модели, построенной по "принципу Δ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, которые имитируются в модели системы. Системное время при этом получает постоянное приращение, выбираемое в задаваемое перед началом имитационного эксперимента.

 

Рис. 2. Способы управления времемнем  в модели системы

 

В модели, построенной по "принципу δ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. Требования к языкам имитационного моделирования

имитационное  моделирование алгоритмический  язык программирование

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

  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. События первого типа наступают в результате выполнения условий, относящихся к законам изменения непрерывных.

 

 

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

 

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

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

Информация о работе Инструментальные средства систем компьютерного моделирования