Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

5.1. Основы систематизации языков имитационного моделирования

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

Качество языков моделирования характеризуется:

· удобством описания процесса функционирования системы S;

· удобством ввода исходных данных моделирования и варьирования структуры, алгоритмов и параметров модели;

· реализуемостью статистического моделирования;

· эффективностью анализа и вывода результатов моделирования;

· простотой отладки и контроля работы моделирующей программы;

· доступностью восприятия и использования языка.

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

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

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

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

Достоинства и недостатки языков имитационного моделирования. Преимущества языков имитационного моделирования (ЯИМ) по сравнению с универсальными языками общего назначения (ЯОН) следующие:

1) язык моделирования содержит абстрактные конструкции, непосредственно отражающие понятия, в которых представлена формализованная модель, и близкие концептуальному уровню описания моделируемой системы. Это упрощает программирование имитатора, позволяет автоматизировать выявление многих ошибок в программах;

2) языки моделирования имеют эффективный встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.), средства разрешения временных узлов;

3) языки моделирования, как правило, содержат встроенные датчики случайных чисел, генераторы других типовых воздействий;

4) в языках моделирования автоматизирован сбор стандартной статистики и других результатов моделирования, имеются средства автоматизации выдачи этих результатов в табличной или графической форме;

5) языки моделирования имеют средства, упрощающие программирование имитационных экспериментов, в частности, автоматизирующие установку начального состояния и перезапуск модели.

Недостатки языков имитационного моделирования:

1) используются только стандартные формы вывода результатов моделирования;

2) недостаточная распространенность языков моделирования, которые, как правило, не входят в штатное программное обеспечение операционных систем;

3) необходимость дополнительного обучения языкам моделирования и, как следствие, недостаток программистов, хорошо владеющих языками моделирования;

4) отсутствие гибкости и широких возможностей, присущих универсальным языкам программирования.

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

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

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

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

1) объекты моделирования (системы S) описываются (отображаются в языке) с помощью некоторых атрибутов языка;

2) атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе S;

3) процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействия этих процессов во времени;

4) условия влияют на события, имеющие место внутри объекта моделирования (системы S) и при взаимодействии с внешней средой Е;

5) события изменяют состояния модели системы М в пространстве и во времени.

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

 

 

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

 

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

1) корректировка временной координаты состояния системы («продвижение» времени, организация «часов»);

2) обеспечение согласованности различных блоков и событий в системе (синхронизация во времени, координация с другими блоками).

Существует два основных подхода к заданию времени: с помощью постоянных и переменных интервалов времени, которым соответствуют два принципа реализации моделирующих алгоритмов, т.е. «принцип D t» и «принцип dz».

Рассмотрим соответствующие способы управления временем в модели на примере, показанном на рис. 5.2, где по оси реального времени отложена последовательность событий в системе { si } во времени, причем события s 4 и s 5 происходят одновременно (рис. 5.2, а). Под действием событий si изменяются состояния модели zi в момент времени tzi, причем такое изменение происходит скачком dz.

В модели, построенной по «принципу D t» (рис. 5.2, б), моменты системного времени будут последовательно принимать значения t 1 '= D t, t 2 '= 2D t, t 3 '= 3D t, t 4 ' =4D t, t 5 '= 5D t. Эти моменты системного времени tj' (D t) никак не связаны с моментами появления событий si, которые имитируются в модели системы. Системное время при этом получает постоянное приращение, выбираемое и задаваемое перед началом имитационного эксперимента.

a

 

S 1 S 2 S 3 S 4 S 5 S 6

0 t

ts 1 ts 2 ts 3 ts 4 = ts 5 ts 6

 

б

0 t

D t t 1 ' t 2 ' t 3 ' t 4 ' t 5 '

 

в

Z 1 Z 2 Z 3 Z 4, Z 5 Z 6

0 t

t 1 '' t 2 '' t 3 '' t 4 '' t 5 ''

 

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

 

В модели, построенной по «принципу dz» (рис. 5.2, в), изменение времени наступает в момент смены состояния системы, и последовательность моментов системного времени имеет вид: t 1 '' = tz 1, t 2 '' = tz 2, t 3 '' = tz 3, t 4 '' = tz 4, t 5 '' = tz 5, т.е. моменты системного времени tk'' (dz) непосредственно связаны с моментами появления событий в системе si.

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

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

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

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

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

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

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

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

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

5.2. Сравнительный анализ языков имитационного моделирования

