Разделы

Авто
Бизнес
Болезни
Дом
Защита
Здоровье
Интернет
Компьютеры
Медицина
Науки
Обучение
Общество
Питание
Политика
Производство
Промышленность
Спорт
Техника
Экономика

Цепи пользователя

Лекция № 10

 

До сих пор мы имели дело с цепями текущих и будущих событий. Эти цепи недоступны пользователю .

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

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

LINK A,B,C -позволяет поместить транзакт в цепь пользователя .

A - имя цепи пользователя ,может быть как численным так и символическим.

B - способ включения транзакта в цепь пользователя.Имеет следующие варианты:

FIFO - новый транзакт ставится в конец (обычная очередь);

LIFO - новый транзакт становится в начало очереди;

P - указывает параметр, в соответствии с которым транзакты помещаются в цепь пользователя:в начале находятся транзакты с меньшим значением этого параметра.

C -(необязательный параметр) Если С отсутствует, то блок LINK работает в режиме безусловного присоединения,присутствие операнда С задает режим условного присоединения.

Для каждой цепи пользователя вводится индикатор состояния, принимающий состояния Set либо Reset.

Set - транзакт безусловно присоединяется к цепи пользователя

Reset - при поступлении на оператор LINK транзакта индикатор состояния устанавливается в состояние Set и транзакт поступает на блок с меткой‚ указанной в операнде С.

UNLINK A,B,C,D,E,F -обеспечивает вывод транзактов из цепи пользователя .

A - имя цепи пользователя ‚из которой извлекаются транзакты.

C - указывается число выводимых транзактов. Здесь может стоять число‚слово ALL (выводятся все

транзакты) или любой числовой атрибут.

B - метка блока‚ на который должны поступить выводимые транзакты.

Выводимые из цепи пользователя транзакты поступают в цепь текущих событий и занимают там место в соответствии со своим приоритетом.

D,E - определяют порядок вывода транзактов

F - имя блока‚ в который поступает транзакт–инициатор‚ то есть тот транзакт который поступил на блок UNLINK‚ если из цепи пользователя не был выведен ни один транзакт.Если был выведен хотя бы один транзакт или операнд F отсутствует‚ то транзакт–инициатор идет на следующий по написанию блок.

При выполнении блока LINK индикатор состояния устанавливается в режим Set. Индикатор состояния может быть выключен только блоком UNLINK, когда в цепи пользователя не останется ни одного транзакта.В начальный момент времени все индикаторы находятся в состоянии Reset.

 

Дата публикации:2014-01-23

Просмотров:544

Вернуться в оглавление:

Комментария пока нет...


Имя* (по-русски):
Почта* (e-mail):Не публикуется
Ответить (до 1000 символов):







 

2012-2018 lekcion.ru. За поставленную ссылку спасибо.