русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 2307; Нарушение авторских прав


Классификация языков моделирования

Языки моделирования дискретных систем в зависимости от подхода к описанию рассматриваемых объектов можно разделить на классы языков, ориентированных на события, активности (действия, работы) или процессы.

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

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

Язык процессов допускает объединение нескольких событий в одну программу, что облегчает описание динамики системы. Принципиальная особенность программы процесса в том, что она выполняется так, как будто состоит из отдельных независимо управляемых программ. У каждого процесса может быть несколько точек взаимодействия (связи) с другими процессами и несколько активных фаз. Каждая фаза представляет собой некоторое событие. Это отличает язык процессов от языков активностей и событий. К процессно-ориентированным языкам относятся gpss, simula, sol, aspol.



Поисковый алгоритм и механизм планирования событий представляют собой различные пути решения одной проблемы. Язык активностей с поисковой схемой эффективен для описания сильно взаимосвязанных процессов, охватывающих фиксированное число объектов. Планирование событий эффективно для имитации менее связанных процессов с большим (возможно, переменным) числом объектов. Одно из неудобств схемы расписания событий заключается в дроблении логического блока модели. Язык активностей лишен этого недостатка, но, вообще говоря, менее эффективен с вычислительной точки зрения. Описание системы на языке взаимодействия параллельных процессов представляет собой попытку объединить машинную эффективность языка событий и лаконичность языка активностей. Однако более простая организация моделирующей программы на языке, ориентированном на процессы, обеспечивается сложной по сравнению с программой на языке, ориентированном на события, системой имитации во времени, скрытой от программиста. В то же время, любую систему, описанную в терминах одной из перечисленных выше схем, можно смоделировать на основе двух других. Таким образом, обращение к тому или иному языку определяется удобствами моделирования, которые он предоставляет[6].

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

Наиболее общее интеррогативное управление определяет процесс функционирования модели по мере выполнения определенных логических условий; соответствующие операторы имеют вид “жди выполнения условия A. Операторы могут иметь явную (например, repeat … until A) или неявную форму.

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

В тех языках, где параметр задержки у всех элементов моделирующих систем одинаков (шаг Δt), т.е. их активные фазы синхронизированы, используется система автоматического планирования. Для нее период между активными фазами является системной переменной, а не атрибутом элемента. Такая система применяется в языке DYNAMO.

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

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

К числу основных средств ЯИМ относятся также средства создания и уничтожения объектов, управления очередями, планирования и упорядочивания событий, трассировки системы и сбора статистики, генерации случайных чисел с различными распределениями. Внешние декларации подпрограмм и функций могут быть помещены в отдельный файл, который включается в программу пользователя. ИМ может быть представлена следующим образом: объекты имеют атрибуты, могут принадлежать множествам, и могут использовать ресурсы. Синхронизация выполнения событий осуществляется при помощи двунаправленных циклически связных списков. Тип записи языка (например, Pascal) позволяет описать объекты, ресурсы и сообщения о событиях по специальным шаблонам. Так, поля записи объекта содержат идентификатор категории объекта, его имя и номер, указатели на положение в списке объектов, атрибуты, используемые при обработке списков, и т.д. Поля записи ресурса содержат имя ресурса и номер, количество имеющегося в наличии ресурса, доступные единицы ресурса, указатель на список объектов, ожидающих этот ресурс, и т.п. Уведомление о событии является записью с атрибутами: тип события, время наступления события, указатели положения события в списке событий, имя события и т.д. Подобное описание основных конструкций обеспечивает всю необходимую информацию для выполнения подпрограмм в ходе имитационного моделирования. Преимущество использования языка Pascal состоит в том, что для имитационного моделирования необходим лишь транслятор с языка. Применение стандартного Pascal делает программы переносимыми. Проектирование программ моделирования осуществляется по методу “сверху-вниз”, причем легче, чем на gpss или Fortran. Подпрограммы и структуры Pascal придают описанному подходу к моделированию большую гибкость. Кроме того, использование атрибутов объектов, ресурсов и сообщений позволяет осуществить не только дискретно-событийное, но и процессно-ориентированное моделирование аналогично тому, как это сделано в simula.

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

Для повторения прогонов с новыми параметрами модели в ЯИМ используются специальные средства.

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

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

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



<== предыдущая лекция | следующая лекция ==>
Машинная реализация имитационных моделей | Транзакты


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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