Основы классификации языков моделирования. Классификация языков для программирования моделей систем приведена на рис. 5.3. Для моделирования систем используются как универсальные и процедурно-ориентированные ЯОН, так и специализированные ЯИМ.

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

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

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

 

 


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

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

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

1) элементы моделируемой системы S описываются и вводятся с помощью карт определений;

2) вводятся начальные условия;

3) фиксируются и вводятся исходные значения временных параметров;

4) составляются подпрограммы для каждого события;

5) составляется перечень событий и указывается время свершения каждого эндогенного события.

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

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

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

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

Сравнение эффективности языков. При анализе эффективности использования для моделирования конкретной системы S того или иного ЯИМ (или ЯОН) выделяют несколько важных свойств языков:

· возможность описания структуры и алгоритмов поведения исследуемой системы S в терминах языка;

· простота применения для построения модели М, ее машинной реализации и обработки результатов моделирования;

· предпочтение пользователя, обычно отдаваемое языку, который ему более знаком или который обладает большей степенью универсальности, и т.д.

Результаты сравнения различных языков при моделировании сведены в табл. 5.1. Языки даны в порядке уменьшения их эффективности.

Таблица 5.1

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

 

Выбор языка моделирования системы. Основываясь на классификации языков (рис. 5.3) и исходя из оценки эффективности
(табл. 5.1), выбор языка для решения задачи машинного моделирования конкретной системы S можно представить в виде дерева решений (рис. 5.4).

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

 

 

 

 


Рис. 5.4. Дерево решений выбора языка для моделирования системы

Если в модели М при моделировании системы S имеют место как непрерывные, так и дискретные переменные, отражающие динамику системы и логику ее поведения (блок 4), то рекомендуется использовать для моделирования ГВК (блок 5). Если моделирование конкретной системы S представляет собой единичный акт (блок 6), то, вероятно, в ущерб концептуальной выразительности модели МК и отладочным средствам для проверки логики машинной модели ММ следует выбрать более распространенные и более гибкие ЯОН (блок 7).

Если при моделировании на универсальной ЭВМ выбран непрерывный подход (блок 8), то следует остановить выбор на одном из языков, позволяющих отразить динамику системы при наличии обратных связей (блок 9). При этом могут быть приняты языки непрерывного типа DYNAMO, MIMIC либо комбинированные (дискретно-непрерывные) – GASP.

Если в основу модели М положена дискретная математическая схема и в ней при построении моделирующего алгоритма используется «принцип D t» или «принцип dz», причем имитируются взаимодействующие элементы статической природы при неравномерности событий во времени (блок 10), то рационально воспользоваться ЯИМ, ориентированным на действия, например FORSIM, CSL.

Если в модели М описывается малое число взаимодействующих процессов и имеется большое число элементов (блок 12), то целесообразно выбрать для построения моделирующих алгоритмов «принцип D t» и остановиться на ЯИМ событий (блок 13), например SIMSCRIPT, GASP и т. п.

Если для программирования модели более эффективен ЯИМ, позволяющий описать большое число взаимодействующих процессов
(блок 14), то следует использовать языки процессов (блок 15),которые не связаны с использованием блоков только определенных типов, например в транзактных языках. Наиболее распространенными языками описания процессов являются языки SIMULA и SOL.

И наконец, если предпочтение отдается блочной конструкции модели М при наличии минимального опыта в программировании (блок 16), то следует выбирать ЯИМ транзактов типа GPSS, BOSS (блок 17), но при этом надо помнить, что они негибки и требуют большого объема памяти и затрат машинного времени на прогон программ моделирования.

Если перечисленные средства по той или иной причине не подходят для целей моделирования конкретной системы S (блок 18), то надо снова провести модификацию модели М либо попытаться решить задачу с использованием ЯОН на универсальной ЭВМ.

Примеры дискретных, непрерывных и комбинированных ЯИМ приведены в табл. 5.2.

Таблица 5.2

Название языка Тип Примечание
ACSL Непрерывный Advanced Continuous Simulation Language
ALSIM Дискретный ALgol SIMulation
ANDSIM Непрерывный ANAlog Digital SIMulator
APLIS Комбинированный APL Simulation
CDL Дискретный Computer Design Language
COSMO Непрерывный Compartment System MOdeling
CSL Дискретный Control and Simulation Language
CSSL Непрерывный Continuous System Simulation Language
DEMOS Дискретный Discrete Event MOdeling in Simula
DIANA Комбинированный DIgital-ANAlog simulator
DISCO Комбинированный DISrete-COntinuous
DYNAMO Непрерывный DYNAmic MOdels

 

