Математическое моделирование


Последовательность выполнения модели - часть 2


В этом случае транзакт остается в том блоке, где находился, и позднее будет повторять свою попытку войти в следующий блок. Когда условия в модели изменятся, такая попытка может оказаться успешной, и транзакт сможет продолжить свое перемещение по блок-схеме.

Если возникло одно из описанных выше условий, обработка данного транзакта прекращается, и начинается перемещение другого транзакта. Таким образом, выполнение моделирования симулятором продолжается постоянно.

Проходя через блоки модели, каждый транзакт вносит изменения в содержимое счетчиков блоков. Значения этих счетчиков доступны программисту через СЧА блоков. Каждое продвижение транзакта в модели является событием, которое должно произойти в определенный момент модельного времени. Для того, чтобы поддерживать правильную временную последовательность событий, симулятор имеет таймер модельного времени, который автоматически корректируется в соответствии с логикой, предписанной моделью.

Таймеры большинства версий GPSS имеют следующие особенности:

1)            регистрируются только целые значения (все временные интервалы в модели изображаются целыми числами);

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

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

Значения таймера доступны программисту через системные СЧА.

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


- Начало -  - Назад -  - Вперед -