Конспект лекций по предмету "Моделирование систем"


Язык имитационного моделирования GPSS W

Основные понятия
Язык GPSS W расшифровывается как General Purpose Simulation System World – Всемирная общая целевая моделирующая система. Бесплатная версия языка GPSS W WWW.MINUTEMANSOFTWARE.COM.
В GPSS W имеется два специализированных языка.
· Язык высокого уровня, предназначенный для описания объектов моделирования, это операторы GPSS W
· Язык низкого уровня – это PLUS-операторы, ориентированные на вычисления и управление экспериментом.
В качестве операторов имитационной модели можно одновременно использовать операторы GPSS W и PLUS-операторы.
Операторы GPSS W подразделяются на блоки и команды. Блоки – это операторы, которые исполняют возложенные на них функции при входе в них движущихся объектов, называемых транзактами. Команды предназначены для определения параметров некоторых объектов модели и управления процессом моделирования. Операторы GPSS W состоят из 53 блоков и 25 команд. Состояние объектов модели в процессе моделирования отображается 35 системными числовыми атрибутами (СЧА). К СЧА можно обращаться из любых операторов GPSS W. Операторы GPSS W имеют единый формат записи, состоящий из следующих полей:
1. Поля метки, в котором указывается либо имя объекта, либо натуральная метка для организации перехода транзакта.
2. Поля операции, в которое записывается либо тип объекта, либо вид выполняемой операции.
3. Поля операндов, в которое записываются параметры объекта. В некоторых операторах записывается вычисляемое математическое выражение. В зависимости от типа оператора, изменяется количество операндов и их назначение.
Любая запись после поля операндов, сделанная с пробелом не менее, чем в одну позицию считается комментарием. Кроме того, комментарий можно записать с новой строки после символа *.
Объекты GPSS делятся на 7 категорий и 14 типов:


Категория Тип
1. Динамическая 1. Транзакты

2. Операционная 2. Блоки

3. Аппаратная 3. Устройства
4. Памяти
5. Логические ключи

4. Статистическая 6. Очереди
7. Таблицы
5. Запоминающая 8. Ячейки Х
9. Матрицы МХ

6. Вычислительная 10. Арифметические переменные
11. Логические переменные
12. Функции

7. Группирующая 13. Группы
14. Списки пользователя.

Память в GPSS подразделяется на общую и специализированную. Переменным общей памяти можно задавать начальные значения и менять их в процессе моделирования. Значения этих переменных остаются до окончания моделирования и выдаются в стандартном отчете. Это ячейки Х и матрицы ячеек МХ.
Специализированная память – параметры транзактов. Любой оператор модели может использовать параметры только активного (движущегося в данный момент) транзакта.


Системные числовые атрибуты
Системные числовые атрибуты (СЧА) подразделяется на два класса.
1. Общие, которые в свою очередь подразделяются на следующие подклассы.
1.1. Временные
АС1 – абсолютное модельное время;
С1 – модельное время;
ТG1 – счетчик завершения.
1.2. Транзактов
А1 – номер семейства;
М1 – время пребывания транзакта в модели;
PR – приоритет;
P – параметры.
1.3. СЧА общей памяти
X - ячейки памяти;
MX – матрицы ячеек памяти.
2. СЧА устройств, памятей, очередей, списков пользователя, перечень
которых приведён в таблице 3.1.

Таблица 3.1
СЧА устройств, памятей, очередей, списков пользователя

Тип объекта
Наимено-
вание СЧА
Устройства
Памяти
Очереди
Списки пользователя
1. Текущее содержимое
2. Среднее содержимое
3. Максимальное содержимое
4. Свободный объем
5. Отсутствие транзактов
6. Полная занятость
7. Коэффициент использования
8. Состояние по прерыванию
9. Количество входов транзактов
10. Доступность
11. Среднее время задержки
12. Среднее время «безнулевых» входов
13. Количество «нулевых» входов
F











FR

FI

FC


FV
FT




S

SA

SM

R

SE

SF

SR



SC


SV
ST




Q

QA

QM











QC



QT

QX

QZ
CH

CA

CM











CC



CT





Логические операторы
FNV – устройство недоступно;
FV – устройство доступно;
I – устройство занято с прерыванием;
LS – ключ в состоянии «1»;
LR – ключ в состоянии «0»;
NI – устройство не занято с прерыванием;
NU – устройство не используется;
SE – память пуста;
SF – память заполнена;
SNE – память не пуста;
SNF – память не заполнена;
SNV –память не доступна;
SV – память доступна;
U – устройство используется.
Условные операторы
E – =;
G – >;
GE – ³;
L – <;
LE – £;
NE – ¹;
MAX – максимальное значение;
MIN – минимальное значение.
В любой модели должны обязательно присутствовать как минимум: один блок GENERATE, один блок TERMINATE с непустым операндом А и одна команда START с непустым операндом А. Блок ADVANCE не является обязательным, но это единственный блок для задержки транзактов на заданное время и поэтому рассмотрим условия его применения вместе с «обязательными» блоками.
Для генерации (ввода транзактов в модель) используется блок GENERATE A,B,C,D,E. Операнды А и В данного блока и блока ADVANCE A,B заполняются одинаково. В операнде А записывается среднее значение и если в операнде В записан символ FN, то среднее значение умножается на значение заданной функции. Если запись в операнде В начинается не с FN, а с любого другого символа или цифры, то это указывает на равномерный закон, ограниченный диапазоном от А – В до А + В.
В блоке GENERATE в операнде С можно указать начальную задержку поступления первого транзакта. В операнде D можно указать количество генерируемых транзактов (по умолчанию ¥). В операнде Е можно указать приоритет транзактов от 0 до 127 (по умолчанию принимается нулевой т.е. низший приоритет).
Для вывода транзактов из системы используется блок TERMINATE A, в операнде A которого указывается количество единиц, вычитаемых из счетчика команды START A, которая используется для запуска модели и для завершения ее работы, когда счетчик команды START А обнулится.
Время задержки в блоке ADVANCE или время между поступлением соседних транзактов в блоке GENERATE кроме указанных способов, можно задать с помощью специальных функций, которые в этом случае берутся в скобки. Например, равномерный закон задается записью в поле операндов соответствующей функции (UNIFORM (A,B,C)); экспоненциальный закон функцией (EXPONENTIAL (A,B,C)); нормальный закон функцией (NORMAL (A,B,C)). Специальный эрланговский закон можно ввести частным случаем гамма-распределения с помощью функции (GAMMA (A,B,C,D)). Треуголь-ный закон можно ввести с помощью функции (TRIANGULAR(A,B,C,D))
В аргументе А данных законов записывается номер генератора равномерно распределенных случайных чисел в диапазоне от 0 до 1, который рекомендуется выбирать из диапазона от 1 до 7. Для равномерного закона в аргументе В записывается левый предел диапазона существования, а в аргументе С – правый предел. Для экспоненциального закона аргумент В принимается равным 0, а в аргументе С записывается среднее значение. Для нормального закона в операнде В записывается среднее значение, а в операнде С стандартное отклонение. Отметим, что для нормального закона стандартное отклонение должно быть не более 0,2 от среднего значения (при невыполнении этого условия возможно появление отрицательных чисел, что недопустимо для имитации временных переменных). Для специального эрланговского закона аргумент B принимается равным 0, в аргумент C записывается среднее значение, а в аргумент D записывается количество фаз. Для треугольного закона в операнде B записывается левый предел диапазона распределения, в операнде C – правый предел и в операнде D – мода, т.е. наиболее часто встречающееся значение.


Не сдавайте скачаную работу преподавателю!
Данный конспект лекций Вы можете использовать для создания шпаргалок и подготовки к экзаменам.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем конспект самостоятельно:
! Как написать конспект Как правильно подойти к написанию чтобы быстро и информативно все зафиксировать.