Логика работы интерпретатора GPSS-модели. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Логика работы интерпретатора GPSS-модели.



Теоретические положения

Таймер GPSS–модели регистрирует только целые значения модельного времени. Единица времени, с которой работает таймер, определяется разработчиком и задается в неявном виде в форме параметров временных данных (значений операндов блоков), вводимых в модель и выраженных в единицах модельного времени. Выбор единицы модельного времени осуществляется с учетом динамики моделируемых процессов и точности их отображения.

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

цепь будущих событий (ЦБС);

цепь текущих событий (ЦТС).

Эти две структуры определяют положение транзакта в модели с точки зрения продвижения модельного времени и правил активизации транзактов.

 

ЦБС (является аналогом СБС в ММС) состоит из транзактов, движение которых по модели запланировано на некоторый момент в будущем:

а) планируется выход транзакта из блока GENERATE. В момент успешного выхода транзакта из этого блока соответствующая запись из ЦБС удаляется, но тут же, после выхода интерпретатор заносит в ЦБС следующую запись, соответствующую последователю этого транзакта в блоке GENERATE.

б) транзакт попал в блок ADVANCE (блок задержки).

Транзакты в ЦБС упорядочены по увеличению модельного времени, на которое запланировано их дальнейшее движение. При совпадении времени (узел событий) они располагаются в порядке занесения в ЦБС.

 

ЦТС состоит из транзактов (а точнее – соответствующих им записей), для которых продвижение в модели планируется в текущий момент модельного времени или в течение ближайшего времени.

В ЦТС транзакты упорядочены по приоритетам (больший приоритет вперед). Если приоритет одинаков, то — в порядке занесения в ЦТС.

ЦБС фактически эквивалентна списку будущих событий в методе модельных событий, а ЦТС используется интерпретатором для реализации процессно‑ориентированной логики обработки критических событий.

Логика работы GPSS‑интерпретатора включает 3 фазы:

Фаза вводавыполняется однократно в начале работы ИМ и состоит в последовательном просмотре блоков модели, выявлении блоков GENERATE и в формировании для каждого блока записи в ЦБС для первого транзакта, который должен выйти через этот блок в модель.

Фазы КТМВ и ПЦТС выполняются итеративного до окончания моделирования.

Фаза коррекции таймера модельного времени заключается в переносе транзакта (транзактов) с наименьшим временем планируемого начала движения из ЦБС в ЦТС и соответствующем скачкообразном увеличении модельного времени.

 

Фаза просмотра ЦТС соответствует одному моменту модельного времени, определенному в предыдущей фазе, и заключается в последовательном продвижении транзактов, находящихся в ЦТС через возможно большее число блоков. Возврат на начало ЦТС осуществляется в том случае, когда при очередном перемещении транзакт проходит блок, снимающий условие блокировки (например, блоки RELEASE, LIAVE и др.).

Осуществление этой фазы реализует так называемую процессно-ориентированную логику обработки событий в ИМ.

 

В GPSS предусмотрен специальный механизм задания времени прогона ИМ с помощью так называемого «счетчика завершений». Начальное значение этого счетчика определяется разработчиком ИМ через операнд А управляющей карты START, а затем может быть организовано периодическое уменьшение этого значения в специальном сегменте модели, составленном из блоков GENERATE и TERMINATE. Как только счетчик завершений обнуляется, прогон ИМ завершается.

В GPSS используются два понятия и, соответственно, измерения модельного времени: абсолютное модельное время, измеряемое с самого начала работы имитационной программы, и относительное время, измеряемое с момента сброса в нулевое состояние собранной статистики (это делается после обработки интерпретатором специальной управляющей карты RESET и необходимо для отсечения переходных процессов при оценке статистических характеристик стационарных эргодических процессов).

 

 

Иллюстрация на примере

Постановка задачи.

Построить GPSS-модель одноканальной СМО с неограниченной очередью.

 

Цели моделирования: исследовать загрузку КО и длину очереди.

Исходные данные:

ЗР интервалов времени между заявками во входном потоке ЗРПВ [18,6];

ЗР времени обслуживания – ЗРПВ [16,4].

 

Время прогона ИМ – 480.

 

Блок-схема такой  GPSS-модели имеет вид:

 

     

