Основные концепции моделирования на gpss

Вид материалаДокументы
Обозначения для транзактов
На бланке показаны поля имени (LOCATION),операции (OPERATION) и операндов (помечено символами А,В, С,D,Е,F,G). На распечатке пол
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Обозначения для транзактов


Для транзакта имеется пять типов записей:
  • номер транзакта;
  • время, на которое запланирована попытка войти в следующий блок (время движения);
  • номер блока, через который транзакт сейчас проходит (текущий блок);
  • его уровень приоритета;
  • номер следующего блока, в который делается попытка войти.

Эта информация записывается в виде пяти символов в указанном порядке. Общий вид такой пятипозиционной записи представлен на рис.13.2,а. Численный пример представлен на рис.13.2,б.

Численный пример показывает, что транзакт номер 9 пытается в момент времени, равный 68, выйти из блока 5 и войти в блок 6. Транзакт номер 9 имеет нулевой приоритет.

Рис.13.2.[ Номер транзакта. Время движения. Номер текущего блока.
Уровень приоритета. Номер следующего блока]

[9.68.5.0.6]

Рис. 13.3. Перемещение транзактов между пассивным и активным буферами.



Как указывалось ранее, номер транзактам присваивает интерпретатор. Величина номера зависит от того, как много транзактов могут одновременно находиться в модели. Это число зависит от объема предоставляемой памяти. При объеме памяти в 64К максимальным числом транзактов является 200.

Ясно, что номера транзактов могут быть от 1 до 200. Транзакты могут принадлежать к одной из двух групп. Одна группа - это скрытая или пассивная группа транзактов, находящаяся в пассивном буфере, в отличие от транзактов, уже участвующих в модели. Другая группа хранится в активном буфере транзактов, т. е. они уже вошли в модель через один или более блоков GENERATE и пока еще не удалены из модели. (Существует еще один тип блоков, через которые транзакты могут войти в модель.)

Прежде чем начинается моделирование, транзакты в пассивном буфере располагаются в порядке возрастания номеров. В модели на 64К транзакты в пассивном буфере располагаются в порядке номеров 1, 2,....., 200. Этот буфер можно представить себе как расположенный "сверху - вниз" транзакт 1 находится в вершине буфера, транзакт 2 под ним и т.д. до последнего транзакта 200, находящегося в самом низу.

При возникновении необходимости ввести в модель транзакт интерпретатор достает его из вершины пассивного буфера. Этот транзакт вносится в модель через цепь будущих событий с помощью процедуры, которая будет описана ниже. И наоборот, когда возникает необходимость удалить соответствующий транзакт, его убирают из модели и помещают обратно в вершину пассивного буфера. Перемещение транзактов между пассивным и активным буферами показано на рис.13.3. Номера блоков присваиваются в том порядке, в котором стоят карты блоков в колоде. Например, на рис.13.5 представлено повторение распечатки программы рис.13.4 с номерами блоков, присвоенными интерпретатором. Номера блоков стоят в левой колонке.

Рис.13.4. Пример моделирования 2A. Модель и распечатка программы:
а -заполненный бланк для перфорации модели;
б - распечатка программы для модели, представленной в части а.

На бланке показаны поля имени (LOCATION),операции (OPERATION) и операндов (помечено символами А,В, С,D,Е,F,G). На распечатке поле имени отмечено символами * LOC.

а)

LOCATION

 

OPERATION

A,B,C,D,E,F ------------------------>

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

2 6

2 7

2 8

2 9

3 0

3 1

3 2

3 3

3 4

3 5

3 6

3 7

3 8

3 9

4 0

4 1

4 2

4 3

4 4

4 5

4 6

 

 

 

 

 

S

I

M

U

L

A

T

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

M

O

D

E

L

 

S

E

G

M

E

N

T

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

G

E

N

E

R

A

T

E

 

1

8

,

6

 

П

Р

И

Х

О

Д

 

