Моделирование систем / lec6
.pdfПеремещение транзактов. Оператор TRANSFER
TRANSFER A,B,C,D.
A - режим передачи;
B - следующий блок;
C - следующий блок;
D - значение индекса, используемое в режиме ALL.
Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле A.
Основные режимы передачи:
1. A - пробел: режим безусловного перехода. Транзакт направляется в блок, указанный в поле B.
например:
TRANSFER ,MET –
транзакт передается в блок с именем (меткой) MET.
2. A - BOTH: транзакт последовательно пытается войти в блок B, затем в блок C, до тех пор, пока один из них станет доступным.
например:
TRANSFER BOTH,MET1,MET2
- транзакт пытается войти в блоки с метками MET1 и
MET2.
3. A - ALL: транзакт пытается последовательно перейти в блоки B, B+D,
B+2D,..., B+nD, пока не достигнет блока С.
например:
TRANSFER ALL,MET1,METN,5
- транзакт пытается войти в каждый 5-й блок, начиная с блока MET1, пока не достигнет блока METN.
4. A - ". ": статистический режим: в поле A указано де-
сятичная дробь, выражающая вероятность перехода в блок С, ee дополнение до единицы указывает вероятность
перехода в блок B.
Пример:
TRANSFER .4,MET1,MET2
-транзакт с вероятностью 0.4 переходит к блоку MET2 и
свероятностью 0.6 - к блоку MET1.
Пример 2:
Два потока транзактов с разными приоритетами поступают на одно устройство. После обработки оба вида транзактов поступают на дальнейшую обработку (без учета приоритетов) на двухканальное устройство. Получить статистику работы системы при различной интенсивности входных потоков.
DUAL STORAGE 2
GENERATE |
7,2,,,1 ;первый поток заявок |
QUEUE |
BUF1 |
SEIZE |
CPU |
DEPART |
BUF1 |
ADVANCE |
5,4 |
RELEASE |
CPU |
TRANSFER |
,Ldual |
GENERATE |
7,2,,,2 ; второй поток заявок |
QUEUE |
BUF2 |
SEIZE |
CPU |
DEPART |
BUF2 |
ADVANCE |
(exponential(1,3,3)) |
RELEASE |
CPU |
PRIORITY |
1 |
Ldual QUEUE |
DUAL |
ENTER |
DUAL |
DEPART |
DUAL |
ADVANCE |
8.5,2 |
LEAVE |
DUAL |
TERMINATE |
|
GENERATE |
1000 |
TERMINATE |
1 |
FACILITY |
ENTRIES |
UTIL. |
|
AVE.TIME. |
|
DELAY |
|||
CPU |
|
162 |
|
0.992 |
|
6.1 |
|
121 |
|
QUEUE |
MAX CONT. |
ENT ENT(0) AVE.CONT. AVE.(-0) |
|||||||
DUAL |
2 |
0 |
|
161 |
98 |
|
0.2 |
|
2.6 |
BUF1 |
120 |
120 |
|
142 |
0 |
|
61.9 |
436.0 |
|
BUF2 |
4 |
1 |
|
141 |
1 |
|
1.2 |
|
8.2 |
STORAGE CAP. REM. MIN. MAX. ENTR AVE.C. UTIL. |
|||||||||
DUAL |
|
2 |
0 |
|
0 |
2 |
161 |
1.5 |
0.753 |
|
GENERATE |
14,2,,,2 ; второй поток заявок |
|||||||
FACILITY |
ENTRIES |
UTIL. |
|
AVE.TIME. |
|
DELAY |
|||
CPU |
|
184 |
|
0.988 |
|
5.4 |
|
28 |
|
QUEUE |
MAX CONT. |
ENT ENT(0) AVE.CONT. AVE.(-0) |
|||||||
DUAL |
4 |
0 |
|
183 |
73 |
|
0.7 |
|
6.2 |
BUF1 |
28 |
28 |
|
141 |
1 |
|
13.4 |
|
95.8 |
BUF2 |
1 |
0 |
|
71 |
1 |
|
0.2 |
|
2.5 |
STORAGE CAP. REM. MIN. MAX. ENTR AVE.C. UTIL. |
|||||||||
DUAL |
|
2 |
0 |
|
0 |
2 |
161 |
1.7 |
0.864 |
Перемещение транзактов. Оператор GATE
GATE X,A[,B]
- проверка состояния устройств, хранилищ, ключей. Операнд X задает условие проверки:
U - устройство занято;
NU - устройство не занято;
I - устройство прервано;
NI - устройство не прервано;
SF - хранилище заполнено;
SNF - хранилище не заполнено;
SE - хранилище пустое;
SNE - хранилище непустое;
LR - ключ включен;
LS - ключ не включен.
A - имя объекта, состояние которого проверяется; B – метка для альтернативного перехода.
Условие выполнено
транзакт переходит в следующий блок. Условие не выполнено
если поле B определено, переход к помеченному оператору
если поле B не определено, транзакт остается в предыдущем блоке.
Например:
GATE U PRIB,MET
Пример 3 Двухканальный телефон. Вызовы поступают через 1 мин.
40 сек. с отклонением +/- 1 мин. Время разговора 3 +/-1 мин. Если занято, то повторная попытка через 5 +/- 1 мин.
Получить распределение времени выполнения успешного звонка.
* Telephone System Model
*
****************************************
*Simple Telephone Simulation
*Time Unit is one minute
* |
|
|
|
Sets |
STORAGE |
2 |
|
Transit |
TABLE |
M1,2,1,30 |
;Transit time |
|
GENERATE |
1.667,1 |
;Calls arrive |
Again |
GATE SNF |
Sets,Occupied ;Check |
|
|
ENTER |
Sets |
;Connect call |
|
ADVANCE |
3,1 |
;Speak |
|
LEAVE |
Sets |
;Free a line |
|
TABULATE |
Transit |
;Transit time |
|
TERMINATE 1 |
;Remove |
|
Occupied ADVANCE |
5,1 |
;Wait |
|
|
TRANSFER |
,Again |
;Try again |
LOC |
BLOCK TYPE |
ENTRY COUNT CUR.COUNT |
|
1 |
GENERATE |
216 |
0 |
2 |
GATE |
762 |
0 |
3 |
ENTER |
201 |
0 |
4 |
ADVANCE |
201 |
1 |
5 |
LEAVE |
200 |
0 |
6 |
TABULATE |
200 |
0 |
7 |
TERMINATE |
200 |
0 |
8 |
ADVANCE |
561 |
15 |
9 |
TRANSFER |
546 |
0 |
STORAGE CAP. REM. MIN. MAX. ENTRIES SETS 2 1 0 2 201
AVE.C. UTIL. 1.677 0.839
MEAN STD.DEV. RANGE |
|
FREQUENCY |
CUM.% |
||
14.27 |
17.3 |
- |
3 |
46 |
23.00 |
|
2 |
||||
|
3 |
- |
4 |
39 |
42.50 |
|
4 |
- |
5 |
0 |
42.50 |
|
5 |
- |
6 |
0 |
42.50 |
|
6 |
- |
7 |
8 |
46.50 |
|
7 |
- |
8 |
10 |
51.50 |
|
8 |
- |
9 |
14 |
58.50 |
|
9 |
- 10 |
6 |
61.50 |
|
|
10 |
- 11 |
0 |
61.50 |
|
|
11 |
- 12 |
1 |
62.00 |
|
|
12 |
- 13 |
4 |
64.00 |
|
|
13 |
- 14 |
8 |
68.00 |
|
|
14 |
- 15 |
2 |
69.00 |
|
|
15 |
- 16 |
0 |
69.00 |
|
|
16 |
- 17 |
3 |
70.50 |
|
|
17 |
- 18 |
6 |
73.50 |
|
|
18 |
- 19 |
5 |
76.00 |
|
|
19 |
- 20 |
2 |
77.00 |
|
|
20 |
– 21 |
0 |
77.00 |
|
|
21 |
- 22 |
4 |
79.00 |
|
|
22 |
- 23 |
3 |
80.50 |
|
|
23 |
- 24 |
3 |
82.00 |
|
|
24 |
- 25 |
2 |
83.00 |
|
|
25 |
- 26 |
0 |
83.00 |
|
|
26 |
- 27 |
2 |
84.00 |
|
|
27 |
- 28 |
2 |
85.00 |
|
|
28 |
– 29 |
4 |
87.00 |
|
|
29 |
- 30 |
0 |
87.00 |
|
|
30 |
- __ |
26 |
100.00 |
102 – 112 |
1 |