Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование систем / Курсовая / Моделирование курсовая ФИНАЛ.docx
Скачиваний:
14
Добавлен:
07.02.2023
Размер:
971.2 Кб
Скачать

1. Описание

1.1 Таблица интерпретаций

Наименование

Тип

ОСНОВНОЙ ЭВМ

УСТРОЙСТВО, ОЧЕРЕДЬ

РЕЗЕРВНЫЙ ЭВМ

УСТРОЙСТВО, ОЧЕРЕДЬ

Данные

Транзакт/Агент

Сигнал управление

Транзакт/Агент

Сигнал работоспособности

Транзакт/Агент

Сигнал прерывание

Транзакт/Агент

1.2 Концептуальная схема

2. Реализация на gpss world

INITIAL x$Transact,10 ; время прибытие (нормальный режим)

INITIAL x$TransactMdf,2 ; время разброса (нормальный режим)

INITIAL x$Process_Temp,1 ; Темп Процесса (ТП), если ТП==1 то ЭВМ работает в обычном режиме, иначе в заторможенном

INITIAL x$SlowModeTime,0 ; количество транзактов пребывавших в заторможенном режиме

INITIAL x$SlowModeTimeQnt,0 ; общее количество время работы заторможенного режима

GENERATE x$Transact,x$TransactMdf ; на ЭВМ каждые 10+-2 секунд поступает сигнал (изначально)

TEST NE x$Process_Temp,1,NORMAL_MODE ; если [ТП == 1] то прыгнуть в метку Normal Mode, иначе продолжить

* заторможенный режим ---> увеличение интенсивности поступления данных в 2 раза

SLOW_MODE SAVEVALUE Transact,20 ; время прибытие 20 секунд вместо 10

SAVEVALUE TransactMdf,4 ; время разброса 4 секунд вместо 2

ASSIGN SlowModePace,1 ; заторможенный режим установить в 1

TRANSFER ,Skip

* обычный режим ---> УП сигнал равен единице

NORMAL_MODE SAVEVALUE Transact,10 ; интенсивность поступления данных изначальный, т.е нормальный

SAVEVALUE TransactMdf,2

ASSIGN SlowModePace,0 ; заторможенный режим установить в 0 (false)

* установка ТП на число отличное от единицы (фактически false)

Skip SAVEVALUE Process_Temp,0

* проверка доступности ЭВМ

GATE FNV MAIN,EVM1_L ; если основной ЭВМ недоступен проверить доступность резервной ЭВМ

GATE FNV REZ,EVM_2L ; если резервной ЭВМ также недоступен то отклонить транзакт

TRANSFER ,Rejected ; отказанные транзакты

* основной ЭВМ

EVM1_L QUEUE MAIN_Q ; занимаем очередь на основной ЭВМ

SEIZE MAIN ; занимаем устройство ЭВМ

DEPART MAIN_Q ; покинуть очередь на основной ЭВМ

ADVANCE 3 ; обработка данных 3 секунды

RELEASE MAIN ; освободить основной ЭВМ

SPLIT 1,REG_SIGNAL_L ; отправка управляющего сигнала после обработки

TRANSFER ,EVM1_CHECK ; удалить обработанный транзакт

* резервный ЭВМ

EVM_2L QUEUE REZ_Q ; занимаем очередь на резервный ЭВМ

SEIZE REZ ; занять устройство резервной ЭВМ

DEPART REZ_Q ; покинуть очерель на резервный ЭВМ

ADVANCE 3 ; обработка данных 3 секунды

RELEASE REZ ; освободить резервный ЭВМ

TRANSFER ,EVM2_CHECK ; удалить обработанный транзакт

* основной ЭВМ каждые 30 с посылает сигнал о работоспообности

GENERATE 30

GATE FNV MAIN,Blocking_Rez ; если основной ЭВМ не работает тогда

FAVAIL REZ ; сделать резервный ЭВМ доступным

ADVANCE 5 ; воостановление резервной ЭВМ занимает 5 секунд

TERMINATE ; удаление сигнала о работоспособности

Blocking_Rez FUNAVAIL REZ ; иначе резервный ЭВМ блокируется

Work_Check TERMINATE ; удаление сигнала о работоспособности

* отказы ЭВМ

REFUSE_SIGNAL GENERATE 300,30 ; происходит каждые 300+-30 секунд

FUNAVAIL MAIN ; сделать основной ЭВМ недоступным

ADVANCE 100 ; на 100 квант времени

FAVAIL MAIN ; сделать основной ЭВМ доступным

TERMINATE

* управляющй сигнал поступает в эту метку

REG_SIGNAL_L SAVEVALUE Process_Temp,1 ; управляющий сигнал устанавливает ТП в единицу

TERMINATE

* удачно обработанные данные основным ЭВМ

EVM1_CHECK TEST E P$SlowModePace,1,EVM1_HANDLED ; если транзакт имеет параметр SlowMode=1 продолжить, иначе удалить

SAVEVALUE SlowModeTime+,1 ; увеличить счётчик транзактов обслуженных в заторможенном режиме

TERMINATE

EVM1_HANDLED TERMINATE ; удачно обработанные сигнал основным компьютером

* удачно обработанные данные резервным ЭВМ

EVM2_CHECK TEST E P$SlowModePace,1,EVM2_HANDLED ; если транзакт имеет параметр SlowMode=1 продолжить, иначе удалить

SAVEVALUE SlowModeTime+,1 ; увеличить счётчик транзактов обслуженных в заторможенном режиме

TERMINATE

EVM2_HANDLED TERMINATE ; удачно обработанные сигнал резервны компьютером

* определение общее время активности заторможенного режима

GENERATE 1 ; каждую секунду проверять

TEST E x$Transact,20,Skip2 ; если время прибытие транзакта 20 секунд продолжить, иначе удалить

SAVEVALUE SlowModeTimeQnt+,1 ; увеличить счётчик времени заторможенного режима на единицу

Skip2 TERMINATE ; удаление сигнала проверки

* отказанные транзакты

Rejected TERMINATE

GENERATE 3600

TERMINATE 1

START 1

Соседние файлы в папке Курсовая