- •1. Основные понятия теории моделирования систем.
- •2. Цели и задачи моделирования телекоммуникационных систем.
- •3. Формирование последовательности случайных чисел с заданным законом распределения.
- •4. Формирование последовательности случайных чисел с нормальным законом распределения.
- •5. Формирование последовательности равномерно распределенных чисел.
- •7. Этапы моделирования систем
- •8. Общие сведения о системах массового обслуживания (смо).
- •9. Задачи теории систем массового обслуживания.
- •10. Поток событий. Свойства потоков событий.
- •11. Простейший поток событий. Формула Пуассона.
- •12. Символическое обозначение моделей смо (по Кендаллу).
- •13. Свойства и характеристики простейшего потока.
- •14. Процесс обслуживания как Марковский процесс. Уравнение Колмогорова – Чепмена.
- •15. Общее правило составления уравнений Колмогорова.
- •16. Одноканальная смо с ожиданием.
- •17. Схема гибели и размножения. Формула Литтла.
- •18. Одноканальная смо с отказами.
- •19. Многоканальная смо с ожиданием.
- •20. Многоканальная смо с отказами. Уравнения Эрланга.
- •21. Сети смо. Замкнутые и разомкнутые сети смо.
- •22. Цели планирования экспериментов с моделями систем.
- •24. Полный факторный эксперимент. Дробный факторный эксперимент. Частичный факторный эксперимент.
- •25. Тактическое планирование имитационного эксперимента.
- •26. Общие сведения об языке gpss World. Формат gpss – блоков.
- •27. Блок generate.
- •28. Блоки seize и release.
- •29. Блок advance.
- •30. Блоки queue и depart.
- •31. Блок terminate. Оператор start.
- •32. Транзакты и блоки.
- •33. Моделирование одноканального устройства.
- •34. Стандартные числовые атрибуты (сча). Сча для транзакта и блоков.
- •35. Оператор описания многоканального устройства.
- •36. Блок enter.
- •37. Блок leave.
- •38. Блок logic.
- •39. Блок gate.
- •40. Блок loop.
- •41. Безусловный режим выбора в блоке transfer.
- •42. Режим both в блоке transfer.
- •43. Статистический режим выбора в блоке transfer.
- •44. Блок savevalue и оператор initial.
- •45. Операторы gpss.
- •46. Блок assign.
- •47. Оператор описания переменной. Арифметические операции.
- •47. Логические и булевы операторы, операторы отношений.
- •49. Блок test.
- •50. Функции в gpss. Оператор описания функций.
- •51. Блок preemt
- •52. Моделирование неравномерных случайных величин.
- •53. Использование функций в блоках в блоках generate и advance.
- •54. Определение и использование таблиц.
- •Основные понятия теории моделирования систем.
49. Блок test.
Блок TEST описывает условие, которое проверяет при входе в него транзакт, и определяет номер следующего блока для вошедшего транзакта в зависимости от того, выполняется требуемое условие или нет. Блок TEST функционирует в двух режимах: 1) отказа во входе; 2) разрешении во входе и альтернативном выходе.
Формат записи:
TEST X A, B, (C)
Операнды А и В являются сравниваемыми величинами. Они могут быть именем, строкой, выражением в скобках, СЧА. Условный оператор Х может быть выражен одним из следующих 6 условных операторов: L-меньше, LE-меньше или равно, E-равно, NE-не равно, G-больше, GE-больше или равно.
Если операнд С указан, транзакт всегда может войти в блок TEST и в зависимости от соотношения операндов будет передан либо в следующий блок, либо в блок, указанный операндом С. Если операнд С не указан, транзакт при невыполнении условия не сможет войти в блок TEST (режим отказа). Он помещается в список повторных попыток всех объектов, участвующих в проверке условия. Когда состояние любого из этих объектов изменяется, транзакт из списка повторных попыток активизируется и проверка проводится вновь. Если условие выполняется, транзакту разрешается войти в блок TEST.
При функционировании блока TEST в режиме отказа, возможно увеличение машинного времени на многократные проверки блокирующего условия. Сократить это время можно с помощью блоков LINK и UNLINK.
В булевой переменной может использоваться СЧА F, равный 1, если ОКУ занято, в противном случае – 0.
А также следующие СЧА ОКУ: 1) FC-количество транзактов, занимавших ОКУ с помощью блоков SEIZE и PREEMPT; 2) FR-коэффициент использования ОКУ; 3) FT-среднее время обслуживания ОКУ одного транзакта.
Пример использования булевой переменной и блока TEST для проверки состояния ОКУ.
Prov BVARIABLE F$Server
. . . . . . . . . . .
TEST E BV$Prov, 0, PotZap
SEIZE Server
ADVANCE P$Obrab
RELEASE Server
В данном примере при входе транзакта в блок TEST вычисляется булева переменная Prov. В булевой переменной использован СЧА ОКУ F. Если ОКУ с именем Server занято, значение переменной Prov равно 1. Тогда, условие, заданное блоком TEST, не выполняется, так как 1 не равно 0, и транзакт не может занять ОКУ, а переходит к блоку с меткой PotZap, указанной операндом С. Если же ОКУ с именем Server свободно, то булева переменная Prov равна 0. Тогда проверяемое блоком TEST условие выполняется, транзакт переходит к следующему блоку, т. е. Занимает ОКУ с именем Server.
50. Функции в gpss. Оператор описания функций.
В GPSS 2 типа вычислительных объектов: арифметические переменные и функции.
Существует 5 типов функций:
1непрерывная числовая – С
2дискретная числовая – D
3табличная числовая – L
4дискретная атрибутивная – Е
5табличная атрибутивная – M
Функция задается с помощью оператора: funktion. Формат записи: Name FUNKTION A,B. Поле А-аргумент. Аргументом может быть любой из стандартных числовых атрибутов. Если в качестве аргумента функции используется псевдослучайное число RNj , то оно может измениться в пределах 0<RNj<1. Во всех остальных случаях 0<RNj<999. Запись в поле B определяет тип и число точек функции, точнее число пар x[i] и y[i]. Примеры: С5-непрерывно числовая и 5точек. За каждым оператором funсtion должны следовать операторы для задания координат (x[i] и y[i]) функции. Для задания координат можно использовать не целые числа: RLGEX function RN1, C5
0,0/.33,.45/.40,1.60/.70,2.75/1.00,3.90
Значение координат разделяется запятой; пара координат разделяется наклонной /; каждое последующее значение x[i] должно быть больше предыдущего; функция должна быть заданна 2мя очками.
1не прерывные числовые функции С
Когда значение аргумента непрерывной числовой функции попадает в интервал между двумя заданными значениями x[i] и x[i+1], программа производит линейную интерполяцию для определения значения функции.
2дискретные числовые функции D
Они задают одно и тоже значение функции y[i] для всех х, которые x[i-1]<x<=x [i]
3табличные числовые функции L
Значение аргумента x[i] является последовательность целых чисел:
1,2,3,…,n
Значение y[i] должны быть записаны в соответствующих полях операторов.
4дискретные и табличные атрибутивные функции.
В предыдущих трех случаях значениями функций были числа. Дискретно атрибутивные функции подобны функциям второго типа, но значениями могут быть СЧА. Табличные атрибутивные функции подобны третьему типу, значениями могут быть СЧА.
