Имя BVARIABLE булевское выражение
Булевские переменные
LOOP A,B
А- имя параметра
В- метка перехода
Ранее было введено понятие арифметической переменной: Значением булевской переменной может быть либо TRUE- èñòèíà, либо F FALSE- ëîæü (либо 0, либо 1).
Пр.:Примеры булевских выражений:
1. Логический переключатель LS5 .(включен, выключен);
2. SF19 – многоканальное устройство 19 заполнено полностью? (да, нет)
3. Могут быть отношения:
СЧА1 <оператор отношения> СЧА2
P1 G P2 - если значение параметра 1 больше, чем значение параметра 2, то истина (1).
В системе моделирования GPSS интерпретатор просматривает транзакты, находящиеся в цепи текущих событий, по порядку, от начала к концу списка. Интерпретатор берет сначала первый транзакт и пытается его продвинуть. Но существуют ситуации, когда интерпретатор вместо того, чтобы рассматривать транзакт, идущий следом за уже обработанным, начинает просмотр с начала очереди, например, после прохождения блока RELEASE. Если транзакт попадает в блок BUFFER, то интерпретатор прекращает продвижение данного события и возвращается обратно в цепь текущих событий за следующим транзактом.
Пример № 8.1: Рассмотрим схему прерываний. На эту схему (на регистр) поступают запросы на прерывание. Будем считать, что операционная система следит за состоянием этого регистра, и если в нем есть запрос, то операционная система начинает его обслуживать. После чего данный запрос обнуляется. Запросы обрабатываются некоторое время.
* Генерация транзактов в соответствии с экспоненциальным законом * распределения
| GENERATE
| 300,FN$EXP,,1
|
| QUEUE
| A
|
| GATE LS
| G1
| M
| GATE LS
| W
|
| DEPART
| A
|
| TERMINATE
|
| * Ãåíåðèðóåòñÿ 1 òðàíçàêò
* Ïðîâåðêà òåêóùåãî ñîäåðæèìîãî î÷åðåäè À íà ðàâåíñòâî íóëþ. Åñëè
* ðàâíî íóëþ, òî òðàíçàêò èäåò äàëüøå, èíà÷å - áëîêèðóåòñÿ.
N
| TEST
| W$A,0
|
| LOGIC S
| C1
|
| ADVANCE
| FN$BC
|
| LOGIC S
| W
|
| BUFFER
|
|
| LOGIC R
| W
|
| TRANSFER
| ,N
|
Àðãóìåíò ôóíêöèè ÂÑ äîëæåí çàâèñåòü îò ÷èñëà ñãåíåðèðîâàííûõ òðàíçàêòîâ.
BC FUNCTION W$M,C10
За время обработки функции ВС в первом блоке GENERATE будут генерироваться следующие транзакты.
Лекция № 9
Пример 9.1:Имеется некоторая ВС, например ILLIAC-IV, которая работает некоторое время, затем может произойти отказ. Отказавший модуль этой системы поступает в ремонт. Для этого надо затратить время. Вместо отказавшего модуля используют новый модуль из числа запасных.. Тот модуль, который поступил в ремонт, ремонтируется каким-то мастером. Если нет отказавших модулей в этой системе, мастер ремонтирует отказавшие модули из других систем. Отремонтированные модули поступают обратно в систему во множество запасных модулей. Сколько должно быть запасных модулей?

Âàðèàíò ¹1.
* Случайная величина PARTS принимает значение 3
* ñòàíäàðòíàÿ íîðìàëüíàÿ ôóíêöèÿ ðàñïðåäåëåíèÿ
0, …5/…
* Ìàñøòàá 1 ÷àñ = 10 åäèíèöàì
ATIME
| FVARIABLE
| 700*FN$SNORM+350
| BTIME
| FVARIABLE
| S*FN$SNORM+80
| * Ãåíåðèðóåòñÿ 3 òðàíçàêòà
| GENERATE
| ,,,X$PARTS
| L
| GATE LR
| N
|
| LOGIC S
| N
| * Установка ВМ в машину
* Время, которое ВС будет работать до первого отказа
| ADVANCE
| V$ATIME
|
| RELEASE
| MACH
| * ВМ вытаскивают из ВС
| ADVANCE
|
|
| LOGIC R
| N
|
| SEIZE
| MASTER
| * Время ремонта ВМ мастером
| ADVANCE
| V$BTIME
|
| RELEASE
| MASTER
|
| TRANSFER
| ,L
| * Моделирование работы мастера
* Åñëè óñòðîéñòâî MASTER çàíÿòî, òî òðàíçàêò ïîñòóïàåò â áëîê
* ADVANCE è òàì æäåò íóëåâîå âðåìÿ (îñîáåííîñòè èíòåðïðåòàòîðà ÿçûêà
* GPSS).
| ADVANCE
|
|
| SEISE
| MASTER
|
| ADVANCE
| 80,4
|
| RELEASE
| MASTER
|
| TERMINATE
|
| *Счетчик времени
| GENERATE
|
|
| TERMINATE
|
|
| START
|
|
| END
|
|
Вариант № 2
(приводится только та часть программы, которая потерпела изменения по сравнению с вариантом №1)
* ñòàíäàðòíàÿ íîðìàëüíàÿ ôóíêöèÿ ðàñïðåäåëåíèÿ
0, …5/…
* Ìàñøòàá 1 ÷àñ = 10 åäèíèöàì
ATIME
| FVARIABLE
| 700*FN$SNDRM+350
| BTIME
| FVARIABLE
| S*FN$SNDRM+80
|
| GENERATE
| ,,,1
|
| SEIZE
| MACH
|
| ADVANCE
| V$ATIME
|
| RELEASE
| MACH
|
| ADVANCE
|
|
| SPLIT
| 1,M
|
| SEIZE
| MASTER
|
| SAVEVALUE
| 1+,1
|
| TERMINATE
|
| M
| TEST G
| X1,0
|
| SAVEVALUE
| 1-,1
| * Вставление ВМ в ВС
*Счетчик времени
| GENERATE
|
|
| TERMINATE
|
|
| START
|
|
| END
|
|
Х1 эквивалентно X$PARTS из варианта №1(сколько есть запасных деталей). |