Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 68
Текст из файла (страница 68)
Эти процессы в свою очередь могут быть промоделированы N-схемамии соединены между собой в соответствии со схемой, показанной на рис. 8 23, 6. Такаявозможность построения иерархических моделей может быть весьма полезной примоделировании сложных систем 5.289а)б)блокк-1выходной,регистрк-1 пускВыходнойрегистрк заполненВходнойрегистрk+t за-Входнойрегистрк+1 пускРис. 8.23.
Блок-схема (а) и модель (б) устройства управления асинхронной ЭВМ с конвейерной обработкойОсобенности программирования 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 — оператор промежуточного вывода на печать;MjMMbNTIвспомогательные операторы;COMPLEKXITYJENDконец.Операторы START и STOP представляют собой списки позиций, в которыхустанавливаются метки в начале и должны оказаться в конце моделирования290S)START(P1~1)STOP (Pff-f)ТЦМ0Л5) POPZ.P3тг(молз) Р1>РЗ,ЩT3(M0B1) PZ,ZP3>P5r'f(MOn) P4>P5T*(H0V4) P5>P6ENS6Рис.
8.24. Структура N-схемы с начальной маркировкой (а) и ее описание на языке MODALОператор T(MOD) представляет собой таблицу пред- и постусловий для каждогоперехода N-схем.Пусть задана N-схема с начальной маркировкой (рис. 8.24, а). Соответствующееей описание на языке MODAL представлено на рис.
8.24, б.Кроме описания структуры должны быть составлены программные модули —описания переходов (событий) MODI — MODS, причем все модули должны содержать единую для данного набора COMMON-область, которая служит для передачиданных между модулями.Естественно предположить, что для моделирования конкретныхсистем S в узкоспециализированной области количество возможныхсобытий-переходов ограничено.
Можно составить список стандартных событий и соответствующий ему набор программных модулей.Вместе со средствами описания структуры N-схемы, поясняющейвзаимодействия, такой набор составит пакет моделирования системв специализированной области. Известны системы, построенные потакому принципу для моделирования аппаратных и программныхсредств вычислительных систем, для моделирования протоколовсвязи.
Известны также примеры успешного применения N-схем(сетей Петри) для исследования социальных, экономических систем,сложных физических и химических процессов.Расширение N-схем. Возможные расширения N-схем, заданныхв виде сетей Петри, о которых говорилось в § 2.6, рассмотримс точки зрения их прикладного использования, т. е. с ориентациейна увеличение моделирующих возможностей данного аппарата. Длямоделирования процессов в информационных системах наибольший интерес представляют N-схемы в виде временных сетей и Есетей, являющихся наиболее мощным расширением сетей Петри[28].Задание временной сети, т. е. Ns-cxeMU, включает семь множествNs =<B,D,I,0,M,v,v},291где В, D, 1, О, М имеют тот же смысл, что и ранее (см. § 2.6); v=(tlt ......, /,, ...) — возрастающая последовательность действительных чисел, называемая временной базой; v:2?x«=>v — функция временных задержек.Фактор времени учитывается в Ng-схемах путем введения пассивного состояния метки в позиции.
При поступлении метки в позицию bt она остается в пассивном состоянии (не может участвоватьв возбуждении переходов) на время v (b„ ts)—ts и только после этогопереходит в активное состояние.Подклассом временной сети является сеть Мерлина, где времяпассивного состояния метки определяется как случайная величина,находящаяся в диапазоне между г* и t** (f* ^ ts < /**), которые задаются в описании Л^-схемы.Пример 8.11. Построим в виде Ng-схемы модель микропроцессорного абонентского пункта (АЛ) информационно-вычислительной сети [30, 54,].
Структура этогоАЛ показана на рис. 8.25, где обозначено: МП — микропроцессор; ОЗУ — оперативное запоминающее устройство; ПА — периферийный адаптер; ЭПМ — электрифицированная пишущая машинка; КС] и КСа — входной и выходной каналы связи.Задание Л^-схемы в виде временной сети включает в себя задание структуры (В,D, I, О), вектора разметок М„ и вектора задержек Z.Структуру Ng-схемы •"»д»ди" графически, так как именно графическое представление обладает наибольшей наглядностью и простотой соотношения со структуройобъекта, т.
е. в данном примере со структурой АП. На рис. 8.26 для наглядностипунктиром выделены элементы Ng-схемы, относящиеся к конкретным элементамструктуры АП (рис. 8.25).Вектор разметок имеет видМ0=(01010000Ш0000001 Nbo),а вектор задержекZ=(z„, 0, гкс,, 0,0, *мп,. 0, znMl, 0, 0, 0, z„,, гпмг, 0, zKCl, 0, 0).С использованием N-схем осуществляется структурный подходк построению имитационной модели, при котором обеспечиваютсянаглядность модели, модульный принцип ее разработки (сборки),возможность перехода к автоматизированной интерактивной процедуре проектирования.Еще большие возможности длямоделированиясложных системОЗУПЗУМЛдают•гг—••л • • А •дают такиетакие расширениярасширения N-схем,я-схем,1[][|[как Е-сети, которые обозначим какXXX > N^-схемы.
В отличие от временных\[{[\[сетей в Е-сетях определено дополнительно четыре типа переходов:разветвление, объединение, управГ^ИГщ| ii—.ляемое разветвление и приоритет"""ное объединение. Важной особенТТ~ностью NE-cxeM является также деоператорАп тализация представления метки.сРис. 8.25. Структура АПкаждой меткой в Ыгсхеме связа292Рис. 8.26. Структура Ng-схемыны п описателей. Каждый из описателей метки несет в себе определенную количественную информацию о моделируемом объекте,т.
е. системе S.Структурное задание модели элементов системы 5 в формеNg-схемы позволяет использовать модульный принцип разработкиимитационной модели с применением библиотеки ^-сетевых модулей и их параметрической настройки. В этом случае ^-сетеваямодель является основой для сборки имитационной программы измодулей, реализованных на некотором языке программирования[30, 54].Базой для построения программных модулей служит обобщенный алгоритм функционирования £-сетевого модуля, который рассмотрим на следующем примере.Пршмер 8.12. Поступление метки во входную позицию перехода dm (рис. 8.27)инициирует процедуру проверки готовности перехода к срабатыванию (рис.
8.28).Проверяемые при этом условия включают в себя анализ разметки решающей позиции М{А*}, где i>*e5R, а также проверкуА,разметки выходных позиций M{0(dm)} и сопряженных позицийпА/{/(<4,)}. В том случае, когда Ь^ВР, на данной фазе производится также вычисление решающей процедуры перехода2(<UIПри достижении требуемых условий переход вступает в акI II Iтивную фазу, содержание которой определяется элементамиописания перехода t (dm) и р (dm), причем элемент t (dm) можетбыть задан либо непосредственно, либо в виде функции. В последнем случае необходимо предварительно вычислить эту фуI-Jнкцию, а затем моделировать требуемое время t(dm).Процедура перехода р (dm) выполняется в два этапа: сначаРис.
8.27. Обобла вычисляются предикаты П,, а затем реализуется требуемоещенная структуподмножество операций над описателями меток {lJP). Далеера ^-сетевого пепереход dm вступает в фазу завершения, содержанием которойрехода-он-Qj ГО'"293СПуск\та7исходных Iданных I/— ?.[i'1,к-1является смена разметки входных и выходных позиций перехода M{I(dm)} и Л/{0(4и)}Разметка Познани А< меняется на нулевую:Af(*j):=0. При bteBp разметка решающейпозициистановитсянеопределенной:M(pk)'=e°- Затем выполняется перемещениеметок в ряд выходных позиций 0(dm) в соответствии с типом данного перехода. Эта операция завершает работу перехода по обработке поступившей метки.Одним из основных вопросов,который надо решить разработчикуимитационной модели процесса,вычисление Z{d )mmформализуемого на базе N-схем, является выбор языка программирования.
Реализация модулей NE-cxeM намашинно-ориентированном языкеили же языках общего назначенияпозволяет снизить затраты машинного времени и оперативной памятипри моделировании систем, но приэтом следует учитывать высокуютрудоемкость разработки библиотеки моделирующих подпрограмм.Этот недостаток устраняется при исВыполнениепользованиидля моделирования сиоперацийстемы S, формализованной на базеN-схем, языков имитационного моf-W1делирования.ГИзИзменение/ вывод-ЗиетниМШ,. .\разнетхиМ(Ь;);*0ИспользованиеЯИМ.ПроI результа-1[/Ю1ИГ'(<иJ mo» Jграммная реализация моделей систем S на базе расширенных N-схемИзменение(Ns-, N^-схем) более сложна по сравразметкиС Останов Лнению с программированием моделей на основе обычных сетей Петри.Для упрощения перехода к моделиРис. 8.28. Алгоритм работы Е-серующей программе рационально истевого переходапользовать языки имитационногомоделирования (ЯИМ).
Рассмотримособенности использования ЯИМ для имитации на базе NE-cxeM напримере применения системы моделирования GPSS, которая детально была рассмотрена ранее.к.±Анализm... шПример 8.13. Проведем анализ соответствия между элементами NE-cxeMи объектами языка моделирования GPSS (см. § 5.3). В результате сравнительногоанализа можно сформулировать следующее 37.1. Метка Ng-схемы может быть представлена динамическим объектом GPSS,т.
е. транзактом.2. Описатели меток аналогичны параметрам транзактов GPSS.2943. Позиция Ng-схемы идентична объекту, принадлежащему к аппаратной категории GPSS типа накопителя единичной емкости.4. Решающие позиции ЬьеВя Ng-схемы в зависимости от принадлежности к множеству Вр реализуются двумя способами: а) если ЬквВр, то Ьк эквивалентна наборуобъектов типа булевых переменных вычислительной категории GPSS; б) еслиЬкеВ/Вр, то Ьк может быть представлена накопителем единичной емкости аппаратной категории GPSS.5.
Временные параметры переходов t(dm) реализуются объектом ADVANCEоперационной категории GPSS.6. Операции вычисления предикатов Щ у=1. S, для р (dm) соответствует применение блока TESTE, изменяющего маршруты транзактов, в сочетании с булевымипеременными вычислительной категории GPSS.7. Операции {ljp} для р (dm) выполняются с помощью блоков ASSIGN динамической категории GPSS в сочетании с арифметическими переменными.8. Хранение значений описателей меток можно имитировать путем записи значений параметров транзактов в ячейки хранимых значений (X, ХН) с помощью блокаSAVEVALVE запоминающей категории GPSS.9. Процессы синхронизации движения меток через переход dm и удаления метокиз решающей позиции Ькв£я могут быть обеспечены с помощью логических переключателей LOGIC S и LOGIC R аппаратной категории GPSS.10.