Окончание табл. 5.2

FORSIM Непрерывный Forran ORiented Simulator
GASP Комбинированный General Activity Simulation Program
GEMS Непрерывный General Equation Modeling System
GPSS Дискретный General Processing Simulation System
IPSS Дискретный Information processing Simulation System
MIDAS Непрерывный Modified Integration Digital Analog Simulator
SAM Непрерывный Simulation of Analogue Methods
SIMSCRIPT Дискретный SIMulation SCRIPTure
SIMULA Дискретный SIMUlation LAnguage
SOL Дискретный Simulation Oriented Language
VANS Дискретный Value Added Network Simulator

 

5.3. Пакеты прикладных программ моделирования систем

 

АСМ и ППМ. Автоматизированная система моделирования (АСМ) позволяет повысить эффективность выполнения пользователем следующих этапов имитационного моделирования:

· преобразование к типовым математическим схемам элементов моделируемой системы S и построение схем сопряжения;

· обработка и анализ результатов моделирования системы S;

· реализация интерактивного режима с пользователем в процессе моделирования системы S.

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

В структуре ППМ можно выделить три основных компонента: функциональное наполнение, язык заданий и системное наполнение.

Функциональное наполнение пакета. Функциональное наполнение ППМ отражает специфику предметной области применительно к конкретному объекту моделирования, т.е. системе S, и представляет собой совокупность модулей. Под модулем здесь понимается конструктивный элемент, используемый на различных стадиях функционирования пакета. Язык (языки), на котором записываются модули функционального наполнения, будем называть базовым языком ППМ. Состав функционального наполнения пакета, его мощность или полнота охвата им предметной области отражают объем прикладных знаний, заложенных в ППМ, т.е. потенциальный уровень тематической квалификации пакета.

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

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

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

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

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

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

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

- конструирования схем программ, в которых указывается порядок выполнения и взаимодействия модулей при моделировании конкретной системы S;

- развития или модификации функционального наполнения ппм;

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

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

Язык заданий ППМ может быть реализован как в форме самостоятельного языка, так и в форме встроенного языка, т.е. расширения существующего языка программирования.

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

- штатных общецелевых средств системного обеспечения;

- средств системного наполнения, расширяющих и сопрягающих возможности компонентов штатного обеспечения;

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

Язык, на котором пишутся программы системного наполнения пакета, называется инструментальным языком ППМ.

Традиционными составляющими системного наполнения пакета являются:

- резидентный монитор, осуществляющий интерфейс как между отдельными компонентами системного наполнения, так и между ними и штатным программным обеспечением;

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

- интерпретатор внутреннего представления задания;

- архив функционального наполнения (подсистема хранения программного материала);

- банк данных об объекте моделирования и машинном экс­перименте;

- монитор организации процесса машинного моделирования (взаимодействия модулей по данным и управлению);

- планировщик процесса машинного моделирования, который определяет последовательность выполнения модулей, реализующую задание ППМ;

- монитор организации интерактивного взаимодействия с пользователем (исследователем системы S).

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

К программным средствам ППМ относятся:

1) набор программных модулей (тело пакета), из которых в соответствии с требованиями пользователя по заданному алгоритму набирается конкретная рабочая программа моделирования заданного объекта;

2) управляющая программа, представляющая собой аналог супервизора ЭВМ;

3) средства генерации рабочих программ для конкретного применения при решении задач моделирования систем.

Различают две разновидности генерации рабочих программ моделирования: статическую и динамическую.

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

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

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

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

Структурно АСМ можно разбить на следующие комплексы программ:

1) формирования базы данных об объекте моделирования (БДО);

2) формирования базы данных о машинном эксперименте (БДЭ);

3) моделирования процесса функционирования объекта;

4) расширения возможностей ППМ;

5) организации различных режимов работы ППМ.

Комплекс программ формирования БДО реализует все работы по созданию в АСМ сведений о моделируемом объекте, т.е. системе S. Информация об объекте может корректироваться. Для формирования БДО требуются следующие программы:

· ввода данных об объекте (сведения об элементах системы, типовых математических схемах и операторах их сопряжения);

· корректировки введенной информации;

· перевода в стандартную форму;

· диспетчеризации процедур ввода;

· формирования БДО (расположения информации во внешней памяти).

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

· ввода данных о планируемом эксперименте (сведений о факторах, реакциях, начальных состояниях и т.п.);

· формирования БДЭ (выделения сведений из БДО, необходимых и достаточных для реализации конкретного машинного эксперимента с моделью Мм);

