Норенков И.П. - Основы автоматизированного проектирования (1060628), страница 32
Текст из файла (страница 32)
Но если в модели требуется ссылаться надлину очереди или собирать статистику по ее длине, то нужно явное указаниеэтой очереди в модели. Делается это с помощью операторов входа в очередьQUEUE Aи выхода из очередиDEPART Aсогласно которым очередь А увеличивается и уменьшается на единицу соответственно.Движение транзактов выполняется в естественном порядке, изменение этого порядка производится операторами перехода. Оператор условного переходаTESTXXA,B,Cв соответствии с которым переход к оператору, помеченному меткой С,происходит, если не выполняется условие А XX В, где XX е {E,NE,L,LE,G,GE};Е — равно; NE — не равно; L — меньше; LE — меньше или равно; G — больше;GE — больше или равно (XX размещается в позициях 13 и 14).D П р имер2.
Приходящие пользователи ожидают обслуживания, если длинаочереди не более 4, иначе от обслуживания отказываются. Соответствующийфрагмент программы:TESTLE Q$STR,K4,LBLQUEUE SIRSEIZE POINTDEPART STRADVANCE 50,16RELEASE POINTLBL TERMINATE 1DВ примере 2 использован оператор выхода транзактов из СМОTERMINATE Aсогласно которому из итогового счетчика вычитается число А.С помощью итогового счетчика задается длительность моделирования. Вначале исполнения программы в счетчик заносится число, указанное в операнде А оператораSTART А„СМоделирование прекращается, когда содержимое счетчика будет равно нулюили меньше нуля. Операнд С — шаг вывода статистики на печать.1373.
Математическое обеспечение анализа проектных решенийП Пр им ер 3. Общая структура программы на GPSS имеет видSIMULATE<описания, в том числе функций и накопителей ><операторы, моделирующие движение транзактов>DSTART А„СEND.Оператор безусловного переходаTRANSFER ,Bгде В — метка оператора, к которому следует переход.Используется ряд других разновидностей оператора TRANSFER. Например:TRANSFER P,B,CПереход происходит к оператору с меткой, равной сумме значения параметраВ транзакта и числа С.TRANSFER FN,B,CТо же, но вместо параметра транзакта слагаемым является значение функцииВ.TRANSFER PICK,B,CЭто оператор равновероятного перехода к операторам, метки которых находятся в интервале [В, С].
Важное место в СМО занимает переход по вероятностиTRANSFER A,B,Cгде А — вероятность перехода к оператору с меткой С, переход к оператору сметкой В будет происходить с вероятностью 1 - А.Оператор перехода в циклических процедурахLOOP A,Bгде А — число повторений (витков) цикла, В — метка оператора, с которогоначинается повторяющаяся часть.D Пр и м е р 4. Заказы, поступающие в СМО в случайные моменты временив диапазоне [20,40], выполняет сначала бригада WGR1, затем параллельноработают бригады WGR2 и WGR3, каждая над своей частью заказа.
Заданыэкспоненциальные законы для времен выполнения работ бригадами WGR1,WGR2 и WGR3 с интенсивностями 0,05, 0,1 и 0,125 соответственно. Моделирование нужно выполнить на временном отрезке, соответствующем выполнению1000 заказов.Программа:SIMULATEЕХР FUNCTION RN1.C120,0/.2,.22//.4,.51/.5,.6/.6,.92/.7,1.2/.8,1.61/.9,2.3/.95,3/.99,4.6/.999,6.9/1,ЮООGENERATE 30,10SEIZE WGR11383.6. Математическое обеспечение анализа на системном уровнеADVANCE 20,FN$EXPRELEASE WGR1SPLIT 1,MET1SEIZE WGR2ADVANCE 10,FN$EXPRELEASE WGR2TRANSFER , MET2MET1 SEIZE WGR3ADVANCE 8,FN$EXPRELEASE WGR3MET2 ASSEMBLE 2TERMINATE 1START 1000,, 1000END.DВ этом примере использован экспоненциальный закон распределения с плотностьюгде X — интенсивность. Функция распределения экспоненциального законагF(T) = \p(f) dt=l- exp(- X 7).оИз рис.
3.20 ясно, что поскольку искомыми являются значения Р случайной величины Т, то, задавая значение а как равномерно распределенной в диапазоне[0, 1] случайной величины, по формуле(3.47)(3 = (1/Х)1п(1/(1 - а))находим искомое значение. Именно в соответствии с (3.47) в операторахADVANCE (см. пример 4) множителями были значения 1/Х.Приведем еще несколько операторов языка GPSS.Оператор изменения параметров транзактовASSIGN A,Bгде А — номер параметра транзакта, В — присваиваемое ему значение.
В оператореF(T)ASSIGN A+,B1параметр А увеличивается на значение В, а в оператореаASSIGN А-Вуменьшается. Расширение возможностей управления движением транзактов достигается благор ' ч in <bv*дарятаким операторам,какмvFF'экспоненциального законаLOGIC_X Араспределения1393. Математическое обеспечение анализа проектных решенийкоторый при X = S устанавливает переключатель А в единичное состояние, апри X = R сбрасывает его в нулевое состояние;GATE_XXA,Bкоторый при XX = LR и А = 1 или при XX = LS и А = 0 передает транзакт оператору с меткой В (или задерживает его в блоке GATE, если поле В пусто), апри других сочетаниях XX и А направляет к следующему оператору. Вычислительный операторМ VARIABLE Aприсваивает переменной с номером М значение арифметического выраженияА, например в операторе3 VARIABLE K216-S$MEM2переменной с номером 3 присваивается разность числа 216 и объема занятойпамяти в накопителе МЕМ2.
Оператор синхронизации, имеющий, например, видLBL MATCH NUMBзадерживает приходящий в него транзакт до тех пор, пока в некоторой другойчасти модели в сопряженный операторNUMB MATCH LBLне войдет транзакт того же семейства.Часто сведения о некоторых величинах, характеризующих моделируемыйпроцесс, удобно представлять в виде гистограмм. Задание гистограммывыполняют в разделе описаний с помощью оператораМ TABLE A,B,C,Dгде М — имя гистограммы; А — табулируемая величина; В — верхняя границалевого интервала гистограммы; С — ширина интервалов; D — число интервалов.Формирование гистограммы происходит с помощью оператораTABULATE Aвыполнение которого увеличивает на единицу число попаданий в /-и интервалгистограммы, имя указано в А.
При этом z'-й интервал соответствует текущемузначению переменной, являющейся аргументом для гистограммы.Сети ПетриСети Петри — аппарат для моделирования динамических дискретных систем (преимущественно асинхронных параллельных процессов). Сеть Петриопределяется как четверка <Р, Т, I, О>, где Р и Т — конечные множества позиций и переходов, I и О — множества входных и выходных функций.
Другимисловами, сеть Петри представляет собой двудольный ориентированный граф, вкотором позициям соответствуют вершины, изображаемые кружками, а переходам — вершины, изображаемые утолщенными черточками; функциям I соответствуют дуги, направленные от позиций к переходам, а функциям О — отпереходов к позициям.Как и в СМО, в сетях Петри вводятся объекты двух типов: динамические —изображаются метками (маркерами) внутри позиций и статические — имсоответствуют вершины сети Петри.1403.6. Математическое обеспечение анализа на системном уровнеРаспределение маркеров по позициям называют маркировкой.
Маркерымогут перемещаться в сети. Каждое изменение маркировки называют событием, причем каждое событие связано с определенным переходом. Считается,что события происходят мгновенно и разновременно при выполнении некоторых условий.Каждому условию в сети Петри соответствует определенная позиция.Совершению события соответствует срабатывание (возбуждение или запуск)перехода, при котором маркеры из входных позиций этого перехода перемещаются в выходные позиции. Последовательность событий образует моделируемый процесс.Правила срабатывания переходов (рис. 3.21) конкретизируют следующимобразом: переход срабатывает, если для каждой из его входных позиций выполняется условие N, > Kt, где N, — число маркеров в г'-й входной позиции, К, —число дуг, идущих от /-и позиции к переходу; при срабатывании перехода числомаркеров в г'-й входной позиции уменьшается на К„ а в/-и выходной позицииувеличивается на М}, где М} — число дуг, связывающих переход су'-й позицией.На рис.
3.21 показан пример распределения маркеров по позициям передсрабатыванием, эту маркировку записывают в виде (2, 2,3, 1). После срабатывания перехода маркировка становится иной: (1,0,1,4).Можно вводить ряд дополнительных правил и условий в алгоритмы моделирования, получая ту или иную разновидность сетей Петри. Так, прежде всегополезно ввести модельное время, чтобы моделировать не только последовательность событий, но и их привязку ко времени. Это осуществляется приданием переходам веса — продолжительности (задержки) срабатывания, которую можно определять, используя задаваемый при этом алгоритм. Полученнуюмодель называют временной сетью Петри.Если задержки являются случайными величинами, то сеть называют стохастической.
В стохастических сетях возможно введение вероятностей срабатывания возбужденных переходов. Так, на рис. 3.22 представлен фрагментсети Петри, иллюстрирующий конфликтную ситуацию — маркер в позиции рможет запустить либо переход /„ либо переход (2. В стохастической сети предусматривается вероятностный выбор срабатывающего перехода в таких ситуациях.Если задержки определяются как функции некоторых аргументов, которымимогут быть количества маркеров в каких-либо позициях, состояния некоторыхпереходов и т. п., то сеть называют функциональной.Во многих задачах динамические объекты могут быть нескольких типов идля каждого типа нужно вводить свои алгоритмы поведения в сети. В этомслучае каждый маркер должен иметь хотя бы один параметр, обозначающийтип маркера.
Такой параметр обычно называют цветом; цвет можно использовать как аргумент в функциональных сетях. Сеть Петри при этом называютцветной.Среди других разновидностей сетей Петри следует упомянуть ингибиторные сети, характеризующиеся тем, что в них возможны запрещающие (ингибиторные) дуги. Наличие маркера во входной позиции, связанной с переходомингибиторной дугой, означает запрещение срабатывания перехода.1413. Математическое обеспечение анализа проектных решенийРис. 3.21. Фрагмент сети ПетриРис.