Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Моделирование на языке Симула - 67






 

Язык СИМУЛА ориентирован на взаимодействие процессов и пред-ставляет собой расширение уни­версального языка АЛГОЛ в части средств описания и анализа сложных систем. Минимальное число основных понятий, используемых в языке, обеспечивает ему большую гибкость.

В основе описания моделируемой системы лежит представление о ней как совокупности процессов. Процессом в языке СИМУЛА называется объект, работа которого привязана к системному времени, т.е. последо-вательности активных фаз такого объекта соответствует последовательность моментов системного времени. Исполнение активной фазы процесса называется событием. События отображают изменения со­стояния модели-руемой системы. Каждому событию при работе модели соответствует опре-деленный момент системного времени, при чем в ходе события системное время не меняется. Нескольким событиям модели может соответствовать один и тот же момент системного времени, что позволяет отображать одно-времен­ные события, происходящие в моделируемой системе. Работа процес-сов и их взаимодействие отражают функционирование системы. Процесс может находиться в одном из четырех состояний: активном, приостановлен-ном, пассивном, законченном.

Активным в каждый момент времени является только один процесс, на который указывает первое уве­домление в управляющем списке (календаре событий). Этот процесс в данный момент непосредственно исполняет операторы, описывающие его правила действии.

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

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

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

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

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

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

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

К сказанному добавим, что в дополнении к средствам Алгола-60 язык содержит удобный аппарат описа­ния новых понятий, средства обработки текстовой информации, стандартные средства ввода-вывода, сред­ства для организации квазипаралельного исполнения компонентов программы. Важной также является возможность построения на его основе и его средствами специализированных языков программирования и пакетов прикладных программ, содержащих основные понятия, выработанные в некоторой предметной области. Язык разработан в Норвежском вычислительном центре и наиболее широко используется для решения задач имитационного моделирования.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.