Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 70
Текст из файла (страница 70)
е. А-схема. Это позволяет использовать результаты математических исследований процессов, описывающих функционирование агрегативных систем, при создании моделирующихалгоритмов и их программной реализации на ЭВМ. В настоящеевремя имеются разработки математического обеспечения, в основукоторого положен агрегативный подход. Но при этом у пользователя всегда должна оставаться свобода в переходе от концептуальной к формальной модели. Таким образом, имеется возможностьмноговариантного представления процесса функционирования некоторой системы S в виде модели М, построенной на основе А-схем.Пример 8.16.
Рассмотрим технологию перехода от содержательного описанияк А-схеме на примере Q-схемы, структура которой приведена на рис. 8.6. Такойпереход возможен, так как А-схема отражает наиболее общий подход к формализации процесса функционирования системы S. Для представления этой системыв виде Л-схемы будем использовать пять типов агрегатов, а именно: АЕ — внешняясреда; Аи — накопитель; Ах — канал; Аг — распределитель; Ас — сумматор. Функции агрегатов Аи и А соответствуют функциям таких элементов Q-схемы, какнакопитель (Н) и канал (К).
Агрегат А* позволяет формализовать взаимодействиемежду агрегатами Л-схемы и внешней средой Е. Использование вспомогательныхагрегатов Аг и Ас вызвано необходимостью синхронизации работы агрегатов в составе А-схемы в соответствии с принятыми дисциплинами ностановки в очередьи обслуживания заявок. Кроме того, через агрегат Ас возможна передача сигналовот различных выходных контактов одних агрегатов на один и тот же входнойконтакт другого агрегата, что запрещено делать непосредственно (см. § 2.7).При таких предположениях структура А-схемы будет иметь вид, приведенный нарис.
8.29. Опишем работу каждого типа агрегатов, показанных на рис. 8.30, в отдельности.Агрегат «Внешняя среда» АЕ (рис. 8.30, а) имеет два входных контакта и одинвыходной: на вход Xt№) поступают обслуженные заявки (сигнал jcf' = l); на входХ2№) —заявки, получившие отказ в обслуживании (сигнал х2№) = 1); с выхода У^®снимают заявки через промежутки времени, распределенные по заданному законураспределения входящего потока заявок. Вектор состояний агрегата АЕ : г Е (/) = 1.Агрегат «Канал» Ак (рис.
8.30, 6) имеет три входных контакта и один выходной:на вход Xf-) подают сигнал поступления заявки на обслуживание; на вход Xf} —сигнал разрешения выдачи обслуженной заявки; на вход Хф — сигнал блокировкиРис. 8.29. Пример А-схемы общего вида299а)г)ОбслуженныезаявкиЗоядни, получившие отка.Сх,£* 2ОV,Поступление^,Входящийпоток заявки(-> * (илииящци tiumunзаявкихпяЬпк /J.n,pMu Разрешение IБлокировка /Разрешение 2,5)Блокировка 2Поступление /Г>заявки С * |Разрешение ,-,выдачи >-» X, У,Блокировка f-\выдачи^DОо-Выдача оослуженной заявкид)1 вход1 входВыдача заявкиУ.-О *-С х2Разрешение на.заявкищЩ^дшЩх,„Разрешение на>> uБлокировка ^L~Потеря заявки? $°$"С X,выдачи ^ Лг у2 ^J wa-jff переполнения заявкиРазрешение ^^ .Накопитель1ы~а~ачи^ *з Y3 ^Поступление^г>.
Выдача по 1<-) направлениюВыдача по 2направлениюD Разрешение навыдачу заявкиблокировкавыдачи заявкиX^UВыдачаРазрешение по 1направлению^ Блокировка па I>-/ направлениюРазрешение по 2направлению/>. Блокировка па 2направлениюООРис. 8.30. Агрегатывыдачи обслуженной каналом заявки; с выхода Yf> снимают сигнал выдачи обслуженной каналом заявки. Вектор состояний агрегатаz,t(o-Wf(o.'5w.*5w}.где zf (r) — время, оставшееся до окончания обслуживания заявки, которая находится в канале;если блокировка отсутствует,в противном случае;если заявка находится в канале,в противном случае.В том случае, если время обслуживания заявки в канале истекло, т.
е. z*(<)<0,но ее выдача из канала запрещена, т. е. г? (/) = 0, заявка остается в канале до тех пор,пока не придет сигнал z* (f)= l.Агрегат «Накопитель» Ан (рис. 8.30, в) имеет три входа и три выхода, входныеконтактыХ?\ Xf\ Х^ соответствуют по своим функциям контактам Xf\Xf\Xf-] агрегата Ах, с выхода Ff1' выдается заявка, стоящая в очереди в накопителепервой; с выхода Y^ выдаются заявки, потерянные из-за переполнения накопителя;с выхода УУ поступает сигнало том, что накопитель полностью заполнен. Внутреннее состояние агрегата Ан описывается векторомгн(о=Ф?('), *?(')},300где z?(r) — число заявок в накопителе;нП, если блокировка отсутствует,(О в противном случае.Агрегат «Распределитель» Ат (рис.
8.30, г) служит для разделения поступающегона вход Xf потока заявок по двум направлениям — выходам Yf) и Yf, чтосоответствует принятой дисциплине обслуживания, т. е. алгоритму взаимодействиянакопителя и канала. В рассматриваемом примере поступившаяв Лр-заявка передакется через выход Yf\ если соответствующий ему агрегат А свободен для принятияна обслуживание этой заявки; в противном случае заявка выдается через выход Yf.Информация о занятости соответствующих агрегатов А\ на которые поступаютзаявки с выходов Yf, Yf, передается на входные контактыXf—Xf.
Если обаагрегата А* не могут принять заявки от агрегата Ат,е то на выходной контактYf выдается сигнал, запрещающий передачу заявки А . Как только один из агрегатов А* освободится (о чем выдается соответствующий сигнал Аит на входыXf — Xf, сигналс контакта У?' разрешает посылающему агрегату А пересылкузаявки через Аг в А*, т. е. заявка в А* не хранится. Внутреннее состояние агрегатаопределяется векторомгр(0 = М(0>^(')},гдеесли разрешена передача заявки по выходу,в противном случае;если разрешена передача заявки по выходу,*5М..в противном случаеАгрегат «Сумматор» Ас (рис. 8.34, д) выполняет функции, обратные агрегату Ат,т.к е. избирательно суммирует поступающие заявки отндвух кпосылающих агрегатовА и передает их на вход принимающего агрегата (А и Л ).
При поступлении навход Х*Р или Xf сигнала разрешения передачи заявки от принимающего агрегатасумматор Ас должен последовательно опросить принимающие агрегаты. Для этогосначала передается сигнал разрешения на первый из посылающих агрегатов (контактУР). От этого посылающего агрегата либо поступает сигнал на входной контактХ*Р, либо он отсутствует.
В первом случае поступившая заявка передается дальше(контакт УР), в противном случае посылается сигнал разрешения (контакт yip) навторой из посылающих агрегатов. Внутреннее состояние агрегата Ас определяетсявектором*СМ-{*?('».где-fr.если выдача заявки разрешена,в противном случае.Таким образом, используя набор аргегатов Аг, Ак, Ан, Av и Ас,можно описать процесс функционирования рассматриваемой системы (см.
рис. 8.6). Для возможности формализации более сложныхсистем требуется в пределах данного класса объектов (Q-схем)увеличение числа состояний перечисленных агрегатов, а для другихклассов систем — расширение набора агрегатов.Моделирующий алгоритм А-схемы. Укрупненная схема моделирующего алгоритма такой системы, представленной в виде А-схе301мы, приведена на рис. 8.31. В основу моделирования положенпринцип просмотра состояний модели в моменты скачков, т. е.«принцип oz» («принцип особых состояний»). Обработка каждогоособого состояния выполняется блоками 6 и 12.
Работа такогоблока иллюстрируется схемой, представленнойна рис. 8.32,и сводится к выбору типа агрегата (АЕ, Ак, Ан, А? и Ас), длякоторого реализуется дальнейшее «продвижение» при моделировании.Схема моделирующего алгоритма, имитирующего воздействиена систему S внешней среды Е, показана на рис. 8.33, а. При этомопределяется, какое событие имело место, поступление или выдачасигнала из внешней среды, т. е. заявки входного потока в А-схему(блок 6.2.1).
При наступлении времени выдачи заявки она выдаетсяв .4-схему (блок 6.2.2) и генерируется интервал времени междумоментом поступления новой заявки (блок 6.2.3).Схемы моделирующих алгоритмов, имитирующих работу агрегатов 4 К и Ан, приведены на рис. 8.33, б, в соответственно. РаботаС"уск)Г 1м 7/исходныхI данныхПуск "")УстановканачальныхданныхМОбработкаособогосостоянияагрегатаВыбор агрегата, имеющего сигналына ВходеQJIКОпределениеближайшегоособогосостояния[Прод8ижениесистемногобремениT^JLОбработка результатов моделированияния агрегата7^4ФиксацияПередача сиепромежутокиалоб междупых результатов агрегатамиI Вывав/резилыпатоА\мовелиро - I' ванияIСОстановРис. 8.31.
Укрупненная схема моделирующегоалгоритма А-схемы302Q Останов ^Рис. 8.32. Блок-схема алгоритма блока 6 (рис. 8.31)I ВыдатьI новую заявку| В А - схемуi"v| ГенерироватьI интервал мет\Эу заявкамиРис. 8.33. Схемы алгоритмовблока 6.1 (а); блока 6.5 (5);блока 6.4 {в); блока 6.5 (г);блока 6.6 (д) (рис. 8.36)этих схем полностью соответствуетописаниюпроцесса функционирования агрегатов Ак и Ан, показанных на рис.
8.30, б, в.Схемы работы агрегатов АТ и Ас, выполняющих вспомогательные функции сопряжения агрегатов, показаны на рис.8.33, г, д соответственно.Они реализуют взаимодействиеЕ основныхагрегатов А , Ак и Ан, разрешая или запрещая передПродолжение рис. 8.33ачу сигналов между нимив зависимости от ситуации с учетом правил обмена сигналамив А-схеме, описанных в § 2.7.
При этом в схемах предусмотренотестирование ошибок (блоки 6.5.8 и 6.6.6), связанных с нарушениемпри задании исходных данных этих правил обмена сигналами вА-схеме.Из рассмотренного примера моделирования конкретной системы S (в данном случае заданной в виде Q-схемы) видно, чтоагрегативный подход является тем фундаментом, на котором базируется построение автоматизированной имитационной системы,303разработка ее внутреннегои внешнего математического и программного обеспеНет SM \уоэрчений. При этом стандарт1ние назаявки ?ная форма математическоймодели исследуемого объекта позволяет не толькоунифицировать моделирующие алгоритмы, но иприменять также стандартНет В,ЧЗЗалрещ1ные методы обработкии анализа результатов моделирования, реализованные в виде специальныхбиблиотек программ [7, 10,12, 21].Применение агрегативНетного подхода при моделировании систем дает рядпреимуществ по сравнениюс другими, менее универсальными подходами.
Так,Нетагрегативный подход в сиВыдать сигналr-JM.Wлу модульной структурынакопительI Фиксироватьзаполнен "\nomepw заявки модели и дискретного характера обмена сигналамиГ-6.&.9дает возможность испольоставитьfolзаявкузовать внешнюю память8 очередьЭВМ для хранения сведений о моделируемых объектах, что в значительнойВА1ГВыдатьыОать.„степени снижает ограничения по сложности, возникающие при попытке предУВыЗать ЗаявкуI из накопителяставить процесс функционирования моделируемойсистемы S в целом как последовательность взаимосвязанных системных соПродолжение рис.
8.33бытий для записи его в виде моделирующего алгоритма или на языке имитационного моделирования. При этом объем программ имитации мало зависит отсложности моделируемого объекта, которая определяет лишь числоопераций, требуемых для реализации машинной модели Мч, и объем памяти, необходмой для хранения сведений об ai регатах и ихв)ъ304связях.
Важно, что такие имитационные программы позволяютпроводить их предварительнуюавтономную отладку и являютсяпрограммами многоразового использования, что повышает оперативность решения задач моделирования систем. При наличиитаких отлаженных программныхмодулей время подготовки к моделированию практически совпадает со временем формализациимоделируемой системы S в видеА-схемы и задания исходных данных.При агрегативном подходевозникают и некоторые трудности, например, связанные с организацией диалога пользователяс имитационной системой, так какпредставление моделируемой системы в виде А-схемы предполагает и структуризацию в соответствующем виде входных данных.Следовательно, пользователь, каки разработчик модели Мм, должен владеть языком агрегативных систем для решения своих задач.Продолжение рис.