3.9. Довідки про команди GPSS/PC
На вiдмiну вiд операторiв керування та операторiв блокiв команди не є частиною мови GPSS. Частина команд має операнди.
Зауваження. Лiтери А, В, С, D, E, F вказують послiдовнiсть розмiщення операндiв.
Комади GPSS/PC поділяються на такі групи:
- команди роботи з файлом;
- команди редагування тексту;
- команди керування процесом моделювання;
- команди видавання додаткової статистики;
- команди роботи з вікнами;
- команди видавання графіків.
До команд роботи з файлом належать такі команди:
@ <iм’я файла> — прочитати програмний файл;
SAVE — записує програму в зазначений файл. Команда має операнди А, В, C;
А — iм’я файла, в якому зберiгатиметься програма;
В — номер рядка, з якого починається запис файла;
С — номер останнього рядка;
DISPLAY — вивести зазначений набiр операторiв. Команда має операнди А, В.
А — номер першого оператора блока, який потрiбно вивести;
В — номер останнього оператора блока, який потрiбно вивести.
Команди редагування тексту:
EDIT — умiщує оператор із зазначеним номером у рядок редагування.
Номер рядка вказується в операндi А.
DELETE — ліквідувати вказаний набiр операторiв. Команда має операнди А, В.
А — номер першого оператора блока, який потрiбно ліквідувати.
В — номер останнього оператора блока, який потрiбно ліквідувати.
RENUMBER — перенумеровує оператори програми.
Команда має необов’язковi операнди А, В.
А — номер першого рядка, з якого починатиметься перенумерацiя.
В — крок, з яким проводитиметься перенумерацiя.
Команди керування процесом моделювання можуть або задаватися в командному рядку, або запускатися на виконання за допомогою «мишки» з рядка команд керування процесом моделювання Б, який розміщений вище від командного рядка.
CONTINUE — продовжити перерване моделювання. Команда операндiв не має.
STEP — запускає процес моделювання вказаної кількості блокiв. Кiлькiсть крокiв задається в операторi А.
STOP — зупиняє моделювання пiсля вказаного блока або транзакцiї. Команда має операнди А, В, C.
А — номер транзакту, пiсля якого буде припинене моделювання.
В — номер блока, пiсля якого припиняється моделювання.
С — необов’язковий. Може бути словом ON або OFF.
Команда побудови графіка PLOT — будує графiки стандартних числових атрибутiв, які використовуються у вiкнi даних. Команда має операнди А, В, C, D.
А — аргумент графiка, має бути СЧА.
В — найбiльше значення Y, яке може задаватися СЧА.
С — час початку виводу графiка. Операнд може бути 0 або додатне число.
D — час закiнчення виводу графiка (має бути додатне число).
Команда PLOT будує осi графiка та сам графiк.
До команд видавання додаткової статистики належать:
ANOVA — обчислює довiрчий iнтервал, виконує аналiз вiдхилень у файлi результатiв. Команда має операнди А, В, С.
А — iм’я файла, який мiстить результати моделювання.
В — номер стовпця результатiв. Значення операнда не може перевищувати 6.
С — номер стовпця, у якому зберiгаються рiвнi звернення, що вiдповiдають кожному результату. Значення результату не може бути більшим за 6.
Команда ANOVA видає таку статистичну iнформацiю:
Treatment — рiвень звернення у виглядi числа;
Count — кiлькiсть результатних даних на рiвнi звернення;
Mean — середнє значення результату на рiвнi звернення;
Std. Dev.— cтандартне вiдхилення результатiв;
Minimum — найменше значення на рiвнi звернення;
Maximum — найбiльше значення на рiвнi звернення;
95% Сonf. — cреднє значення 95 % довiрчого iнтервалу.
USERCHAINS — виводить список ланцюга користувача у вiкно даних. Операндiв не має.
EVENTS — виводить інформацію із списків поточних та май-
бутніх подій.
У результаті використання цього оператора на дисплей буде виведено таку iнформацiю із списку поточних подiй:
XACT NUMBER — номер транзакту, який входить до списку поточних подiй;
PRI — прiоритет транзакту;
М1 — момент часу, у який був згенерований транзакт, або час, коли транзакт останнiй раз входив до блока MATCH;
CURRENT — номер блока, у якому міститься транзакт;
PARAMETR — номер або iм’я параметра транзакту;
VALUE — значення параметра транзакту.
Водночас на дисплей буде виведено також iнформацiю списку майбутнiх подiй, а саме:
XACT NUMBER — номер транзакту, який входить до списку поточних подiй;
PRI — прiоритет транзакту.
BDT — час, який відводиться блоку для перебування у списку майбутнiх подiй;
CURRENT — номер блока, у якому міститься транзакт;
NEXT — номер блока, у який увiйде даний транзакт;
PARAMETR — номер або iм’я параметра транзакту;
VALUE — значення параметра транзакту.
GROUPS — видає списки членiв групи. Операндiв немає.
Команди роботи з вікнами.
MICROWINDOWS — вiдкриває або зачиняє мiкровiкно. Команда має операнди А, В, С.
А — номер мiкровiкна вiд 1 до 4 включно.
В — стандартний числовий атрибут, який треба помiстити у вiкно.
С — використовується для закриття мiкровiкна. Може мати значення ON, OFF або 0.
SHOW <вираз> — обчислює зазначений вираз та виводить результат у вiкно.
WINDOW — вiдчиняє головне вiкно GPSS. Команда має операнди А, В, C.
А — iм’я вiкна. Операнд може бути BLOCKS (блоки), DATA (данi), FACILITIES (пристрої), MATRIXES (матрицi), POSITIONS (місцерозташування), STORAGE (пам’ятi) або TABLES (таблицi).
В — номер першого об’єкта.
С — номер рядка.
D — номер стовпця.
Додаткові команди:
DOS — тимчасово припиняє моделювання та здiйснює вихiд у ДОС.
Для того щоб повернутися до пакета, треба набрати команду EXIT.
REPORT — указує файл, куди буде занесено результати моделювання. Команда має операнди А, В.
А — iм’я файла, у який потрiбно занести звiт.
В — слово NEW, яке вказує, що звiт треба записати, не чекаючи на закiнчення сеансу моделювання.
Приклади використання команд.
***
Текст моделі.
***
*** 1) Вiдкриття мiкровiкон.
MICR 4,C1;Clock
MICR 2,TG1;TG1
MICR 1,CH$USERCHAIN1;Chain
*** 2) Вiдкриття головного вiкна таблиць.
WINDOW TABLES
*** 3) Запуск програми на виконання.
START 20,NP
*** 4) Вiдкриття головного вiкна матриць.
WINDOW MATRICES
START 20,NP
*** 5) Вiдкриття головного вiкна приладiв.
WINDOW FACILITIES
START 20,NP
*** 6) Вiдкриття головного вiкна таблиць.
WINDOW STORAGES
START 20,NP
*** 7) Видача спискiв поточних та майбутнiх подiй.
EV
START 20,NP
*** 8) Видача списків ланцюгів користувача.
USER
START 20,NP
*** 9) Видача даних дисперсійного аналізу.
ANOVA RESULT,GPS
START 20,NP
*** 10) Відкриття головного вікна блокiв.
WINDOW BLOCKS
START 20000000,NP
3.10. Довідки про основнi оператори — блоки мови GPSS
Ім’я оператора ADVANCE.
Роль у моделі: Реалiзує затримку транзактiв.
Значення операндів:
Операнд |
Значення |
Значення за
замовчуванням |
A |
Cередня затримка на час обслуговування |
Нуль |
B |
Половина поля допуску рівномірно розподіленого інтервалу часу. Може бути СЧА або константа |
Нуль |
Ім’я оператора ALTER
Роль у моделі: Використовується для модифікації характеристик транзактів.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Назва групи транзактів, члени якої перевіряються для вимірювання. Операнд має бути номером параметра або іншим СЧА |
Помилка |
B |
Максимальне значення кількості транзактів, які перевіряються. Операнд має бути номером параметра або іншим СЧА |
Помилка |
С |
Назва атрибуту, який заміняється. Операнд має бути PR, номером параметра або іншим СЧА |
|
Х |
Допомiжний операнд. У режимi порiвняння визначає спосiб порівняння значень, зазначених в операндах F та Е. (У режимi мiнiмуму та максимуму зазначаються слова MIN або MAX) |
|
D |
Значення, яке використовується для заміни |
Помилка |
E |
Не обов’язковий. Назва атрибуту, який перевіряється |
— |
F |
Не обов’язковий. Значення, з яким порівнюється. Воно обчислюється для відповідного члена групи |
— |
G |
Не обов’язковий. Номер альтернативного блока |
— |
Зауваження: Операнд Х у режимi порiвняння може набувати таких значень:
G — операнд E більший за операнд F;
GE — операнд E більший або дорiвнює операнду F;
E — операнд E дорiвнює операнду F;
NE — операнди E та F не рiвнi між собою;
LE — операнд E менший або дорiвнює операнду F;
Е — операнд E менший за операнд F.
Ім’я оператора ASSEMBLE.
Роль у моделі: З’єднує транзакти, що належать до одного ансамблю.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Кількість транзактів, що з’єднуються |
Помилка |
Ім’я оператора ASSIGN.
Роль у моделі: Призначає та змінює значення параметрів транзактів.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Номер фіксованого параметра |
Помилка |
B |
Стандартний числовий атрибут або значення, яке використовується у процесі модифікації |
Помилка |
С |
Номер або назва функції, яка використовується при модифікації |
Зміщення відсутнє |
Зауваження: Блок ASSIGN може використовуватися у режимах замiщення та змiни. У першому випадку старе значення параметра замiщується новим незалежно вiд того, яким було попереднє значення. У другому випадку нове значення може обчислюватися додаванням (у режимi додавання) значення, зазначеного в операндi В, до попереднього значення параметра транзакту. У режимi вiднiмання нове значення параметра обчислюється вiднiманням значення операнда В від старого значення. Якщо у блоці ASSIGN задається значення операнда С, то значення, яке буде присвоєно параметру транзакту, обчислюється як ціла частина добутку значення, що записане в операнді В та значення функції посилання, на яку задано в операнді С.
Ім’я оператора DEPART.
Роль у моделі: Виводить транзакти з черги.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Ім’я черги |
Помилка |
Зауваження: Блок обов’язково використовується в парі з блоком QUEUE.
Ім’я оператора ENTER.
Роль у моделі: Моделює використання багатоканального устаткування.
Значення операндів:
Операнд |
Значення |
Значення за
замовчуванням |
A |
Iм’я, СЧА або номер багатоканального устаткування |
Помилка |
B |
Кiлькiсть одиниць багатоканального устаткування, якi займає один транзакт |
Нуль |
Зауваження: Блок обов’язково використовується в парi з блоком LEAVE.
Ім’я оператора GATE.
Роль у моделі: Перевiряє стан пристроїв, багатоканальних устаткувань або логічних ключів.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Iм’я першого СЧА |
Помилка |
B |
Необов’язковий операнд. Мiтка блока, до якого переходить транзакт у разi невиконання умови |
Нуль |
Х |
Допомiжний операнд. Вказує умову для перевiрки |
Значення описано далі |
Зауваження: Значеннями операнда Х можуть бути:
1. У разі використання пристроїв:
NU — перевiрка умови, що пристрiй не використовується;
U — перевiрка умови, що пристрій використовується в даний момент;
I — перевiрка стану переривання;
NI — перевiрка того, що пристрiй не перебуває в станi переривання.
2. У разі використання багатоканальних устаткувань:
SF — перевiрка того, що багатоканальне устаткування заповнене.
SNF — перевiрка того, що багатоканальнє устаткування не заповнене.
SE — перевiрка того, що бакатоканальне устаткування порожнє.
SNF — перевiрка того, що багатоканальне устаткування не порожнє.
3. У разі використання логiчних ключiв:
LS — перевiрка умови «увімкнений»,
LR — перевiрка умови «вимкнений».
Ім’я оператора GATHER.
Роль у моделі: Використовується для нагромадження двох або бiльшої кiлькостi транзактiв у блоці доти, доки в одному i тому самому мiсцi не збереться задана кількість транзактів.
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Кількість транзактів, що збираються |
Помилка |
Ім’я оператора GENERATE.
Роль у моделі: Породжує транзакти
Значення операндів:
Операнд |
Значення |
Значення за замовчуванням |
A |
Cереднiй промiжок часу |
Нуль |
B |
Половина поля допуску рівномірно розподіленого інтервалу часу |
Нуль |
С |
Зміщення інтервалів |
Зміщення відсутнє |
D |
Обмеження на кількість транзактів |
Нескінченність |
E |
Рівень пріоритету |
Нуль |
Ім’я оператора LEAVE.
Роль у моделі: Моделює звiльнення частини або всiєї ємкостi багатоканального устаткування.
Значення операндів:
Операнд |
Значення |
Значення за
замовчуванням |
A |
Iм’я, СЧА або номер багатоканального устаткування |
Помилка |
B |
Кiлькiсть одиниць багатоканального устаткування, якi звільняє один транзакт |
Нуль |
Зауваження: Блок обов’язково використовується в парi з блоком ENTER.
Ім’я оператора LINK.
Роль у моделі: Розміщує транзакти в ланцюги користувача.
Значення операндів:
Операнд |
Значення |
Значення за
замовчуванням |
A |
Номер або ім’я ланцюга користувача |
Помилка |
B |
Визначає, у яке місце ланцюга користувача треба помістити транзакт |
Помилка |
С |
Необов’язковий операнд. Задає мітку, куди переміщується транзакт |
Транзакт безумовно переміщується в ланцюг користувача |
Зауваження: Блок обов’язково використовується в парi з блоком UNLINK. |