- •Глава 1
- •1.1. Принципы системного подхода в моделировании
- •1.2. Общая характеристика проблемы
- •1.3. Классификация видов моделирования
- •1.4. Возможности и эффективность моделирования
- •Глава 2
- •2.1. Основные подходы к построению
- •2.2. Непрерывно-детерминированные модели
- •2.3. Дискретно-детерминированные модели
- •2.4. Дискретно-стохасгичеосие модели
- •2.5. Непрерывно-стохастические модели
- •2.6. Сетевые модели (n-схемы)
- •2.7. Комбинированные модели (a-схемы)
- •Глава 3
- •3.1. Методика разработки и машинной
- •3.2. Построение концептуальных моделей систем и их формализация
- •3.3. Алгоритмизация моделей систем и их машинная
- •2.7. Верификация и проверка достоверности схемы программы.
- •3.4. Получение и интерпретация результатов
- •Глава 4
- •4.1. Общая характеристика метода статистического моделирования
- •4.2. Псевдослучайные последовательности и процедуры
- •4.3. Проверка и улучшение качества последовательностей псевдослучайных чисел
- •4.4. Моделирование случайных воздействий
- •Глава 5
- •5.1. Основы систематизации языков имитационного моделирования
- •5.2. Сравнительный анализ языков
- •5.3. Пакеты прикладных программ моделирования
- •5.4. Базы данных моделирования
- •5 .5. Гибридные моделирующие комплексы
- •Глава 6
- •6.1. Методы теории планирования
- •6.2. Стратегическое планированиемашинных
- •6.3. Тактическое планирование машинных экспериментов
- •Глава 7
- •7.1. Особенности фиксации и статистической обработки результатов моделирования систем на эвм
- •7.2. Анализ и интерпретация результатов
- •7.3. Обработка результатов машинного
- •Глава 8
- •8.1. Иерархические модели процессов
- •8.2. Моделирование процессов
- •8.3. Моделирование процессов функционирования систем
- •8.4. Моделирование процессов
- •Глава 9
- •9.1. Гносеологические и информационные
- •9.2. Модели в адаптивных системах управления
- •9.3. Моделирование в системах управления
- •Глава 10
- •10.1. Общие правила построения и способы
- •10.2. Моделирование при разработке распределенных автоматизированных систем и информационных сетей
- •10.3. Моделирование при разработке организационных и производственных систем
8.3. Моделирование процессов функционирования систем
НА БАЗЕ N-CXEM
Особенности использования при моделировании систем сетевого подхода, реализуемого в виде N-схем, и основные понятия сетей Петри и их модификаций были даны в § 2.6. Рассмотрим возможности применения N-схем для формального описания процесса функционирования некоторой моделируемой системы S. Характерной особенностью N-схем является то, что с их помощью можно моделировать процессы в системах S, в которых происходит последовательная смена дискретных состояний, в том числе если эта смена происходит при выполнении разнообразных условий. Таким образом, с использованием N-схем могут быть описаны системы S, относящиеся к разным классам: аппаратные, физические, программные, экономические и т. д.
Структурный подход на базе N-схем. Применение аппарата N-схем позволяет осуществить структурный подход к построению имитационной модели системы S, при котором обеспечиваются наглядность модели, модульный принцип ее разработки (сборки), возможность перехода к автоматизированной интерактивной процедуре проектирования [30, 33, 54]. Рассмотрим особенности такого подхода, используя для общности и простоты понятия, введенные в § 8.2 для Q-схем, на следующих примерах.
Пример 8.6. Пусть процесс функционирования некоторой реальной системы S (процессор ЭВМ, мультиплексный канал, станок в технологической цепочке н т. п.), являющийся по своей природе процессом обслуживания, представлен в виде двухфазной одноканальной Q-схемы (рис. 8.16). Тогда этот процесс можно представить N-схемой, структура, которой показана на рис. 8.17.
Чтобы маркировать эту структуру, нужно задать состояние системы. Пусть в накопителе Ht находятся две заявки, в Н2, — заявок нет, канал обслуживания К1 свободен. Такому состоянию соответствует маркировка, показанная на рис. 8.18. Процесс выполнения этой N-схемы моделирует процесс функционирования системы S, представленной в виде Q-схемы.
Через переход d1 эта N-схема может быть сведена с другой N-схемой, моделирующей процесс порождения заявок на обслуживание, аналогично — по переходу dA — с системой потребления заявок.
Пример 8.7. Пусть имеется некоторая система S, например производственно-технологическая, процесс функционирования которой представлен в виде Q-схемы (рис. 8.19). По технологическому циклу для выполнения заказа необходимо выполнить две фазы обслуживания: сначала обслуживание в канале К1; затем либо в К2, либо в К,. Операторы F1 и F2 обслуживают (поддерживают в работоспособном состоянии) каналы, причем .F, обслуживает К1 и К2, z.F2 — K1и К3.
Тогда в этой системе могут быть следующие состояния:
а — заказ пришел и ждет в накопителе H1
б — заказ обработан К1 и ждет в накопителе Н2;
в — заказ выполнен и находится в накопителе Н3;
г — канал K1 не занят;
д — канал К2 не занят;
е — канал К3 не занят;
ж — оператор F1 не занят;
з — оператор F2 не занят;
и — канал К1 выполняет заказ под управлением F1;
к — канал К2 выполняет заказ под управлением F2;-
л — канал К2 выполняет заказ под управлением F1
м — канал К3 выполняет заказ под управлением F2 и могут происходить следующие события-переходы:
1 — поступление заказа;
2 — F1 начинает выполнение заказа на К1;
3 — F1 закончил выполнение заказа на К1;
4 —F1 начинает выполнение заказа на К1
5 — F2 закончил выполнение заказа на K1;
6 — F1 начинает выполнение заказа на К2;
7 — F1 закончил выполнение заказа на К2;
8 — F2 начинает выполнение заказа на К3;
9 — F2 закончил выполнение заказа на К3;
10 — заказ отправляется на доставку.
После этого построение N-cxeмы происходит формально: состояниям системы соответствуют позиции N-схемы, событиям — переходы. Нанесем маркировку, соответствующую такому состоянию системы, при котором каналы свободны, операторы не заняты, в системе нет заказов (рис. 8.20).
Синхронизация событии в N-схемах. Из приведенных примеров видно, что для выполнения каждого события (перехода) необходимо выполнение определенных условий. Эти условия в N-схемах (сетях Петри) называются предусловиями. Выполнение события может вызвать нарушение предусловий и привести к выполнению условий для совершения других событий — постусловий.
Для примера 8.7 построена таблица предусловий и постусловий (табл. 8.2). Эта таблица является описанием структуры N-схемы, удобным для ввода в ЭВМ. Кроме таблицы для выполнения процесса моделирования должна быть задана начальная маркировка в виде n-мерного вектора. Для примера 8.7:
Процесс моделирования заключается в последовательном вычислении маркировок, получающихся в результате выполнения событий (переходов). События, по которым нет предусловий, являются входами N-схемы. Каждый вход должен быть присоединен к модели, генерирующей запуск события в соответствии с условиями, определяемыми моделируемой реальностью. В частности, это может быть другая N-схема, моделирующая процесс появления этих событий.
В N-схемах два или несколько разрушенных невзаимодействующих событий могут происходить независимо друг от друга, т. е. N-схемам и их моделям свойствен параллелизм, или одновременность. Синхронизировать события, пока этого не требует моделируемая система, нет нужды. Таким образом, N-схемы удобны для моделирования системы с распределенным управлением, в которых несколько процессов выполняются одновременно.
Другая важная особенность N-схем — это их асинхронная природа. Внутри N-схемы отсутствует измерение времени. Для простоты обычно вводят следующее ограничение. Запуск перехода (и соответствующего события) рассматривается как мгновенное событие, занимающее нулевое время, а возникновение двух событий одновременно невозможно. Моделируемое таким образом событие называется примитивным (примитивные события мгновенны и неодновременны).
Непримитивными называются такие события, длительность которых отлична от нуля. Любое непримитивное событие может быть представлено в виде двух примитивных событий: «начало непримитивного события», «конец непримитивного события» — и состояния (условия) «непримитивное событие происходит».
Пример 8.8. Рассмотрим особенности использования понятий примитивных и непримитивных событий на примере обработки заданий процессором ЭВМ. На рис. 8.21 представлены N-схемы (эквивалентные сети Петри) для моделирования обработки задания в процессоре с применением перехода, соответствующего непримитивному событию (рис. 8.21, а), и с применением только переходов — примитивных событий (рис. 8.21, б).
Ранее упоминалось, что в N-схемах все разрешенные переходы срабатывают одновременно и независимо. Однако с помощью N-схем можно моделировать и такие системы S, в которых порядок запуска в разрешенных переходах имеет существенное значение. Ситуация, в которой невозможно одновременное выполнение двух разрешенных переходов, изображена на рис. 8.22, где два разрешенных перехода dj и dk находятся в конфликте. Может быть запущен только один из них, так как при запуске он удаляет метку из общего входа и запрещает другой переход.
Моделирование параллельных процессов. Возможность моделирования параллелизма и довольно простые процедуры объединения подсистем, представленных N-схемами, делают их весьма полезным инструментом моделирования сложных аппаратно-программных информационно-вычислительных комплексов и сетей, состоящих из большого количества одинаковых компонент. Поясним это следующим примером.
Пример 8.9. Рассмотрим процесс функционирования ЭВМ с конвейерной обработкой. При построении высокопроизводительных асинхронных ЭВМ широко применяют метод конвейерной обработки чисел. Этот метод обработки подобен функционированию сборочного конвейера и особенно удобен для работы с векторами и массивами. Конвейер состоит из набора операций, которые могут выполняться одновременно в разных блоках ЭВМ. Когда операция в k- м блоке завершается, ее результат передается в (к+ 1)-й блок, а k-й блок принимает результат операции(k— 1)-го блока. Если каждая операция запускается по завершении предыдущей, то имеем дело с асинхронным способом управления конвейером. Для управления k-м блоком такого конвейера необходима информация о выполнении следующих условий:
— входной регистр заполнен;
— входной регистр пуст;
— выходной регистр заполнен;
— выходной регистр пуст;
— блок к занят;
— блок к свободен;
— пересылка осуществляется.
На рис. 8.23, а показано, как строится N-схема для моделирования асинхронного конвейера такого типа, причем эта модель позволяет анализировать взаимодействия между блоками, игнорируя конкретные детали процессов, которые происходят внутри блоков. Эти процессы в свою очередь могут быть промоделированы N-схемами и соединены между собой в соответствии со схемой, показанной на рис. 8.23, б. Такая возможность построения иерархических моделей может быть весьма полезной при моделировании сложных систем S.
Особенности программирования N-схем. Как уже отмечалось, N-схема представляет собой формализованное описание процесса функционирования системы S, причем структура N-схем отражает причинно-следственные связи в системе S, а совместно с начальной маркировкой — процессы, которые в этой системе происходят. Таким образом, переход от N-схем к моделирующей программе может производиться формальным путем, т. е. автоматически, с использованием специального языка и транслятора. Такие языки и трансляторы созданы за рубежом и в нашей стране [4, 24, 28, 29, 30, 50, 54].
Рассмотрим особенности программирования N-схем, моделирующих процессы в системе S, на конкретных примерах.
Пример 8.10. Рассмотрим принципы программирования N-схем в языке MODAL, который предназначен для моделирования и реализации вычислительных алгоритмов на базе N-схем (сетей Петри). Он содержит семь операторов:
START — описание начальной маркировки;
STOP — описание конечной маркировки;
T(MOD) — описание структуры сети Петри;
TYPE — оператор промежуточного вывода на печать;
SOMMENT -вспомогательные операторы
COMPLEKXITY
END — конец.
Операторы START и STOP представляют собой списки позиций, в которых устанавливаются метки в начале и должны оказаться в конце моделирования.
Оператор T(MOD) представляет собой таблицу пред- и постусловий для каждого
перехода N-схем.
Пусть задана N-схема с начальной маркировкой (рис. 8.24, а). Соответствующее ей описание на языке MODAL представлено на рис. 8.24, б.
Кроме описания структуры должны быть составлены программные модули — описания переходов (событий) MOD1 — MOD5, причем все модули должны содержать единую для данного набора COMMON-область, которая служит для передачи данных между модулями.
Естественно предположить, что для моделирования конкретных систем S в узкоспециализированной области количество возможных событий-переходов ограничено. Можно составить список стандартных событий и соответствующий ему набор программных модулей. Вместе со средствами описания структуры N-схемы, поясняющей взаимодействия, такой набор составит пакет моделирования систем в специализированной области. Известны системы, построенные по такому принципу для моделирования аппаратных и программных средств вычислительных систем, для моделирования протоколов связи. Известны также примеры успешного применения N-схем (сетей Петри) для исследования социальных> экономических систем, сложных физических и химических процессов.
Расширение N-схем. Возможные расширения N-схем, заданных в виде сетей Петри, о которых говорилось в § 2.6, рассмотрим с точки зрения их прикладного использования, т. е. с ориентацией на увеличение моделирующих возможностей данного аппарата. Для моделирования процессов в информационных системах наибольший интерес представляют N-схемы в виде временных сетей и Е-сетей, являющихся наиболее мощным расширением сетей Петри
[28].
Задание временной сети, т. е. Ng-схемы, включает семь множеств
где В, D, I, О, М имеют тот же смысл, что и ранее (см. § 2.6); v=(t1, ... ..., ti...) — возрастающая последовательность действительных чисел, называемая временной базой; v:Bx v=>v — функция временных задержек.
Фактор времени учитывается в Ng-схемах путем введения пассивного состояния метки в позиции. При поступлении метки в позицию bi она остается в пассивном состоянии (не может участвовать в возбуждении переходов) на время v (bi,ts)—ts и только после этого переходит в активное состояние.
Подклассом временной сети является сеть Мерлина, где время пассивного состояния метки определяется как случайная величина, находящаяся в диапазоне между t* и t**(t*≤ts ≤t**), которые задаются в описании Ns-cxeмы.
Пример 8.11. Построим в виде Ns-схемы модель микропроцессорного абонентского пункта (АП) информационно-вычислительной сети [30, 54,]. Структура этого АП показана на рис. 8.25, где обозначено: МП — микропроцессор; ОЗУ — оперативное запоминающее устройство; ПА — периферийный адаптер; ЭПМ — электрифицированная пишущая машинка; KC 1и КС2 — входной и выходной каналы связи.
Задание N S-схемы в виде временной сети включает в себя задание структуры <В, D, I, О>, вектора разметок Мо и вектора задержек Z.
Структуру Ns-схемы зададим графически, так как именно графическое представление обладает наибольшей наглядностью и простотой соотношения со структурой объекта, т. е. в данном примере со структурой АП. На рис. 8.26 для наглядности пунктиром выделены элементы Ns-схемы, относящиеся к конкретным элементам структуры АП (рис. 8.25).
Вектор разметок имеет вид
Мо ==(010100001110000001Nb0)
а вектор задержек
Z = (zвх, 0, zкс1,. 0, 0, zмп1,. 0, zлм1, 0, 0, 0, zbx , zпм2,. 0, zкс, 0, 0).
С использованием N-схем осуществляется структурный подход к построению имитационной модели, при котором обеспечиваются наглядность модели, модульный принцип ее разработки (сборки), возможность перехода к автоматизированной интерактивной процедуре проектирования.
Еще большие возможности для моделирования сложных систем дают такие расширения N-схем, как Е-сети, которые обозначим как NE-схемы. В отличие от временных сетей в Е-сетях определено дополнительно четыре типа переходов: разветвление, объединение, управляемое разветвление и приоритетное объединение. Важной особенностью NЕ-схем является также детализация представления метки. С каждой меткой в NE-cxeмe связаны
n описателей. Каждый из описателей метки несет в себе определенную количественную информацию о моделируемом объекте, т. е. системе S.
Структурное задание модели элементов системы S в форме NЕ-схемы позволяет использовать модульный принцип разработки имитационной модели с применением библиотеки E-сетевых модулей и их параметрической настройки. В этом случае E-сетевая модель является основой для сборки имитационной программы из модулей, реализованных на некотором языке программирования
[30, 54].
Базой для построения программных модулей служит обобщенный алгоритм функционирования E-сетевого модуля, который рассмотрим на следующем примере.
О
дним
из основных вопросов, который надо
решить разработчику имитационной модели
процесса, формализуемого на базе N-схем,
является выбор языка программирования.
Реализация модулей NЕ-схем
на машинно-ориентированном языке или
же языках общего назначения позволяет
снизить затраты машинного времени
и оперативной памяти при моделировании
систем, но при этом следует учитывать
высокую трудоемкость разработки
библиотеки моделирующих подпрограмм.
Этот недостаток устраняется при
использовании для моделирования
системы S,
формализованной на базе N-схем,
языков имитационного моделирования.
Использование ЯИМ. Программная реализация моделей систем S на базе расширенных N-схем (Ns-, NE-cxeм) более сложна по сравнению с программированием моделей на основе обычных сетей Петри. Для упрощения перехода к моделирующей программе рационально использовать языки имитационного моделирования (ЯИМ). Рассмотрим особенности использования ЯИМ для имитации на базе NE-cxeм на примере применения системы моделирования GPSS, которая детально была рассмотрена ранее.
Таким образом, рассмотренное представление моделей элементов информационных систем в виде NЕ-схем позволяет упростить этап определения их базовой структуры. Задание модели в виде NE -схем допускает достаточно простую программную реализацию имитационной модели на ЯОН или ЯИМ.