· корректировки введенной информации о машинном эксперименте;

· расположения информации в архивах во внешней и оперативной памяти ЭВМ.

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

· управления машинным экспериментом,

· реализация стратегии эксперимента и его диспетчеризация;

· машинной имитации, включая организацию вычислений и взаимосвязь модулей модели ММ;

· обработки и выдачи результатов моделирования системы S в различных режимах взаимодействия с пользователем.

Комплекс программ расширения возможностей ППМ призван обеспечить пользователя средствами генерации новых программ моделирования при различных перестройках (объекта моделирования, машинного эксперимента, обработки результатов и т.п.

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

 

5.4. Диалоговая система и банк данных моделирования

 

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

Особенности диалоговых систем моделирования коллективного пользования:

· возможность одновременной работы многих пользователей, занятых разработкой одной системы S;

· доступ пользователей к программно-техническим ресурсам системы моделирования, включая распределенные банки данных и пакеты прикладных программ моделирования;

· обеспечение диалогового режима работы с различными вычислительными машинами и устройствами, включая цифровые и аналоговые вычислительные машины, установки физического моделирования, элементы реальных систем и т.п.;

· диспетчирование работ в АСМ и оказание различных услуг пользователям, включая обучение работе с диалоговой системой моделирования;

· использование сетевых технологий.

Рассмотрим организацию интерактивного процесса создания моделирующей программы. Схема построения машинной модели с помощью программного генератора приведена на рис. 5.5.

 

 

 

 


Рис. 5.5. Схема построения машинной модели с помощью программного генератора

 

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

Затем с помощью средств ППМ проводятся формализация и алгоритмизация модели М (блок 3). Далее пользователь имеет возможность выбрать, исходя из особенностей модели и имеющихся в его распоряжении программно-технических средств, язык моделирования ЯОН или ЯИМ
(блок 4), а в интерактивном режиме проанализировать структуру входных данных моделирования и проверить совместимость логики модели системы и выбранного для моделирования языка (блок 5). В зависимости от этого решается вопрос о реализуемости модели на ЭВМ (блок 6): если модель требует внесения изменений, связанных с возможностью ее машинной реализации, то проводится ее модификация и доработка схемы (блок 2), а если модель реализуют на ЭВМ, то конструируют программу моделирования системы (блок 7). И если такая программа по своим свойствам удовлетворяет пользователя (блок 8), то в режиме диалога реализуется окончательное построение рабочей программы машинной модели Мм с помощью имеющихся средств редактирования (блок 9). В том случае, когда, по мнению пользователя, конструкция программы не является удовлетворительной, имеется возможность дальнейших модификаций и исправления схемы модели системы (блок 2).

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

 

 

 


Рис. 5.6. Структура банка данных автоматизированной системы моделирования

 

Банк данных моделирования включает в себя следующие структурные элементы:

· информационный фонд – организованную совокупность данных моделирования, т.е. базы данных объекта и эксперимента;

· специализированное математическое обеспечение для управления банком данных;

· информационные языки для описания и манипулирования с данными об объекте моделирования и машинном эксперименте;

· администратор банка данных;

· справочные и служебные данные, необходимые для нормального функционирования банка данных;

· технические средства банка данных.

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

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

· управление компонентами системы;

· организация их взаимодействия;

· осуществление связи с операционной системой и администратором банка;

· выполнение основных операций над данными;

· контроль и защита целостности данных;

· редактирование вывода;

· кодирование (декодирование) и сжатие (расширение) данных;

· сбор статистики;

· ведение протокола в процессе моделирования.

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

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

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

Банк данных моделирования функционирует следующим образом
(рис. 5.6). Поступивший в банк в процессе построения концептуальной модели Мк или работы с машинной моделью Мм запрос проходит этап предварительной обработки, состоящей из синтаксического и логического контроля запроса. При этом логический контроль включает в себя проверку пароля пользователей и отсутствия недопустимых сочетаний признаков в задачах моделирования. При обнаружении ошибок запрос к дальнейшей обработке не принимается, а на печать выдается информация об ошибках. Следующий этап – интерпретация запроса – распознавание вида запроса: на выдачу информации об объекте моделирования, на формирование рабочих массивов, на изменение или пополнение БДО и БДЭ. На этом этапе запрос с языка заданий переводится на язык манипулирования данными.

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

Таким образом, база данных моделирования, имеющаяся в банке данных, позволяет создать единое (интегрированное) информационное обеспечение АСМ, т.е. в ней хранится как информация, необходимая для построения моделей различных объектов, так и информация, необходимая для планирования и проведения машинного эксперимента.

 

5.5. Моделирующие комплексы

В машинном моделировании систем используется вычислительная техника трех типов: ЭВМ, АВМ и ГВК. ГВК называются гибридными или аналого-цифровыми моделирующими комплексами (АЦМК).

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

Характерные черты для АВМ:

1) зависимые переменные модели системы S представляются в непрерывном виде;

