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

Вид материалаДокументы
JOE и очереди JOEQ
Описание элементов, показанных на рисунке 2А.3, д
Описание элементов, показанных на рисунке 2А.3, е
Total entries
2. Zero ехтries
3. Average time/trans
Current c0ntents
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Рис. 2A.3. Часть распечатки примера моделирования 2A:

а - ассемблированная модель;

б - словарь символов приборов;

в - словарь символов для очереди;

г - значения времени и счетчик блоков;

д - статистические данные по приборам;

е - статистические данные по очередям.

Русские эквиваленты названий элементов статистик, распечатываемых
по-английски, приведены в описании результатов.
а)

*

* MODEL SEGMENT 1

*

1 GENERATE 18 6

2 QUEUE 1

3 SEIZE 1

4 DEPART 1

5 ADVANCE 16 4

6 RELEASE 1

7 TERMINATE

*

* MODEL SEGMENT 2

*

8 GENERATE 480

9 TERMINATE 1

*

* CONTROL CARDS

*

START 1


б)

FACILITI SIMBOLS AND CORRESPONDING NUMBERGS

1 JOE


в)

QUEUE SYMBOLS AND CORRESPONDING NUMBERS

1 JOEQ


г)

RELATIVE CLOCK 480 ABSOLUTE CLOCK 480

BLOCK COUNTS

BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL

1 0 27

2 1 27

3 0 26

4 0 26

5 1 26

6 0 25

7 0 25

8 0 1

9 0 1


д)

FACILITI AVERAGE NUMBER AVERAGE SEIZING PREEMPTING

UTILISATION ENTRIES TIME/TRAN TRANS. NO. TRANS. NO.

JOE .860 26 15.884 3


е)

QUEUE MAXIMUM AVERAGE TOTAL ZERO PERCENT AVERAGE SAVERAGE

CONTENTS CONTENTS ENTRIES ENTRIES ZEROS TIME/TRANS TIME/TRANS

JOEQ 1 .160 27 12 44.4 2.851 5.133

SAVERAGE TIME/TRANS = AVERAGE TIME/TRANS EXPLODING ZERO ENTRIES

Основные результаты, полученные при моделировании (см. рис.2А.2), представлены на рис.2А.З. На рис. 2А.З,а показана модель после ее ассемблирования (процесс трансляции с исходного языка в некоторый промежуточный объектный код. После ассемблирования все символические имена заменяются на числовые).Она обладает следующими четырьмя особенностями:
  1. Абсолютный номер блока, присвоенный интерпретатором, повторяется в объектном коде модели. Такими номерами являются номера 1 - 9 в левой колонке рис.2А.З,а.
  2. Операнды расположены не в смежных колонках и не разделены запятой. Они теперь расположены в полях по шесть колонок каждый и выровнены по левому краю (из рис. 2А.3, а пока явно не видно, что для операндов используют поля именно по шесть колонок).
  3. Все символические имена элементов в модели заменены на соответствующие им числовые эквиваленты, присвоенные интерпретатором. Например, операнд А блока QUEUE (блок 2) теперь равен 1, а не JOEQ,операнд А блока SEIZE (блок 3) теперь равен 1, а не JOE, и т.д.
  4. Комментарии, входящие в строки блоков модели, пропадают. Чистые карты - комментарии, т. е. карты, имеющие в первой колонке звездочку, не пропадают. Они целиком сохраняются в распечатке объектного кода модели.

На рис.2А.З, б,в представлены перечни при боров и очередей. В перечне приборов представлены все числовые эквиваленты,присвоенные символическим именам приборов. Прибору с символическим именем JOE, в частности, присвоен номер 1 и в объектном коде модели; очередь с символическим именем JOEQ получила номер 1.Эти номера являются операндами А блоков SEIZE - RELEASE и QUEUE - DEPART на рис.2А.3,а. Если используются символические имена блоков, то в распечатке программы появляется соответствие между именами и их номерами.

