Составители:
Рубрика:
28
наступления. Фактически, транзакты появляются, то есть приобретают
определенные атрибуты, еще до их вхождения в модель в блоке GENERATE.
Продолжая сравнение с обычными языками программирования, можно
сказать, что в GPSS/H применяется особый вид псевдопараллелизма, при
котором для пользователя события происходят параллельно. На самом же деле
такое явление, как истинный параллелизм, то есть
действительно
одновременное совершение нескольких событий, недоступен в GPSS/H.
Обращение к транзактам происходит поочередно, в каждый отдельный момент
реального времени существует только один «активный» транзакт, тот, с
которым происходит ближайшее по времени изменение статуса. Информация
об остальных транзактах остается статической, а сами транзакты находятся в
списке будущих событий.
При работе модели происходит
не только создание, продвижение и
уничтожение транзактов; GPSS/H также автоматически собирает информацию
(по существу – статистические данные) обо всех объектах модели. Происходит
подсчет периодов занятости и незанятости всех блоков, имитирующих
устройства; поддерживаются виртуальные очереди, сведения о них также
непрерывно пополняются (максимальная длина очереди, среднее и
максимальное время, проводимое транзактом в очереди, количество «
нулевых
входов», то есть транзактов, не испытавших задержки перед попаданием в
устройство, и т.д.).
Итак, после сказанного можно сформулировать основные принципы
работы модели:
- В каждый момент времени в модели движется только один активный
транзакт, следующий начинает движение только после возникновения одного
из особых состояний: а) – попадания активного транзакта к
одному из
операторов, запрещающих дальнейшее продвижение, например SEIZE,
RELEASE, PREEMPT, в этом случае транзакт ожидает входа перед оператором;
б) задержка транзакта для обслуживания в операторе ADVANCE, в этом случае
транзакт находится внутри оператора; в) исполнение оператора TERMINATE,
в этом случае активный транзакт уходит из модели.
- Движение транзактов происходит последовательно от оператора к
оператору из
оператора текущего состояния ( Сurrent Block), в котором
находится транзакт, в оператор ожидаемого будущего состояния (Next Block
Attempted). В том случае, когда по условиям модели необходимо изменить
последовательное поступательное (шаг за шагом) движение транзакта,
используются специальные операторы исполнения типа (TRANSFER, TEST,
LOGIC) см. 3.3.
- Жизненный цикл активного транзакта, состоит из зарождения, попадания
в систему, прохождения через последовательность предписанных
МФ
операторов и терминирования (ухода из системы).
- Каждый транзакт имеет уникальный персональный идентификационный
номер- (ID), закрепленный за одним единственным транзактом при его
генерации. Номер всегда является целым положительным числом. Уход из
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »