Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
14.05.2015
Размер:
206.99 Кб
Скачать

Перемещение транзактов. Оператор 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

Соседние файлы в папке Моделирование систем