2) точность результатов моделирования определяется качеством компонентов электрических схем АВМ;

3) возможность одновременного выполнения параллельных вычислительных операций;

4) возможность выполнения операций в реальном или ускоренном масштабе времени;

5) операции сложения, вычитания, умножения, дифференцирования, интегрирования, генерирования непрерывных функций выполняются весьма эффективно, но имеются ограниченные возможности выполнения логических действий, накопления цифровых данных, обеспечения длительных задержек, обработки информации;

6) технология программирования состоит в основном в замещении элементами АВМ (такими, как операционные усилители, интеграторы и т. п.) соответствующих элементов моделируемой системы S;

7) к АВМ можно подключить блоки реальной системы S при комбинированном моделировании;

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

Характерные черты ЭВМ:

1) вся обработка промежуточной и результирующей информации в процессе моделирования системы S реализуется в дискретном виде;

2) все операции по работе с машинной моделью Мм выполняются последовательно;

3) точность результатов моделирования системы S определяется главным образом выбранными численными методами решения задачи и формой представления чисел;

4) время решения определяется сложностью задачи моделирования системы S, т.е. числом операций, необходимых для получения результатов моделирования;

5) наличие компромисса между временем решения и точностью результатов моделирования системы S;

6) применяется ограниченное число арифметических операций (сложение, вычитание, умножение и деление), но с помощью численных методов можно в модели на базе этих исходных операций реализовать и более сложные, например дифференцирование, интегрирование и т.д.;

7) для выполнения логических операций и принятия решений в процессе моделирования используются как цифровые, так и нецифровые данные;

8) предусматриваются операции с плавающей запятой, что устраняет трудности масштабирования модели;

9) методы программирования базируются как на ЯОН, так и на ЯИМ.

Современные ГВК представляют собой попытку объединить все лучшее, присущее цифровой и аналоговой технике, и избежать их недостатков. Аналоговая часть ГВК позволяет увеличить скорость вычислений и распараллелить процессы. Цифровая часть ГВК дает возможность:

1) управлять аналоговой частью машинной модели Мм при высоком быстродействии;

2) использовать устройства запоминания и хранения данных моделирования;

3) обеспечивать более высокую точность вычислений и применения логических операций при моделировании системы.

Преимущества ГВК:

1) сочетает быстродействие АВМ и точ­ность ЭВМ, что позволяет расширить класс моделируемых объектов;

2) в процессе машинного моделирования позволяет использовать реальные технические средства и части исследуемой конкретной системы S;

3) обеспечивает гибкость аналогового моделирования благодаря использованию логики и памяти ЭВМ;

4) увеличивает быстродействие ЭВМ за счет использования аналоговых подпрограмм;

5) делает возможной обработку входной информации о модели системы, представленной частично в дискретной и непрерывной формах.

При использовании ГВК существенно упрощается вопрос взаимодействия с датчиками, установленными на реальных объектах, что позволяет, в свою очередь, проводить комбинированное моделирование с использованием аналого-цифровой части модели и натурной части объекта.

Аналого-ориентированные комплексы используются в тех случаях, когда не требуется высокая точность результатов и когда моделируемая система S реализуема аналоговыми средствами. Системы такого класса исследуются на АЦМК, в которых цифровые средства необходимы на этапе подготовки модели для автоматизации набора задачи, накопления и обработки результатов моделирования. Сама же модель системы S реализуется исключительно на аналоговом вычислителе (аналоговое моделирование). Наряду с указанными функциями ЭВМ может выполнять задачи управления АВМ в процессе реализации модели. АЦМК с цифровым управлением и цифровой логикой способны воспроизводить более сложные модели по сравнению со стандартными АВМ. К аналого-ориентированным АЦМК относятся также комплексы, в которых ЦВМ применяются в качестве периферийного оборудования.

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

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

 

<== предыдущая лекция | следующая лекция ==>
 | Планирование машинных экспериментов с моделями систем
Поделиться с друзьями:


Дата добавления: 2013-12-11; Просмотров: 4472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.259 сек.