Удаление транзактов из модели

Транзакты удаляются из модели, попадая в блок TERMINATE (завершить). В этот момент освобождается память, выделенная под транзакт. Блоки TERMINATE всегда позволяют выйти из модели всем транзактам, которые пытаются это сделать. В модели может быть любое количе­ство блоков TERMINATE. [5]

Формат записи блока:

TERMINATE [A]

Операнд А задает величину уменьшения счет­чика завершения, т.е. операнд задает величину, которая вычитается из счетчика каждый раз, когда транзакт входит в блок TERMINATE. По умолчанию A = 0. Вход гранзакта в блок TERMINATE c нулевым значением операнда А не вызывает уменьшения счетчика завершения. [5]

Счетчик завершения – это ячейка в памяти ЭВМ, которая хранит целое положительное число. Начальное значение этого счетчика задается разработчиком в виде значения операнда А команды START (начать). В процессе моделирования транзакты попадают в блок TERMINATE и из счетчика завершений вычитается значение параметра А блока TERMINATE. Моделирование за­канчивается, когда значение счетчика становится равным нулю или отрицательному числу.

В модели может быть несколько блоков TERMINATE, но счетчик завершения – один (не путать ограничитель транзактов в блоке GENERATE и счетчик завершения). Ограничитель задает число транзактов, которые войдут в модель, а счетчик – число транзактов, кото­рые выйдут из модели. По окончании моделирования транзакты могут оставаться в модели. [4]

Интерпретатор начинает моделирование по команде START. Формат команды:

START A,[B],[C],[D]

В операнде А, как было отмечено ранее, задается начальное значение счетчика завершения. Назначение остальных операндов описано в работах [1, 4, 5].


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: