Цель работы: научиться организовывать циклы в имитационной модели.
Задачи: промоделировать работу заданной системы, задать цикл, сгенерировать отчет, проанализировать полученные результаты.
Оператор ASSIGNизменяет атрибуты транзактов. Формат оператора ASSIGN имеет вид:
< ASSIGN A,B,C,D >
A— не имеет значения по умолчанию, определяет имя или номер параметра, которому назначается значение. Если последний символ в операнде А + или –, то параметр уменьшается или увеличивается на значение, определяемое операндом В.
В — не имеет значения по умолчанию, представляет собой замещаемое значение, которое вычитается или прибавляется к значению операнда А. Если модифицируется параметр, представляемый числом с плавающей точкой, то операнд В тоже должен иметь такой вид.
С— не имеет значения по умолчанию, определяет имя или номер оцениваемой функции, значение операнда В умножается на значение функции после определения знака функции.
Рассмотрим несколько примеров.
1. ASSIGN 3+,5
2. ASSIGN 5,2.5,,PL
|
|
В первом примере производится прибавление к значению параметра 3 пяти единиц. Во втором примере задается значение параметру форматом «плавающая точка».
Оператор LOOP служит для организации циклов в процессе имитационного моделирования, формат его имеет вид:
< LOOP A,B>
А — не имеет значения по умолчанию и характеризует номер параметра транзакта.
В — не имеет значения по умолчанию и определяет имя или номер блока, являющегося начальным в повторяющейся группе блоков.
При каждом вхождении транзакта в блок LOOP значение счетчика уменьшается на 1 и сравнивается с 0. Если оно больше 0, его адрес определяется операндом В, который задает петлю; если становится равным нулю, транзакт переходит к следующему блоку; если становится меньше 0, появляется ошибка исполнения.
Рассмотрим пример использования оператора (фрагмент программы).
ASSIGN 5,4
WAIT ADVANCE 15,3
LOOP 5,WAIT
Для транзакта, вошедшего в блок ASSIGN, значение 5-го параметра 4, внутри цикла этот параметр не меняется, следовательно, этот транзакт еще 3 раза возвратится к началу цикла — блоку WAIT.
Арифметические переменные делятся на переменные с фиксированной и с плавающей точками. Переменные с фиксированной точкой обозначаются оператором VARIABLE, а с плавающей – FVARIABLE. Формат операторов:
<Имя> VARIABLE <А>
<Имя> FVARIABLE <А>
Операнд А отображает выражение, которое используется для вычисления значения переменной. Для обращения к переменным используется символ V. В выражениях используются следующие знаки:
+ сложение;
- вычитание;
# умножение;
/ деление…