Описание переменной ( 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’ и т.д.