МОДЕЛИРОВАНИЕ ОДНОКАНАЛЬНЫХ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ. 

Имитация обслуживания.

Обслуживающий элемент - прибор, характеризуется двумя основными свойствами:

  1. Каждый прибор в любой момент времени может обслуживать только одно требование.

  2. Когда на прибор поступает требование в модели, надо пропустить время, необходимое для его обслуживания. Такое время называется временем обслуживания.

В модели может быть много приборов, поэтому приборам должны быть присвоены различные имена (идентификаторы). Имена могут быть либо числовыми, либо символьными. Числовой идентификатор должен быть положительным целым числом, максимальное значение которого зависит от объема внутренней памяти (ОЗУ) ЭВМ. При объеме 256 Mb максимальное значение 10000. Символьное имя должно начинаться на букву и может содержать до 256 символов или цифр. Допускается символ "_" (подчеркивание).

При использовании прибора необходимо выполнить следующие шаги:

  1. Если необходимо, то ожидаем своей очереди.

  2. Когда подходит очередь, занимаем прибор. Это событие происходит в некоторый момент модельного времени.

  3. Прибор остается в состоянии занятости, пока не закончится обслуживание. Для обслуживания требуется некоторый интервал времени.

  4. По окончании обслуживания прибор должен быть освобожден. Освобождение прибора происходит в некоторый момент модельного времени.

Полная реализация этих шагов осуществляется последовательным прохождением транзакта трех блоков: SEIZE (ЗАНЯТЬ), ADVANCE (ЗАДЕРЖАТЬ), RELEASE (ОСВОБОДИТЬ). Рассмотрим работу каждого из блоков.

Блок SEIZE.

Графическое представление блока имеет вид:

в операторной форме:

SEIZE    A

A - имя (символическое или числовое) занимаемого прибора. Блок обладает следующими свойствами:

  1. Если прибор уже используют (прибор занят), то транзакт не может войти в блок и помещается в очередь.

  2. Если прибор не используют (прибор свободен), то транзакт может войти в блок. При этом, выполняется подпрограмма обработки блока изменяющая статус прибора из "незанято" в "занято".

Блок RELEASE.

Графическое представление блока имеет вид:

в операторной форме:

RELEASE    A

A - имя (символическое или числовое) освобождаемого прибора. Блок обладает следующими свойствами:

  1. Блок RELEASE никогда не запрещает вход транзакта.

  2. Блоки SIEZE и RELEASE дополняют друг друга.

Блок ADVANCE.

Графическое представление блока имеет вид:

в операторной форме:

ADVANCE    A,B

Например:

в операторной форме

ADVANCE    12,3

означает, что транзакт будет задержан в блоке с равными вероятностями на 9, 10, 11, 12, 13, 14 и 15 единиц модельного времени. Обратите внимание: обслуживание рассматривается как временная задержка транзакта, а не как набор каких-либо специфических операций обработки.

Таким образом, обслуживание одноканального прибора в GPSS реализуется последовательностью блоков SEIZE → ADVANCE → RELEASE. Например:

в операторной форме:

SEIZE    JOB

ADVANCE    12,3

RELEASE     JOB

При освобождении прибора (проверяет SEIZE) транзакт входит в блок ADVANCE и после реализации задержки поступает в блок RELEASE, который изменяет статус прибора JOB.

Полностью сегмент модели реализующий прибытие заявки, помещение ее в очередь, поступление заявки на обслуживание, обслуживание, освобождение прибора и удаление заявки из системы имеет вид:

или в операторной форме:

                    GENERATE        8,3

                    SEIZE            JOB

                    ADVANCED        12,3

                    RELEASE        JOB

                    TERMINATE

Обращаем Ваше внимание - это только сегмент модели. Другой обязательный сегмент - таймер модельного времени, будет рассмотрен в следующем параграфе.

        
Hosted by uCoz