- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •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. Самотестирующиеся схемы
15. Проверка числовых выражений в gpss. Изменение значений параметров в gpss.
Проверка числовых выражений в GPSS
Часто возникает задача проверки 2-х СЧА. Для этого используется оператор
TEST X A, B, (C)
В качестве A и B всегда используются имена СЧА. Условие, по которому вычисляется результат определяется логическим оператором X. X определен также, как и в операторе SELECT.
X |
Описание (параметры A и B) |
G |
A>B |
GE |
A≥B |
E |
A=B |
NE |
A≠B |
L |
A<B |
LE |
A≤B |
Транзакт, попадая в этот блок, проверяет условие заданное операндом X. Если условие выполняется, транзакт переходит в следующий блок. Если не выполняется – уходит на метку, указанную в операнде C. Транзакт задерживается и не попадает в следующий блок до тех пор, пока очередь Q1 не станет меньше очереди Q2: TEST LE Q1, Q2.
В GPSS возможна организация циклических компонентов модели. Для этого используется оператор: LOOP A,B где A – предварительно требует записи счетчика циклов. В А всегда записывается номер параметра, в котором представлен счетчик циклов. В – параметр, определяющий имя блока перехода. Транзакт, попадая в этот блок, вычитает из счетчика «1» и проверяет счетчик не равенство 0. Если значение ≠ 0, то осуществляется переход по метке B. Если 0, то цикл заканчивается и транзакт поступает в следующий блок.
Изменение значений параметров в GPSS
По умолчанию в GPSS с каждым транзактом связано 12 параметров. Ссылка на параметр всегда состоит из 2-х частей:
символ Р;
номер параметра.
Значение параметра – это целое число со знаком, занимающее 16 или 32 разряда. Что пользователь понимает за числом параметра транзакта, определяет он сам. Допустим, ведется статистика автомобилей на СТО:
Параметр Р1 |
Марка |
Р2 |
Цвет |
Р3 |
Год выпуска |
1 |
«Жигули» |
1 |
Бирюзовый |
1 |
до 1990 |
2 |
«Москвич» |
2 |
Красный |
2 |
до 2000 |
3 |
«Волга» |
3 |
Голубой |
3 |
после 2000 |
Параметры могут использоваться в качестве операндов отдельных блоков
RAS FUNCTION P3, D3
1,2/2,4/3,1
ADVANCE FN$RAS, 2
Пользователь может изменить параметр: ASSIGN A, B
A – определяет номер заменяемого параметра;
B – новое значение параметра.
Т.к. ASSIGN работает только с параметрами, то символ Р опускается.
ASSIGN 3, 18; // P3=18
ASSIGN 3±, 18; определяет изменение существующего значения параметра или +18 или -18.
Пример: магазин состоит из 3-х отделов и одной кассы на выходе магазина. Покупатели приходят в магазин по пуассоновскому закону с λ=75 с. Покупатели могут заходить в любой из отделов или во все отделы сразу. В каждом из отделов покупатель задерживается.
Отдел |
Вероятность |
Задержка |
Число покупок |
1 |
0.75 |
120±60 |
3±1 |
2 |
0.55 |
150±30 |
4±1 |
3 |
0.82 |
120±45 |
5±1 |
Подойдя к кассе, он может добрать 2±1 покупку. Кассир подсчитывает стоимость пропорционально количеству предметов в каждой корзине. Определить загрузку кассира, число корзин, длину очереди. На один предмет требуется 3с.
PUAS FUNCTION RN1, C24
--------------------------------------
P10 FUNCTION RN2, D3
0.33,2/0.66,3/1,4
P20 FUNCTION RN3, D3
0.33,3/0.66,4/1,5
P30 FUNCTION RN4, D3
0.33,4/0.66,5/1,6
DOP FUNCTION RN5, D3
0.33,1/0.66,2/1,3
CONST FUNCTION RN6, D3
1,3/18,54/1,4
GENERATE 75, FN$PUAS
ENTER KOR
TRANSFER .25,,OTD2
ADVANCE 120,60
ASSIGN 1+,FN$P10
OTD2 TRANSFER .45,OTD3
ADVANCE 150,30
ASSIGN 1+,FN$P20
OTD3 TRANSFER .18,OUT
ADVANCE 120,45
ASSIGN 1+,FN$P30
OUT ASSIGN 1+, FN$DOP
QUEUE OCHER
SEIZE KAS
DEPART OCHER
ADVANCE FN$CONST
RELEASE KAS
LEAVE KOR
TERMINATE