Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 62
Текст из файла (страница 62)
Каждый блокмодели можно охарактеризовать конечным набором возможныхсостояний {z0}, в которых он может находиться. Пусть в течениерассматриваемого интервала времени (О, Т), т. е. времени прогонамодели, блок изменяет состояния в моменты времени t.^^T, гдеj — номер момента времени. Вообще моменты времени смены состояний блока ш, можно условно разделить на три группы: 1) случайные моменты, связанные с внутренними свойствами части системы S, соответствующей данному блоку; 2) случайные моменты,связанные с изменением состояний других блоков (включая блоки,имитирующие воздействия внешней среды Е); 3) детерминированные моменты, связанные с заданным расписанием функционирования блоков модели [29, 36, 37, 53].260,toAZ).MAS)+i3)Моментами смены соБлок т,стояниймоделиМвцеыA<)\!+<*'*«> 'J.
f*;''AS) tlK)лом t ^T будем считатьБлок тг(все моменты измененияI i /"!Jt(j)i' ' Ji ^ i tJ +J yj iii I! 'I! ! '!Блок т3состояний блоков {mi},1 1] 1 Ml1 1I И i 1 t1i1 Ml11 1 l 1 1 1Mi1 i n1i i il 1 1т. е. {*,">}€{**}, i=THМодель М„tПример для модели с тре (0) ft) (Q U) W IS) Wмя блоками mlt т2 и тгРис. 8.1. Смена состояний модели для случаяпоказан на рис.
8.1.трех блоковwПри этом моменты f,и г* являются моментами системного времени, т. е. времени, в котором функционирует моделируемая система S, но не моментамимашинного времени. Мгновенные изменения состояний модели вовремя дискретного события (особого состояния) возможны толькопри моделировании в системном времени.При моделировании для каждого блока модели mh i = l , и,необходимо фиксироватьмомент очередного перехода блока в новое состояние r,w и номер этого состояния s» образуя при этоммассив состояний. Этот массив отражает динамику функционирования модели системы, так как в нем фиксируются все измененияв процессе функционирования моделируемой системы S по времени.В начале моделирования в массив состояний должны быть занесеныисходные состояния, заданные начальными условиями.При машинной реализации модели Мы ее блоки, имеющие аналогичные функции, могут быть представлены в виде отдельныхпрограммных модулей.
Ра1бота каждого такого модуляАА,имитируетработу всех одно:1типных блоков. В общем*случае при числе блоков моАгдели л можно получить наJибор машинных модулей/<и. Таким образом, каждому блоку или элементу мо*дели будет соответствоватьС.Lнекоторый модуль или «стагнеппндартная подпрограмма»,> ^число которых не будет превосходить числа блоков моСгСздели.пГ^МоделирующийалгоТиповая укрупненная<СА la 1 iйНет ритм.схема моделирующего алгоiОгритма, построенного поi1Lблочному принципу, для си„„,стемс дискретными событиDтttttttГ••Г<СJ11ГРис. 8.2. Типовая укрупненная схема моде-лирующего алгоритмаwк__ями приведена на рис.
о.2.261Эта схема содержит следующие укрупненные модули: А — модульзадания начальных значений состояний, содержащий два подмодуля (At — для задания начальных состояний моделируемого варианта и А? — для задания начальных состояний для одного прогонамодели); В — модуль определения очередного момента смены состояния, осуществляющий просмотр массива состояний и выбирающий блок моделит„ i=\, n, с минимальным временем сменысостояния min f,w; С — модуль логического переключения, содержащий три подмодуля (Cj — для логического перехода по номерублока модели / или по времени Т, т. е. для решения вопросао завершении прогона; С2 — для фиксации информации о состояниях, меняющихся при просмотре блока, а также для определениямомента следующей смены состояния блока /л,- и номера следующего особого состояния sQ; C3 — для завершения прогона в случае,когда t^^T, фиксации и предварительной обработки результатовмоделирования); D — модуль управления и обработки, содержащий два подмодуля (D1 — для проверки окончания исследованияварианта модели Мм по заданному числу прогонов или по точностирезультатов моделирования; D2 — для окончательной обработкиинформации, полученной на модели Мм, и выдачи результатовмоделирования).Данная укрупненная схема моделирующего алгоритма соответствует статике моделирования.
При необходимости организациимоделирования последовательностей вариантов модели Мм и проведении оптимизации моделируемой системы 5, например , на этапеее проектирования, т. е. для решения вопросов, относящихся к динамике моделирования, следует добавить внешний цикл для варьирования структуры, алгоритмов и параметров модели Мм.Пример 8.1. Рассмотрим модульный принцип реализации модели S, формализованной в виде Q-схемы. Пусть имеется L -фазная многоканальна Q-схема безпотерь с L -входными потоками заявок. В каждой фазе имеется!,', j =1, L , каналовобслуживания.
Определить распределения времени ожидания заявок в каждой фазеи времени простоя каждого обслуживающего канала.В качестве блоков модели Мы будем рассматривать: m — блоки источниковикзаявок, имитирующие L входных потоков; m — блоки каналов обслуживания,имитирующие функционирование каналов; m — блок взаимодействия, отражающий взаимосвязь всех блоков машинной модели Мм. При этом в массиве состояний будем фиксировать моменты поступления заявок, освобождения каналов и окончания моделирования, т. е. количество элементов этого массива будет равноСхема моделирующего алгоритма для данного примера приведена на рис. 8.3.Как видно из схемы, в подмодуле С2 предусмотрены три вида процедур С2, С2 и С2.Первая процедура С'2 работает при поступлении заявки из любого входного потока,вторая процедура С2 работает в момент освобождения канала любой фазы об-262служивания, кроме последней, третьяпроцедура С'2" работает при освобождении канала последней фазы, т.
е.гпри окончании обслуживания заявкиg-схемой.Рассмотрим более подробно операторы процедур С2, C'i и С'2". Оператор С2i определяет принадлежностьзаявки к одному из L входных потоков, генерируемых модулем В. Оператор С21 проверяет, есть ли на персгвой фазе очередь свободных каналовобслуживания.
Если очередь есть, то[СгГ][СП\ С$ |управление передается операторуС'2Ъ, в противном случае — оператору С'ц. Оператор С'2Ъ фиксирует момент поступления заявки в массивеочереди заявок первой фазы. Оператор С'2А выбирает номер канала измассива очереди канала первой фазы,уменьшая ее длину на единицу, вычисляет и фиксирует длительность простоя канала, определяет длительность обслуживания и засылает новый момент освобождения каналав массив состояний.
ОператорC'2i определяет новый момент поступления заявки и засылает его в соответствующую ячейку массива состояний.Оператор С21 служит для определения j'-й фазы и Аг-го канала,Рис. 8.3. Схема моделирующею алгоритмамногофазной многоканальной Q-схемыj=2, L — Г, k=\,Lf.ОператорС22 проверяет наличие очереди заявок на выбранной у'-й фазе. При отсутствии очереди управление передается оператору С23, а при ее наличии — оператору Cj4- Оператор С2з засылает момент освобождения канала в массив очередиканалов j-й фазы, уменьшает длину очереди на единицу и фиксирует время ожиданиявыбранной заявкой начала ее обслуживания.
Далее определяется длительность обслуживания этой заявки освободившимся каналом, вычисляется и засылается в массив состояний новый момент освобождения канала. Операторы С2Ъ, С26 и С21 выполняют те же действия с заявкой, обслуживаемой на j-& фазе, что и операторы С22,С'гзи C'2i с заявкой, которая поступила в первую фазу Q-схемы.Оператор С'2\ настраивает операторы этой процедуры С22, С'2"г и Ci'i на выбранный канал обслуживания последней, L -й, фазы. Работа операторов С22,С2з и С'2\ аналогична работе операторов С22, С23 и С2^.Назначение остальных подмодулей алгоритма не отличается от рассмотренногоранее для моделирующего алгоритма, приведенного на рис.
8.2.пп•3?Построение моделирующего алгоритма по блочному принципупозволяет за счет организации программных модулей уменьшитьзатраты времени на моделирование системы S, так как машинноевремя в этом случае не тратится на просмотр повторяющихсяситуаций.
Кроме того, данная схема моделирующего алгоритмаполучается проще, чем в случае, когда модули не выделяются.263Автономность процедур подмодуля С2 позволяет проводить ихпараллельное программирование и отладку, причем описанные процедуры могут быть стандартизованы, положены в основу разработки соответствующего математического обеспечения моделированияи использованы для автоматизации процесса моделирования систем.Если говорить о перспективах, то блочный подход создает хорошую основу для автоматизации имитационных экспериментовс моделями систем, которая может полностью или частично охватывать этапы формализации процесса функционирования системыS, подготовки исходных данных для моделирования, анализасвойств машинной модели Мы системы, планированияи проведения машинных экспериментов, обработки и интерпретации результатов моделирования системы.
Такие машинные эксперименты должны носить научный, а не эмпирический характер,т. е. в результате должны предлагаться не только методы решенияконкретной поставленной задачи, но и указываться границы эффективного использования этих методов, оцениваться их возможности.Лишь только автоматизация процесса моделирования создаст перспективы использования моделирования в качестве инструмента повседневной работы системного специалиста.8.2.
МОДЕЛИРОВАНИЕ ПРОЦЕССОВФУНКЦИОНИРОВАНИЯ СИСТЕМ НА БАЗЕ Q-CXEMОсобенности использования при моделировании систем непрерывно-стохастического подхода, реализуемого в виде Q-схем, и основные понятия массового обслуживания были даны в § 2.5. Рассмотрим возможности использования Q-схем для формальногоописания процесса функционирования некоторой системы S.
Характерная ситуация в работе таких систем — появление заявок (требований) на обслуживание и завершение обслуживания в случайныемоменты времени, т. е. стохастический характер процесса их функционирования. В общем случае моменты поступления заявок в систему S из внешней среды Е образуют входящий поток, а моментыокончания обслуживания образуют выходящий поток обслуженныхзаявок [6, 13, 39, 51, 53].Формализация на базе О-схем. Формализуя какую-либо реальную систему с помощью Q-схемы, необходимо построить структурутакой системы. В качестве элементов структуры Q-схем будемрассматривать элементы трех типов: И — источники; Н — накопители; К — каналы обслуживания заявок.Пример структуры системы S, представленной в виде Q-схемы,приведен на рис.
8.4. Кроме связей, отражающих движение заявокв Q-схеме (сплошные линии), можно говорить о различных управляющих связях. Примером таких связей являются различные блоки264ровки обслуживающих каналов (по входу и по выходу):«клапаны» изображены в виде треугольников, а управляющие связи — пунктирными линиями. Блокировка канала по входу означает, чтоэтот канал отключается отвходящего потока заявок,а блокировка канала по вы Рис.