Имитация процесса функционирования сложной системы

Одним из основных средств проблемной ориентации АИМ является выбор модуля для описания элемента сложной системы. Модульный принцип и регистровый метод построения АИМ предполагают, что элементы моделируемой системы имитируются последова — тельно на небольших интервалах времени, что дает возможность свести взаимо­действие элементов к упорядоченной совокупности событий в рамках механизма обмена сигналами. К такому режиму взаимодействия эле­ментов сложной системы хорошо приспособлена стохастическая ди­намическая система с дискретным вмешательством случая, функци­онирующая в непрерывном времени. Движение ее включает случайные скачки состояния в некоторые «опорные» моменты времени, проис­ходящие под влиянием вмешательства внешних (входной сигнал) или внутренних случайных факторов, а также вполне детерминирован­ные фрагменты движения между опорными моментами времени.

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

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

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

В отличие от общего случая кусочно-линейного агрегата KJIAj выдает выходные сигналы только в момент выхода на границу (обра­щения в нуль одной из координат zVj), а в моменты поступления входных сигналов выходные сигналы не выдаются. Это ограничение позволяет существенно упростить процедуры моделирования KJIAj на ЭВМ и не сужает класса моделируемых объектов. В самом деле, без упомянутого ограничения в момент t поступления входного сигнала элемент Cj сложной системы выдавал бы выходной сигнал, который в тот же самый момент t поступал бы как входной сигнал к некото­рым элементам С*1,С*2»—«О/ (согласно схеме сопряжения), а эти элементы в свою очередь выдавали бы выходные сигналы, которые в тот же самый момент / поступали бы как входные сигналы к другим элементам (также согласно схеме сопряжения) и т. д. Необходимость учитывать лавинообразный рост числа выдаваемых в системе сигна­лов в один и тот же момент времени усложняет процедуры формиро­вания системных событий и сам процесс имитации. Вместе с тем если по смыслу задачи иногда потребуется обеспечить выдачу выход­ного сигнала в момент поступления входного сигнала, это можно сделать при помощи дополнительной координаты zVi, которая обра­щается в нуль в момент поступления входного сигнала.

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

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

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

Имитация функционирования элемента системы (благодаря модуль­ному принципу построения АИМ) сводится к настройке модуля на данный элемент системы и реализации на ЭВМ полученной таким образом модели элемента. Настройка осуществляется путем считы­вания в оперативную память соответствующей строки архива элемен­тов. Далее производятся определение момента выхода состояния KJIAj на границу и имитация поступления входного сигнала (очередной опорный момент времени).

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

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

Для реализации на ЭВМ перечисленных здесь имитационных про­цедур программа моделирования должна иметь соответствующие бло­ки (подпрограммы), приведенные на рис. 4.6. Прежде чем рассмат­ривать их работу в динамике, остановимся вкратце на тех массивах информации, которые нужны для обеспечения имитации.

Регистр элемента (В). Строка архива элементов, вызванная для настройки модуля на данный элемент системы, фиксируется в спе­циально отведенных ячейках оперативной памяти — регистре В (см. рис. 4.6). Информация здесь располагается в стандартном порядке, удобном для последующего использования. С течением модельного времени (при переходе к следующим опорным моментам) содержи­мое регистра В обновляется.

image49

Регистр времен (Т). В этом регистре для каждого элемента систе­мы хранится ближайший предполагаемый момент выхода на границу

t*. Содержимое регистра с течением времени обновляется. Если для какого-нибудь элемента системы становится известным очередной мо­мент Л то он заносится в регистр Т вместо предыдущего.

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

Регистр адресатов (N). В нем хранятся номера элементов, кото­рые необходимо вызвать для имитации реакции на входные сигналы, извлекаемые из регистра Y. Номера элементов подаются поочередно в подпрограмму считывания строк архива элементов с внешней па­мяти.

Управляющий регистр (U). Содержит набор управляющих при­знаков, помогающих обеспечить правильное течение процесса ими­тации. К ним относятся признаки управления имитацией элемента системы (например, признак вида скачка: при выходе на границу 8 = 1, при поступлении входного сигнала 8 = 0 и т. д.), признаки уп­равления имитацией системы в целом (например, признак, управля­ющий выбором варианта схемы сопряжения), а также признаки, опре­деляющие переход к очередной реализации процесса имитации, переход к другому варианту исходных данных и т. д.

Кроме того, предполагается, что в нашем распоряжении имеют­ся архив элементов и библиотека стандартных процедур.

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

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

выхода Ґ на границу (записываем в регистр Т), значения координат выходного сигнала (записываем в регистр Y), а также координаты КЛА[ после скачка (записываем в регистр В).

Следующий шаг в работе имитационной программы (рис. 4.7) — имитация взаимодействия между элементами системы. Здесь суще­ственно ответить на два вопроса:

1. Какие элементы системы получают сигналы от данного эле­мента (т. е. какие строки архива элементов потребуется вызвать из внешней памяти)?

2. Как скомпоновать входные сигналы элементов системы, по­лучающих сигналы от данного элемента, зная компоненты его вы­ходного сигнала (т. е. каким образом компоненты выходного сигна­ла, содержащиеся в регистре Y, сопоставить входным контактам элементов, принимающих сигналы)?

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

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

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

После того, как все элементы-адресаты получили свой сигнал, управление опять передается управляющей программе для определе­ния минимального t* в регистре Т.

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

image54

Нет

Нет

Имитация процесса функционирования сложной системы
image55
Подпись: L— 10

5

Вызов из архива элементов строки с очередным номером у из регистра Nr. Расположение ее в регистре BR

_______________________________ 1_______________________________

6

Определение имен процедур и соответствующих им параметров по адресующей таблице и значениям признаков в регистре UR

_______________________________ к_______________________________

7

Имитация элемента системы. Вызов блока «Модуль». Реализация процедур имитации KJIAj

_______________________________ 1______________________________

8

Занесение новых значений состояния п’ в архив элементов. Помещение нового t* в регистр TR, новых выходных сигналов

в регистр Yr и Т. Д.

image56

Да

Рис. 4.7. Алгоритм имитационной программы

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