
- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •2.Категории языка gpss. Модельное время в gpss.
- •3.Операторы Generate и Terminate в gpss.
- •4. Равномерный, нормальный, биномиальный и пуассоновский законы распределения случайных величин.
- •5. Цепи текущих и будущих событий в gpss
- •7. Задание дискретных и непрерывных функций распределения в gpss.
- •8. Организация ветвлений в gpss.
- •17. Ансамбли и группы транзактов в gpss.
- •9.Стандартные числовые атрибуты.
- •10.Моделирование многоканальных устройств в gpss. Прерывание работы устройств в gpss
- •11. Приоритеты, недоступные состояния, проверка состояния в gpss.
- •12. Таблицы в gpss
- •13.Резидентное и транзитное время транзактов
- •14.Переменные, операции в gpss. Оператор Select.
- •15. Проверка числовых выражений в gpss. Изменение значений параметров в gpss.
- •16. Сохраняемые величины в gpss.
- •19.Составные части описания устройств в vhdl.
- •20. Типы данных в vhdl
- •21. Понятие сигнала в vhdl. Средство описания сигналов.
- •22.Операторы Process в vhdl.
- •24.Операторы if и Case.
- •25. Структурная и поведенческая модель в vhdl
- •27.Методы асинхронного и синхронного моделирования. Виды состязаний в цифровых схемах.
- •28.Методы выявления статических и динамических состязаний в цифровых схемах.
- •29.Основные понятия технической диагностики. Классы неисправностей цифровых схем.
- •30. Построение контролирующего теста. Метод тфн. Словарь неисправностей.
- •31. Построение контролирующего теста. D-алгоритм Рота.
- •32.Подходы, используемые при контроле последовательностных схем. Построение установочной последовательности.
- •33. Построение переводящей и диагностической последовательностей.
- •34. Построение контролирующего теста с использованием моделирования.
- •35. Самотестирующиеся схемы
9.Стандартные числовые атрибуты.
Стандартные числовые атрибуты (СЧА)
В качестве операндов блоков обычно используются числовые значения, однако в ряде случаев целесообразно пользоваться в качестве операндов некоторыми системными значениями, которые автоматически формируются GPSS (длина очереди, занятость устройств). Данные, поставляемые системой GPSS – стандартные числовые атрибуты (в GPSS их 50).
СЧА для устройств:
- Fj (F$<имя>). 0 – устройство занято; 1 – свободно.
- FCj ( ) – число занятий устройства;
- FRj ( ) – загрузка устройства;
- FTj ( ) – целая часть среднего времени задержки транзакта на устройстве.
СЧА для очереди:
- Qj – текущее значение длины очереди;
- QAj – целая часть среднего значения длины очереди;
- QCj – число входов в очередь.
QT среднее время нахождения в очереди
QX AVERAGE RESIDENCE TIME EXCLUDING ZEROS
SA AVERAGE CONTENT
SR FRACTIONAL UTILIZATION
ST среднее время занятости
CA AVERAGE CONTENT
CT AVERAGE RESIDENCE TIME
Пример:
В СМО с 1-м прибором и очередью поступают заявки по пуассоновскому закону с интенсивностью 12 заявок в час. Обслуживание происходит по пуассоновскому закону со среднем временем 10. Определить загрузку прибора.
1 FUNCTION RN1, C24
“24 точки пуассоновского закона”
EXPONENTA
GENERATE 300, fn$1
QUEUE OCHER1
SEIZE UST1
ADVANCE 600, fn$1
RELEASE UST1
TERMINATE
Усложним задачу: время обслуживания прибора зависит от длины очереди у прибора на устройстве 1:
Длина очереди |
Время обработки |
0 |
10 |
1-3 |
8 |
4-5 |
5 |
6 и более |
4 |
Для реализации подобного обслуживания необходимо ввести еще одну функцию:
2 FUNCTION Q$OCHER1, D4
0,600/3,480/5,300/6,240
И изменим блок ADVANCE:
ADVANCE fn$2, fn$1
10.Моделирование многоканальных устройств в gpss. Прерывание работы устройств в gpss
При решении современных задач возникает проблема моделирования систем, включающих одновременную работу нескольких одинаковых устройств. Для работы с подобными устройствами необходимо знать емкость МКУ (количество одновременно работающих устройств).
Enter A – захват МКУ (А - имя).
Leave A – освобождение МКУ (А - имя).
Использование МКУ аналогично использованию одноканальных устройств. Транзакт из очереди пытается войти в МКУ, если все устройства в МКУ заняты, он остается в очереди. Если несколько свободных устройств, он занимает первое устройство с наименьшим номером. После окончания обслуживания транзакт покидает МКУ и освобождает устройство. В протоколе после окончания моделирования автоматически распечатывается статистика использования МКУ:
Счетчик посещения МКУ;
Среднее время пребывания транзакта в МКУ.
Перед использованием МКУ необходимо задать его емкость:
<имя МКУ> Storage <емкость (целое число без знака)>
Если в программе используется множество МКУ их все можно определить в одном блоке: Storage <имя МКУ1>, <емкость 1>/ <имя МКУ2>, <емкость 2>
Пример: Определить оптимальное количество моек на СТО, если поток прибывающих машин распределен по Пуассоновскому закону с «лямбда»=60. Время мойки распределено по равномерному закону 6±2. Если клиент, подъехав к СТО не обнаруживает свободного места, он уезжает. Время моделирования 8 часов, такт моделирования 1 мин.
Moj Storage 2
Generate (exponential(5,60,1))
Transfer Both, , Fin
Queve Oser
Enter Moj
Depart Oser
Advance 6, 2
Leave Moj
Fin Terminate
Generate 480
Terminate 1
Прерывание работы устройств в GPSS
При поступлении заявки транзакта устройству, если оно занято, автоматически осуществляется передача его в очередь. Очередь имеет принцип обслуживания FIFO, однако в ряде случаев возникают ситуации, когда в силу событий необходимо прервать работу устройства от текущего транзакта и перейти на выполнение этим устройством другой работы. Для реализации подобных ситуаций используют PREEMPT – вход прерывания и RETURN – выход из него, возврат. Блок PREEMPT имеет 5 параметров PREEMPT A, B, C, D , E. Существует 2 формы оператора PREEMPT:
PREEMPT A – имя прерываемого устройства. При входе транзакта в этот блок осуществляется прерывание работы устройства, записанного в операнде A, для этого устройство может быть назначено время работы прерывания программы (ADVANCE), после которой ставится оператор RETURN. После выхода из прерывания программы устройство продолжает работу с теми заявками, которые стоят в его очереди. Ситуация может быть сложнее, когда необходимо выполнить прерывание, вернуться в основную программу и закончить прерванную программу. В этом случае используются все операнды ABCDE. B – ключевое слово; C – имя блока, куда передается прерванный транзакт; D – номер параметра прерванного транзакта, в который записывается время, которое ему необходимо доработать после завершения прерывания; E – RE, если прерванный транзакт не претендует на доработку. Данный блок с 5-ю параметрами позволяет организовать вложение прерывания согласно стратегии GPSS. Прервать обработку транзакта может только транзакт с большим приоритетом. Пример:
GENERATE A, B;
SEIZE USTR1;
…
TERMINATE;
GENERATE C, D;
…
PREEMPT USTR1;
ADVANCE 100;
RETURN;
1-ый GENERATE формирует заявки, которые обрабатываются USTR1. Как только GENERATE 2 формирует заявку в блоке PREEMPT прерывается выполнение устройства 1 и захватывает его на 100 тактов моделирования. Что будет с прерванной программой, зависит от параметров B, C, D.
PREEMPT USTR1, PR, <МЕТКА 1>,,RE – возникает прерывание (приоритетное), прерванная заявка уходит в блок с меткой 1 и возврату не подлежит.
PREEMPT USTR1, PR, <МЕТКА 1>3 – возникает прерывание (приоритетное), обрабатываемая заявка уходит в блок с меткой 1 и возврату не подлежит, а время дообслуживания записывается в параметр 3.