На рис.2А.З,г изображены значения времени и список блоков. В верхней строке рисунка указаны два значения времени - относительное и абсолютное. Различие между ними мы определим позднее. А сейчас достаточно заметить, что оба значения времени показывают 480. Это означает,что завершение моделирования произошло в момент модельного времени, равный 480.Сразу же за строкой времени на рис.2А.З,г дан список блоков. Он размещен в трех колонках: номер блока, помеченный на рисунке словом BLOCK (БЛОК),счетчик текущего содержимого, помеченный как CURRENT (ТЕКУЩЕЕ), и общее число входов, помеченное как TOTAL (ОБЩЕЕ). Номера блоков соответствуют номерам, показанным на рис.2A.3,а.

Счетчик текущего содержимого является счетчиком транзактов,находящихся в соответствующих блоках в момент завершения моделирования. Счетчик входов является счетчиком общего числа транзактов, которые вошли в соответствующие блоки в течение периода моделирования, включая также те из них, которые все еще находятся в блоке (если таковые имеются). Например, счетчик входов в блок 1 (рис.2А.З, г) равен 27. Это значит, что 27 транзактов вошло в модель через блок GENERATE, стоящий на первом месте. Аналогично, счетчик входов в блок 2 равен 27, это означает, что 27 транзактов вошло в блок QUEUE, стоящий на втором месте. Счетчик текущего содержимого в блоке 2 равен 1. Это означает, что только один транзакт все еще находится в блоке QUEUE,т.е. один клиент ждал обслуживания в момент завершения работы модели. В блоке 5,т.е. блоке ADVANCE, счетчик текущего содержимого равен 1, а счетчик входов равен 26. Это значит, что парикмахер обслуживал 26 клиентов, из этих 26 один все еще находится на обслуживании. Счетчики входов в блоках SEIZE и RELEASE равны 26 и 25 соответственно; это согласуется со значением счетчика блока ADVANCE.

Рис.2А.4. Распечатка программы моделирования 2А с перестановкой сегментов модели.

BLOCK

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

SIMULATE

*

* MODEL SEGMENT 2

*

1 GENERATE 480 TIME ARRIVES AT TIME 480

2 TERMINATE 1 SHUT OFF THE RUN

*

* MODEL SEGMENT 1

*

3 GENERATE 18,6 CUSTOMERS ARRIVE

4 QUEUE JOEQ ENTERTHE LINE

5 SEIZE JOE CAPTURE THE BARBER

6 DEPERT 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 SRART THE RUN

END RETURN CONTROL TO OPERATING SYSTEM

На рис.2А.З,д,е показаны статистические данные, собранные о работе прибора JOE и очереди JOEQ. Еще раз статистические данные о работеприборапоказаны на рис.2A.5; здесь колонки пронумерованы для удобства дальнейших ссылок. В таблице к рис.2А.5 даны значения элементоввразличных колонках. Аналогично, на рис. 2А.6 повторена часть распечатки статистических данных об очереди вместе с номерами колонок. В нижнейчасти рисунка указаны значения данных,располагаемых в колонках.Рассмотрим подробнее таблицы к рис.2А.5 и 2А.6 со ссылкой на распечатку результатов. Они выдают следующую информацию:
  1. Прибор JOE использовался в течение 86% времени, AVERAGE UTILIZATION (НАГРУЗКА) = 860.
  2. Прибор JOE был занят обслуживанием 26 раз, NUMBER ENTRIES (ЧИСЛО ВХОДОВ) = 26. Это соответствует ранее рассмотренному значению счетчика входов, равному 26 для блока SEIZE.
  3. Среднее время интервала обслуживания прибора JOE равно 15,884 мин, AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАН) = 15.884.
  4. Транзакт номер 3 находился на обслуживании приборомJOEвмоментзавершения моделирования SEIZING TRANS.NO. (НОМЕР ОБСЛУЖИВ. ТРАНЗ.) = 3. Тот факт, что JOE был занят призавершении моделирования, соответствует ранее рассмотренному значению счетчика текущего содержимого, равного 1 для блока ADVANCE.
  5. В очереди JOE никогда не было более одного клиента,МАХIMUMCONTENTS (МАКСИМАЛЬНОЕ СОДЕРЖИМОЕ) = 1.
  6. Среднее число клиентов, находившихся в очереди, равно 0,160, AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ) = 160.
  7. Числом входов в очередь является27, TOTAL ENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ) = 27.
  8. Среди этих 27 входов в очередь было 12 нулевых, ZERO ENTRIES (НУЛЕВЫХ ВХОДОВ) = 12.
  9. Из общего числа входов в очередь 44,4% было нулевых, PERCENT ZEROS (ПРОЦЕНТ НУЛЕВЫХ) = 44,4.
  10. Среднее время нахождения в очереди на один вход (включая нулевые входы) равно 2,851 мин,AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) = 2,851.
  11. Среднее время нахождения в очереди на один ненулевой вход равно5,133мин, $ AVERAGE TIME/ TRANS ($ СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) * = 5.133.
  12. В момент завершения моделирования один транзакт находился в очереди, CURRENT CONTENTS(ТЕКУЩЕЕ СОДЕРЖИМОЕ) = 1.Это соответствует рассмотренному ранее значению счетчика текущего содержимого для блока QUEUE (СТАТЬ В ОЧЕРЕДЬ), равного единице.

Рис.2А.5 Описание элементов, показанных на рисунке 2А.3, д.

FACILITI

AVERAGE

NUMBER




UTILIZATION

ENTRIES

JOE

.860

26







 

 

 

AVERAGE

SEIZIHG

PREEMPTING

TIME/TRAN

TRANS.NO.

TRANS.NO

15.884

3













Описание элементов, показанных на рисунке 2А.3, д

Колонка

Значение

1

Имена(символические или числовые) приборов, используемых в модели

2

Доля времени, в течении которого соответсвующие приборы были в состоянии занятости

3

Число обслуживаний

4

Средняя продолжительность одного обслуживания

5

Номер транзакта(если такой есть), который в настоящее время находится на обслуживании

6

Номер транзакта(если такой есть), который в настоящее время занял("захватил") прибор

Статистические данные, приведенные на рис. 2А.5 и 2А.6, понятны и почти не требуют дополнительных пояснений. Это особенно справедливо для приборов. Так как только один транзакт в единицу времениможет использовать прибор, NUMBER ENTRIES берется непосредственно из счетчика числа транзактов,находившихся на приборе, а AVERAGE TINE/TRANS является средним временем обслуживания транзактов, находившихсянаприборе.Также просто все можно было бы описать, еслибыоперанд В блоков QUEUE и DEPART всегда был равен 1 (для примера моделирования 2А это справедливо, таккакоперанд В определен по умолчанию). Вспомним, чтоприописании очередей указывалось, что интерпретаторсчитает статистику в соответствии с элементами содержимого, а не транзактами. В примере моделирования2А (и в пособии вообще) каждый транзакт, входящий в очередь, указываетвточности на один элемент содержимого.Если бы это было не так, необходимо было бы описать статистические данные очереди следующим образом.

Рис.2А.6 Описание элементов, показанных на рисунке 2А.3, е.

QUEUE

MAXIMUM

AVERAGE

TOTAL

ZERO




CONTENTS

CONTENTS

ENTRIES

ENTRIES

JOEQ

1

.160

27

12











 

 

 







PERCENT

AVERAGE

SAVERAGE

TABLE

CURRENT

ZEROS

TIME/TRANS

TIME/TRANS




CONTENS

44.4

2.851

5.133

NUMBER

1














Описание элементов, показанных на рисунке 2А.3, е

Колонка

Значение

1

Имена(символические или числовые) очередей, используемых в модели

2

