Транзакты удаляются из модели, попадая в блок 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].