Описание машинной программы решения
Машинная программа, имитирующая работу объекта исследования, приведена в приложении 1. Рассмотрим работу данной программы.
Прогон модели, т.е. собственно моделирование, выполняется с помощью специальной управляющей программы, которую называют симулятором (от английского SIMULATE - моделировать, имитировать).
Оператор SIMULATE (моделировать) устанавливает предел реального времени, отводимого на прогон модели.
Оператор FUNCTION позволяет описать пользовательские функции. В данном случае описывается экспоненциальная функция EXPON, как непрерывная, и описание задается семью точками.
Блок STORAGE используется для создания многоканальных устройств (МКУ). Однако в программе он используется как накопитель, что обеспечивается совместным использованием и расположением операторов ENTER-LEAVE и SEIZE-RELEASE. В программе объявляется и используется два подобных накопителя SFIRST (первичный) и STWO (вторичный). Длина накопителей 100 транзактов.
Для создания транзактов, в нашем случае под транзактами будем подразумевать агрегаты, входящих в модель, служит блок GENERATE (генерировать).
Строки 60 - 120 реализуют работу участка первичной регулировки. Каждый приходящий транзакт фиксируется два раза: в блоке QUEUE, строка 60, для определения наличия очередей перед первичным накопителем и для сбора дополнительной статистики, и в блоке ENTER, помещающем транзакт в накопитель. Если канал FIRST реализуемый блоками SEIZE-RELEASE свободен, то очередной транзакт извлекается из накопителя (памяти) и помещается в устройство, счетчик числа транзактов в накопителе уменьшается на единицу. Блок ADVANCE обеспечивает эмуляцию обслуживания транзакта по экспоненциальному закону. Время обслуживания лежит в среднем 30 единиц модельного времени. После обслуживания транзакта в канале FIRST, транзакт переходит на вторичную регулировку, строки 130-190. Работа данного блока программы аналогична работе строк 60-120.
Блок TERMINATE, строка 200, уничтожает транзакт прошедший первичную и вторичную регулировку.
Строки 210-230 - реализуют работу системы в течение заданного периода времени. Цифра 6000 в строке 210, соответствует работе системы в течении 100 часов (1час = 60 минут).