0022 - Моделирование на GPSS - Когда этот транзакт прекращает продвижение, интерпре...

Шрайбер. Моделирование на GPSS. 2004

 Шрайбер 
.  Моделирование на GPSS 
. 2004
. 
. 
. 
. С помощью GPSS можно эффективно моделировать функционирование торговых заведений, портов, уличное движение, проведение военных действий, работу редакций, учреждений и сети Интернет, различных систем ма
Название: 
Моделирование на GPSS
Автор: 
Шрайбер
Год: 
2004
Издательство: 
Описание: 

С помощью GPSS можно эффективно моделировать функционирование торговых заведений, портов, уличное движение, проведение военных действий, работу редакций, учреждений и сети Интернет, различных систем массового обслуживания и многое другое. GPSS World – мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Книга содержит описание структуры среды GPSS World. Представлены основные этапы программирования. Даются общие понятия и определения языка имитационного моделирования GPSS.

Когда этот транзакт прекращает продвижение, интерпретатор снова предпринимает одно из описанных действий н т. Просмотр начинается от начала цепи только при выполнении специальных условий. Эти условия зависят от того, какая подпрограмма была выполнена для только что остановленного транзакта. Если транзакт прошел блок . Причина возобновления просмотра при выполнении блока . Целью просмотра является в этом случае поиск тех транзактов от начала цепи текущих событий, которые принадлежат к этой категории. Следует пояснить, почему цепь текущих событий начинает просматриваться сначала в результате выполнения блока . Вполне возможно, что где. Следовательно, и занятие прибора и его освобождение в общем случае могут снять условия блокировки. Предположим теперь, что только что обработан транзакт, находящийся в конце цепи текущих событий. Следующего транзакта в этой цепи нет. Он продвигает таймер модельного времени к значению, запланированному для движения следующего транзакта. Этот транзакт переносится из цепи будущих в цепь текущих событий. Любые другие транзакты, движение которых можно возобновить в это новое значение времени, также переносятся из цепи будущих в цепь текущих событий. Каждый входящий транзакт занимает положение в соответствии со своим уровнем приоритета. Чем выше уровень приоритета, тем ближе к началу цепи располагается транзакт. При наличии временных узлов каждый входящий транзакт располагается как последний элемент внутри своего приоритетного класса. После того, как перенос из це. Весь цикл просмотра повторяется. Таким образом интерпретатор продвигает модель во времени. Описанные действия интерпретатора сведены в блок. Далее будут описаны эти фазы и объяснено, как действует интерпретатор. Теперь рассмотрим основы логики работы интерпретатора. Она будеТ детально описана на численном примере моделирования системы обслуживания с одним прибором и очередью. Первый г пример использования цепей текущих и будущих событий Рассмотрим, как интерпретатор . Для этого надо сделать следующее. Определить обозначения соответствующей информации о транзактах. Задать распределения интервалов прихода и обслуживания транзактов. Ввести таблицы, показывающие временную зависимость транзактов, находящихся в цепях текущих и будущих событий. Пояснить действия, предпринимаемые интерпретатором, показом изменения информации о траиэахтах, перемещаемых в модели. Обозначения для транзактов Для транзакта имеется пять типов записей. Общий вид такой пяти позиционной записи представлен на рис. Численный пример представлен на рис. Численный пример показывает, что транзакт номер . Найти транзакт в начале цепи будущих событий. Фаза коррекции таймера модельного времени интерпретатора . Номер следующего блоир . Информация транзактов в виде пятнпозкдяо. При возникновении необходимости ввести в модель транзакт интерпретатор достает его из вершины пассивного буфера. Этот транзакт вносится в модель через цепь будущих событий с помощью процедуры, которая будет описана ниже. И наоборот, когда возникает необходимость удалить соответствующий транзакт, его убирают из модели и помещают обратно в вершину пассивного буфера. Перемещение транзактов между пассивным и активным буферами показано на рис. Что касается номеров блоков, то метод их присвоения рассмотрен в параграфе . Номера блоков присваиваются в том порядке, в котором стоят карты блоков в колоде. Номера блоков стоят в левой колонке. Предполагаемые значения интервалов прихода и времени обслуживания В табл. В табл. сдяо Вершина. Перемещение транзактов между пассивным н активным буферами Л . Величина номера зависит от того, как много транзактов могут одновременно находиться в модели. Это число зависит от объема предоставляемой памяти. При объеме памяти в . Это следует из приложения . Ясно, что номера транзактов могут быть от . Транзакты могут принадлежать к одной из двух групп. Одна группа — это скрытая или пассивная группа транзактов, находящаяся в пассивном буфере, в отличие от транзактов, уже участвующих в модели. Другая группа хранится в активном буфере транзактов, т. они уже вошли в модель через один или более блоков . Мы его будем рассматривать в гл. Разыгранные значения интервалов времени прихода в блоке . Иногда цепь может не содержать ни одного транзакта. Эта ситуация обозначена словом . В клетке строк . Обработка интерпретатором состояний модели начинается с фазы ввода. Для каждого значения модельного времени состояния цепей показаны в двух строках. Первая строка в любое заданное время показывает состояние цепи после последней фазы коррекции таймера, но перед тем, как начинается фаза просмотра. Таким образом, эта информация является входной для последующей фазы просмотра. Вторая строка в тот же момент модельного времени показывает состояние цепей после того, как фаза просмотра завершается, но непосредственно перед тем, как начнется выполнение следующей фазы коррекции таймера. Эта информация является входной для последующей фазы коррекции таймера. Напомним, что между первой и второй строками в любой заданный момент времени интерпретатором выполняются действия, описанные на рнс. В общем случае выполняется много промежуточных перемещений транзактов в соответствии с этими действиями. Состояния цепей на рис. Во второй строке для каждого значения времени показано окончательное состояние цепей. Подобным образом, между второй строкой каждого значения времени и первой. Вновь не показаны промежуточные состояния цепей, возникающих Номер по пор. Разыгранное значение . Разыгранные значения времени задержки в блохе . Разыгранное значенне . Состояния цепей модели На рис. Каждая строка на рис. Различные значения моментов времени, отмечаемые таймером в течение моделирования, показаны на рис. Третья колонка представляет цепь текущих событий, четвертая — цепь будущих событий.