Рассмотрим функционирование GPSS-модели в предположении следующей численной реализации случайных величин:

 - интервал между заявками входного потока;

 - время обслуживания заявки;

и соответствующей реализации следующих переменных:

 - время входа заявки в систему,

 - время начала обслуживания заявки,

 - время окончания обслуживания заявки.

№ заявки
1 14 14 18 14 32
2 13 27 12 32 44
3 17 44 14 44 58
4 15 59 - - -

 

Графики, отражающие динамику работы СМО в соответствии с этими цифрами, имеют следующий вид:

 

 

Таблица, отражающая логику работы GPSS-интерпретатора для рассматриваемого примера ([N, T, NTB, PR, NSB])

№ Стр. Модельное время Цепь текущих событий Цепь будущих событий
1 до ф. ввода пусто пусто
2 после ф. ввода пусто [1,14,Нет,0,1], [2,480,Нет,0,8]
3 после ф.КТМВ t=14 [1,КМР,Нет,0,1] [2,480,Нет,0,8]
4 после ф. ПЦТС t=14 пусто [3,27,Нет,0,1], [1,32,5,0,6], [2,480,Нет,0,8]
5 после ф.КТМВ t=27 [3,КМР,Нет,0,1] [1,32,5,0,6], [2,480,Нет,0,8]
6 после ф. ПЦТС t=27 [3,КМР,2,0,3] [1,32,5,0,6], [4,44,Нет,0,1], [2,480,Нет,0,8]
7 после ф.КТМВ t=32 [3,КМР,2,0,3], [1, КМР,5,0,6] [4,44,Нет,0,1], [2,480,Нет,0,8]
8 после ф. ПЦТС t=32 пусто [4,44,Нет,0,1], [3,44,5,0,6], [2,480,Нет,0,8]
9 после ф.КТМВ t=44 [4,КМР,Нет,0,1], [3, КМР,5,0,6] [2,480,Нет,0,8]
10 после ф. ПЦТС t=44 пусто [4,58,5,0,6], [1,59,Нет,0,1], [2,480,Нет,0,8]

Для напоминания о соответствии номеров и имен блоков:

G; 2-Q; 3- S; 4- D; 5-A; 6 – R; 7 – T; 8- G; 9 – T.

Сохраняемые величины.

Сохраняемые величины (СВ)– это переменные состояния, в частном случае, константы, значения или правила изменения которых может задавать разработчик ИМ.

Сохраняемые величины используются в качестве операндов блоков и в качестве компонент арифметических выражений.

 Они используются:

1) для определения своих переменных состояния, к которым есть доступ из любого блока;

2) для передачи информации от одного транзакта к другому аналогично использованию почтового ящика;

3) для расширения способа ввода данных: обычные константы, которые используются в качестве операндов блоков, принимают значения 0 ¸ 999999, а сохраняемые величины 0 ¸ (231 – 1);

4) для реализации прямого способа распечатки отдельных переменных состояния;

Значения сохраняемых величин определяются и изменяются только по указанию разработчика ИМ и сохраняются на протяжении всего процесса ее функционирования.

Сохраняемые величины могут быть скалярными  или матричными и имеют определенные СЧА для обращения к ним:

 

 

Xj или X$имя – СЧА скалярной (одномерные) СВ, формат которой определен как слово();

XHj или XH$имя – СЧА скалярной СВ, формат которой определен как полуслово(-32768 - 32767);

МXj(k,l) или МX$имя(k,l) – СЧА матричной СВ, формат которой определен как слово;

МXHj(k,l) или МXH$имя(k,l) – СЧА матричной СВ, формат которой определен как полуслово.

При использовании матричных СВ должна быть определена карта описания:

Имя СВ| MATRIX| A,B, C (А-формат СВ(Х или Н), В - m-число строк, С - n – число столбцов).

 Начальные значения сохраняемых величин задаются с помощью карты описания:

INITIAL имя1, знач1 /.../имя2 знач2

Значения СВ могут задаваться и изменяться с помощью блоков:

Блок SAVEVALUE – для скалярной СВ.

Операнды А – имя СВ, В – модифицирующее значение, С –формат СВ (Х или Н);

Блок М SAVEVALUE – для матричной СВ.

Операнды А – имя СВ, В, С – №№ стр. и столб i,j, D -модифицирующее значение, E –формат СВ (Х или Н)

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 64; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.33.41 (0.015 с.)