Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов. Системный анализ. Учебник для вузов.doc
Скачиваний:
449
Добавлен:
19.02.2016
Размер:
3.82 Mб
Скачать
  1. Композиция дискретных систем

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

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

о состояниях процесса в определенные моменты времени, дающие воз­можность оценить характеристики системы.

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

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

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

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

Динамическая компоновка системы

Активности. Характеристики производительности прямо или кос­венно связаны со скоростью, с которой система выполняет свою рабо­ту, поэтому они содержат время в качестве независимой переменной. Работа совершается путем выполнения активностей. Активность явля­ется наименьшей единицей работы. Активность рассматривается как единый дискретный шаг. С каждой активностью связано время выпол­нения. Активность может соответствовать определенному этапу вы­полнения команды в моделировании на уровне регистровых передач или выполнения целого задания в макроскопическом моделировании вычис­лительной системы. Независимо от содержания представляемой дея­тельности активность является единым динамическим объектом, ука­зывающим на совершение некоторой единицы работы.

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

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

События. Активности инициируются в результате совершения со­бытий. Событие представляет собой мгновенное изменение состояний некоторого объекта системы, который может быть как пассивным, так и активным. Окончание активности является событием, совершение которого может возбудить последующие активности. Такие события управляют следованием активностей внутри процесса и являются ло­кальными или внутренними событиями данного процесса. Инициализа­ция активности не означает немедленного ее выполнения. Начало вы­полнения находится в зависимости от наличия определенных условий, в число которых входит и инициализация данной активности. Инициализа­ция активности является результатом окончания заранее указанных од­ной или нескольких активностей. Можно считать, что активность, вы­полнение которой не может быть начато из-за отсутствия необходимых условий, находится в ожидании совершения событий, приводящих к появлению этих условий. События можно разделить на две категории: события следования, которые управляют инициализацией активностей BHjnrpn данного процесса, и события изменения состояний, которые уп­равляют выполнением активностей, относящихся в общем случае к независимым процессам. С точки зрения динамики система рассмат­ривается как совокупность связанных друг с другом процессов, причем вза­имодействие между ними управляется и координируется совершающими­ся событиями.

Описание процессов

В то время как динамическое поведение системы формируется в результате выполнения большого числа взаимодействующих процессов, сами эти процессы образуют относительно небольшое число классов. Чтобы описать поведение системы, достаточно указать некоторые классы процессов и задать значения атрибутов для конкретных процес­сов, являющихся элементами этих классов. Правила, описывающие поведение класса процессов, состоят из указаний активностей, входя­щих в процессы в определенных соотношениях следования, условий, управляющих их выполнением, и воздействий, оказываемых процесса­ми на атрибуты и состояния активных и пассивных объектов системы. Эти правила в совокупности называются описанием процесса; конкрет­ный процесс является случаем выполнения этого описания при заданных значениях атрибутов. Построение модели состоит из решения двух ос­новных задач. Первая задача сводится к тому, чтобы описать правила, задающие различные виды процессов, происходящих в системе. Вторая, наиболее трудная задача, заключается в том, чтобы указать значения атрибутов процессов или задать правила генерации этих значений. Рас­смотрим примеры классов и атрибутов на данных классах. Самым про­стым способом моделирования процесса является определение дли­тельности его операций в виде детерминированных величин, т.е. класс, которым будет описываться порядок следования активностей, - это де­терминированные величины. Задание атрибута на данном классе - это задание длительности выполнения конкретной операции. Следующим примером может служить моделирование длительности операции с помощью случайных величин. Тогда необходимо задать вид закона рас­пределения, т.е. сказать, что случайные величины будут моделировать­ся, скажем, как нормально распределенные величины, экспоненциально распределенные величины, гамма-распределенные величины и т.п. За­дание вида закона распределения означает задание класса (класс экс­поненциально распределенных величин). Атрибутами на данном классе будут параметры закона распределения. Для нормального закона - это математическое ожидание и дисперсия, для экспоненциального - ^ха­рактеристика, для Г-распределения - параметры масштаба и формы и т.д. Далее организовать выполнение процесса моделирования можно с помощью реализации случайных процессов. Тоща задание класса будет за­данием вида случайного процесса, например^ класс диффузионных процес­сов. Атрибуты класса - параметры процесса. Для диффузионных процес­сов - это параметры сноса и диффузии.

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

Организация процесса моделирования

Система выполнения имитационного процесса во времени включает в себя механизм динамического управления активными объектами модели. Ее сложность варьируется в значительных пределах в зависи­мости от класса реализуемого алгоритма.

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

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

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

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