Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МС конспект лекций.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.93 Mб
Скачать

Текст программы

10    SIMULATE

20    GENERATE 7,2; генерация транзактов, изображающих заявки

30    VB1 VARIABLE RN1/200+13; вычисление максимально возможного времени пребывания транзакта в очереди

40    ASSIGN 3,0; разница между временем входа транзакта в очередь и текущим моментом времени

50    ASSIGN 2,V$VB1; запись максимального времени

60    ASSIGN 1,X1; время входа транзакта в очередь

70    TEST NE X3,0,ENR; если очередь пуста, переход к проверке занятости АЗС

80    ENO QUEUE OZD; регистрация в очереди

90    SAVEVALUE 3+,1; увеличение размера очереди

100  ADC ADVANCE 1; задержка транзакта в ожидании свободного места на АЗС

110  GATE SF CCL,DPT; если на АЗС есть место, покинуть очередь

120  SAVEVALUE 2,X1; запись текущего времени

130  SAVEVALUE 2-,P1; вычисление разницы между текущим временем и временем входа транзакта в очередь

140 ASSIGN 3,X2; и запись разницы

150 TEST LE P3,P2,DPT; если разница превысила время ожидания, покинуть очередь,

160 TRANSFER ,ADC; в противном случае, вновь ожидать одну минуту

170 DPT SAVEVALUE 3-,1; уменьшение числа транзактов в очереди

180 DEPART OZD; транзакт покидает очередь

190 TEST G P3,P2,EN1; если разница не превышает времени ожидания, занять место на АЗС,

200 TERMINATE; в противном случае, покинуть АЗС

210 ENR GATE SNF CCL,ENO; если на АЗС нет мест, встать в очередь,

220 EN1 ENTER CCL; в противном случае занять свободное место

230 MARK; отметка начала обслуживания транзакта на АЗС

240 TRANSFER .333,CP1,UP1; трети АТП отпускается бензин и ГСМ, а остальным только бензин

250 UP1 SEIZE UPD; транзакт занимает место для отпуска ГСМ

260 ADVANCE 5,1; и обслуживается некоторое время,

270 RELEASE UPD; затем покидает систему отпуска ГСМ

280 CP1 ENTER COM; и занимает место на одной из двух ТРК,

290 ADVANCE 3,1; обслуживается в течение нескольких минут

300 LEAVE COM; и покидает ТРК

310 TABULATE MWT; фиксация времени пребывания транзакта на АЗС

320 TERMINATE; транзакт покидает АЗС

330 GENERATE 1; моделирование времени работы АЗС

340 SAVEVALUE 1+,1; счетчик времени (в минутах)

350 TRM TERMINATE 1; одна минута системного времени истекла

360 CCL STORAGE 8; накопитель – АЗС вместимостью 8 транзактов

370 COM STORAGE 2; накопитель – 2 ТРК емкостью 2 транзакта

380 MWT TABLE M1,15,15,15; описание таблицы распределения общего времени обслуживания транзакта

390 START 480; работа системы в течение 8 часов (60*8=480 часов)

В программе используются следующие объекты:

ПЕРЕМЕННЫЕ И ПАРАМЕТРЫ

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

X1 – счетчик системного времени в минутах;

P1 – параметр транзакта, определяющий его время вхождения в оче­редь;

P2 – максимальное время пребывания транзакта в очереди;

P3 – время пребывания транзакта в очереди (изменяется в процессе движения транзакта внутри очереди);

X2 – переменная, используемая для промежуточных вычислений;

X3 – количество транзактов в очереди.

УСТРОЙСТВА, НАКОПИТЕЛИ, ОЧЕРЕДЬ И ТАБЛИЦА

OZD  – очередь на АЗС;

CCL  – накопитель, изображающий АЗС, емкостью 8 транзактов;

UPD  – устройство, изображающее систему отпуска ГСМ;

COM – накопитель, изображающий две ТРК, емкостью 2 транзакта;

MWT – таблица распределения общего времени обслуживания транзакта.

Изложенного достаточно, чтобы создать впечатление о языках имитационного моделирования, как альтернативным универсальным языкам средствам имитационного моделирования сложных систем.

Ниже представлена схема проведения имитационных экспериментов с моделями сложных систем.

Схема проведения имитационных экспериментов с моделями сложных систем