Описание переменной ( Variable )
В блокноте для блока задания переменной ( См. Рис. 3.3. ) необходимо задать имя переменной, например, X и задать тип переменной.
В системе используется два типа переменных. Float - числовая переменная и enumeration – символьная переменная. Переменные типа global могут быть описаны в любом бизнес-процессе. При этом их можно использовать в любых других моделях, связанных с данным бизнес-процессом. В частности, подпроцессах и процессах более высокого уровня. Переменные типа local действуют только в рамках описанного процесса, но могут передаваться другим процессам в виде параметров.
Рисунок 3.3 -Поля блокнота для описания переменной
2.4. Объект «Генератор случайных значений» (Random generator)
Объект задает значение переменной, с которой он связан. На рисунке 3.4 показан блокнот для описания генератора.
В поле ‘Value’ блокнота задается выражение для вычисления значения переменной.
Рисунок 3.4 - Блокнот для описания генератора
Синтаксис выражения задается следующей грамматикой:
Выражение ::=Арифметическое выражение {;Арифметическое выражение}
Арифметическое выражение ::=Term | (Арифметическое выражение )| Term Operator Арифметическое выражение
Term ::=String | Numeric | Variable | Distrib
Operator ::= +| -| *| /
Terms:Это простейший вид выражения. Имеется три возможности задать терм: 1) терм может быть константой. Константы могут быть в свою очередь двух видов: символьная константа, заданная перечислением "enumeration", например, 'standard case' и числом с плавающей точкой "float", например, 365;
2) терм может быть другой переменной,например, Х. В этом случае значение выражения совпадает со значением переменной;
3) терм может быть задан распределением (distribution).Для символьных переменных может задаваться только дискретное распределение (discrete distribution). Для числовых переменных могут задаваться три вида распределений: экспоненциальное ( exponential ), равномерное (uniform) и нормальное ( normal ).
Арифметическое выражение :числовые термы могут составлять арифметическое выражение. При этом используются арифметические операторы +,-,*,/ и скобки. Символьные термы могут соединяться оператором + и скобками, если необходимо.
Можно использовать список выражений. В этом случае выражения разделяются точками с запятой. При имитации в первом проходе используется первое выражение, во втором проходе второе выражение и т.д. Если число проходов больше числа выражений, то выражения вновь используются по списку.
Примеры.
Пусть X и Y числовые переменные, а S и T – символьные переменные.
Uniform(4; 10) :случайная переменная с равномерным законом распределения.
Пример1.
X+1 :к переменной X прибавлена 1.
X+Uniform(4; 10) :к переменной X прибавлено случайное число, распределенное по равномерному распределению.
X*Exponential(4)+Y :Переменная X умножается на случайное число, распределенное по экспоненциальному закону, и к результату прибавляется значение переменной Y.
S+'a' :Операция конкатенации символа 'a' и символьной переменной S .
'a';S+'b';S+'c': В первый проход имитации переменная принимает значение символа 'a'. Во второй проход ‘ab’, в третий ‘abc’, в четвертый ‘abca’ и т.д.