Наибольшее значение содержимого очереди, зарегистрированное в течение моделирования

3

Среднее значение содержимого очереди

4

Общее число входов в очередь

5

Общее число входов в очередь без последующего ожидания (нулевые входы)

6

Процент нулевых входов от общего числа входов

7

Среднее время, проведенное в очереди с учетом всех входов(нулевые входы также включаются в среднее)

8

Среднее время, проведенное в очереди(нулевые входы исключаются из среднего)

9

Имя (символическое или числовое) таблицы,GPSS, в которой представлено распределение времени ожидания для этой очереди

10

Текущее значение содержимого очереди

Замечание: В ЭВМ единой серии, на которых реализована система GPSS/360, вместо символа $ следует использовать символ Д.

1. TOTALENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ) - это число элементов содержимого, вошедших в очередь. Более точно, TOTAL ENTRIES - зто значение счетчика, сброшенного в ноль в начале и модифицируемого назначение, равное значению операнда В блока QUEUE при каждом использовании блока. Исключением является случай, когда операнд В блока QUEUE равен 1; в общемслучае значение счетчика не равно общему числу транзактов, являющихся элементами очереди в течение моделирования.

2. ZERO ЕХТRIES (НУЛЕВЫЕ ВХОДЫ) - это число элементов содержимого,котороенаходилось в очереди нуль времени. Точнее, ZЕRО ENTRIES - это значение счетчика, в начале сброшенного в нуль, к которому добавлялось значение, равноезначению операнда В блока DEPART каждый раз при выполнении подпрограммы блока, если время нахождения транзакта в очереди равнялось нулю. Исключением является случай, когда операнд В блока DEPART равен 1;в общем случае значение счетчика не совпадает с числом транзактов, являющихся элементами очереди, проведшими нуль времени в очереди.

3. AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) -это среднее время нахождения в очереди на единицу содержимого. Это значение совпадает со значением среднего времени нахождения транзактов в очереди, если предполагать, что каждый транзакт, проходя очередь, вычитает из счетчика текущего содержимого то же число,которое было прибавлено к счетчику текущего содержимого ранее. Если это не так,то величина AVERAGE TIME/TRANS означает нечто иное.

4. Аналогично МАХIMUM CONTENTS (МАКСИМАЛЬНОЕ СОДЕРЖИМОЕ), AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ),PERCENT ZEROS (ПРОЦЕНТ НУЛЕВЫХ), $AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) и CURRENT CONTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) должны интерпретироваться в соответствии с концепцией элементов содержимого,а не транзактов, за исключением использования операнда В блоков QUEUE и DEPART,равного единице.

Уточним значение некоторых элементов статистических данных об очереди и приборе. Если прибор в момент завершения моделирования занят, то очевидно занижение данных, называемых AVERAGE TIME/TRANS. Это возможно, посколькуAVERAGE TIME/TRANSвычисляется делением полного модельного времени занятости прибора на значение NUMBER ENTRIES (ЧИСЛО ВХОДОВ).

Если существует транзакт, который еще не обслужен до завершения моделирования, то неполное время занятости включается в статистические данные AVERAGE TIME/TRANS. То же самое можно сказать относительно величиныAVERAGE TIME/ TRANS, рассчитанной для очереди делением общеговремени нахождения в очереди на значение TOTALENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ).

Если очередь имеет CURRENT C0NTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) в момент завершения моделирования, то еще не учтено полное время нахождения в очереди. В результате величины AVERAGE TIME/TRANS и $ AVERAGE TIME/TRANS занижены. И, наконец, самое раннее значение модельного времени, при котором может начаться движение транзактов, равно 1.Это означает, что на интервале времени 0 - 1 содержимое очередей в модели равно нулю, все приборы свободны и т.д.Поскольку такие данные статистики, как среднее содержимое очереди, нагрузка приборов и т.п. вычисляются от значения модельного времени,равного 0,существует незначительное отклонение этих данных от истинных.