К

Л

И

Е

Н

Т

О

В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q

U

E

U

E

 

 

 

 

J

O

E

Q

 

П

Р

И

С

О

Е

Д

И

Н

Е

Н

И

Е

 

К

 

О

Ч

Е

Р

Е

Д

И

 

 

 

 

 

 

 

 

 

S

E

I

Z

E

 

 

 

 

J

O

E

 

 

П

Р

И

Х

О

Д

 

В

 

К

Р

Е

С

Л

О

 

П

А

Р

И

К

М

А

Х

Е

Р

А

 

 

 

 

 

D

E

P

A

R

T

 

 

 

J

O

E

Q

 

У

Х

О

Д

 

И

З

 

О

Ч

Е

Р

Е

Д

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

D

V

A

N

C

E

 

 

1

6

,

4

 

О

Б

С

Л

У

Ж

И

В

А

Н

И

Е

 

У

 

П

А

Р

И

К

М

А

Х

Е

Р

А

 

 

 

 

 

 

R

E

L

E

A

S

E

 

 

J

O

E

 

 

О

С

В

О

Б

О

Ж

Д

Е

Н

И

Е

 

П

А

Р

И

К

М

А

Х

Е

Р

А

 

 

 

 

 

 

 

 

T

E

R

M

I

N

A

T

E

 

 

 

 

 

У

Х

О

Д

 

И

З

 

П

А

Р

И

К

М

А

Х

Е

Р

С

К

О

Й

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

M

O

D

E

L

 

S

E

G

M

E

N

T

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G

E

N

E

R

A

T

E

 

4

8

0

,

1

 

Т

А

Й

М

Е

Р

 

П

Р

И

Х

О

Д

И

Т

 

В

 

М

О

М

Е

Н

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

Р

Е

М

Е

Н

И

,

Р

А

В

Н

Ы

Й

 

4

8

0

 

 

 

 

 

 

 

T

E

R

M

I

N

A

T

E

 

1

 

 

 

 

З

А

В

Е

Р

Ш

Е

Н

И

Е

 

П

Р

О

Г

О

Н

А

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

C

O

N

T

R

O

L

 

C

A

R

D

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

S

T

A

R

T

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

N

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

BLOCK

NUMBER *LOG OPERATION A,B,C,D,E,F,G COMMENTS

SIMULATE

*

* MODEL SEGMENT 2

*

1 GENERATE 460 TIMER ARRIVES AT TIME 460

2 TERMINATE 1 SMUT OFF THE RUN

*

* MODEL SEGMENT 1

*

3 GENERATE 16,6 CUSTOMERS ARRIVE

4 QUEUE JOEQ ENTER THE LINE

5 SEIZE JOE CAPTURE THE BARBER

6 DEPART JOEQ LEAVE THE LINE

7 ADVANCE 16,4 USE THE BARBER

8 RELEASE JOE FREE THE BARBER

9 TERMINATE LEAVE THE SHOP

*

* CONTROL CARDS

*

START 1 START THE RUN

END RETURN CONTROL TO OPERATING SYSTEM

Рис 13.5. Повторение рис. 13.4

BLOCK

NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS

SIMULATE

*

* MODEL SEGMENT 1

*

1 GENERATE 18,6 CUSTOMERS ARRIVE

2 QUEUE JOEQ ENTERTHE LINE

3 SEIZE JOE CAPTURE THE BARBER

4 DEPERT JOEQ LEAVE THE LINE

5 ADVANCE 16,4 USE THE BARBER

6 RELEASE JOE FREE THE BARBER

7 TERMINATE LEAVE THE SHOP

*

* MODEL SEGMENT 2

*

8 GENERATE 480 TIME ARRIVES AT TIME 480

9 TERMINATE 1 SHUT OFF THE RUN

*

* CONTROL CARDS

*

START 1 SRART THE RUN

END RETURN CONTROL TO OPERATING SYSTEM