Смекни!
smekni.com

Подсистема визуального отображения процесса интерпретации сетевых моделей в системе имитационного моделирования МИКРОСИМ (стр. 2 из 13)

Предпосылкой срабатывания перехода, ассоциированного с данной элементарной сетью, является истинность условия C (этому соответствует в наших обозначениях ситуация C = 1).

Функция R1 вычисляет подмножество тех входных позиций перехода, из которых в конце фазы активности сработавшего перехода должно быть извлечено (удалено) по одной фишке.

Функция R2 вычисляет подмножество тех выходных позиций перехода, в которые должно быть добавлено по одной фишке после срабатывания перехода.

Функция TAU вычисляет длительность активной фазы сработавшего перехода. В конце этой фазы происходит извлечение фишек из входных позиций перехода, определяемых функцией R1, и добавление фишек в те выходные позиции перехода, которые вычисляются функцией R2.

Наконец, процедура FI задает преобразования, которые должны быть выполнены в конце фазы активности сработавшего перехода.

Для построения Е-сетей любой сложности достаточен ограниченный набор типов (классов) элементарных сетей. Этот набор называется базовым набором, он приведен на Рис. 2.1. На этом рисунке для каждого типа перехода представлены его условное обозначение (T, Y, X, G, I) и геометрическая реализация. Для определенности входные и выходные позиции у всех типов элементарных сетей, обозначенные соответственно буквами X и Y с индексом считаются простыми. При необходимости любая простая позиция может быть заменена позицией-очередью.

Соединяя друг с другом элементарные сети из базисного набора, можно создавать, как уже отмечалось, модифицированные Е-сети произвольной сложности. Точками соединения или связывания двух элементарных сетей служат позиции. При связывании двух элементарных сетей по некоторой паре позиций выходная позиция одной элементарной сети объединяется с входной позицией другой (в частном случае, той же самой) элементарной сети, в результате чего получается единственная позиция. При этом объединяемые позиции обеих сетей должны быть одного типа, такого же типа будет и результирующая позиция.

1.1.3 Правила функционирования элементарных сетей

Ниже приводятся описания базовых типов элементарных сетей, представленных на Рис. 2.1. В этих описаниях для каждого типа элементарной сети указываются условия срабатывания перехода C, общие и стандартные функции входного и выходного выбора R1 и R2, а также стандартная процедура преобразования FI. Под стандартной функцией (процедурой) понимается функция (процедура), используемая по принципу умолчания. Такая функция (процедура) не нуждается в явном задании (спецификации) и реализуется всякий раз, когда не задана соответствующая нестандартная функция (процедура).

В приводимых ниже описаниях базовых типов элементарных сетей не отражаются правила перемещения фишек при срабатывании переходов, так как эти правила неявно задаются функциями входного и выходного выбора R1 и R2. При этом предполагается следующий общий принцип перемещения фишек: из каждой входной позиции сработавшего перехода, определяемой функцией R1, извлекается по одной фишке и затем добавляется по одной фишке в каждую выходную позицию этого же перехода, определяемую функцией R2.


Рис. 2.1 Базисный набор типов элементарных сетей

Следует также отметить, что требование незанятости одной или нескольких выходных позиций, отраженное в условиях срабатывания переходов во всех типах элементарных сетей, должно соблюдаться лишь для простых позиций. Если простая позиция, к которой в условии срабатывания C предъявляется требование незанятости, заменяется позицией очередью, то это требование для соответствующей позиции должно быть исключено из условия C.

В логических выражениях, представляющих условия срабатывания C, используются символы &,! и ^ для обозначения логических операторов конъюнкции, дизъюнкции и отрицания соответственно.

Функции входного и выходного выбора R1 и R2 будут записываться в форме условных выражений МакКарти. При этом для записи оператора импликации используется символ стрелки –>. Слева от этого символа записывается некоторый предикат, а справа, в угловых скобках – множество входных (для функции R1) или выходных (для функции R2) позиций. Предикат T представляет собой тождественно истинное высказывание.

Необходимое и достаточное условие срабатывания перехода представляется следующим выражением:

C(T)=(B(X1)&B(X2)&…&B(Xm))&(^B(Y1)&^B(Y2)&…&^B(Yn))

Таким образом, для срабатывания перехода в элементарной сети данного типа необходимо и достаточно наличие хотя бы одной фишки в каждой из входных позиций и не занятость всех выходных позиций. Напомним, что если некоторая выходная позиция Y является позицией-очередью, то соответствующий ей член ^B(Y) должен быть исключен из выражения для C(T).

Если множество входных или выходных позиций пусто, то в выражении для C(T) будут лишь члены, соответствующие позициям непустого из двух множеств.

Одновременно оба множества входных и выходных позиций пустыми быть не могут.

Функции входного и выходного выбора для элементарной сети типа T являются константами со следующими значениями:


R1 (T) = [T–>{X1, X2,…, Xm}] = {X1, X2,…, Xm},

R2 (T) = [T–>{Y1, Y2,…, Yn}] = {Y1, Y2,…, Yn},

где символ T в квадратных скобках представляет собой тождественно истинный предикат.

Стандартная процедура преобразования FI(T) обеспечивает копирование значений атрибутов фишки из слотов памяти входной позиции X1 и присваивание этих значений соответствующим атрибутам каждой добавленной фишки во всех выходных позициях перехода.

Если пусто множество входных позиций, то в слоты памяти каждой из добавленных фишек стандартно засылаются нулевые значения атрибутов.

Если же пусто множество выходных позиций, то процедура преобразования не определена.

Необходимое условие срабатывания перехода задается следующим логическим выражением:

C(Y)=(B(X1)! B(X2)!…! B(Xm))&(^B(Y1)&^B(Y2)&…&^B(Yn))

Стандартная функция входного выбора R1 представляется выражением

R1 (Y) = [B(X1)–>X1; B(X2)–>X2;…; B(Xm)–>Xm],

т.е. эта функция «вычисляет» первую из входных позиций (при просмотре их в порядке X1, X2,…, Xm), содержащую хотя бы одну фишку.

Общая (нестандартная) функция входного выбора задается выражением

R1 (Y) = [B(X1)&P1–>X1;…; B(Xm)&Pm–>Xm],

где P1,…, Pm – некоторые предикаты.

Функция выходного выбора в сети данного типа является всегда константой:

R2 (Y)=[T–><Y1, Y2,…, Yn>] = {Y1, Y2,…, Yn}.

Пусть X – некоторая входная позиция, вычисленная функцией R1 (Y). Тогда стандартная процедура преобразования FI(Y) совпадает со стандартной процедурой преобразования FI(T), если в последней заменить позицию X1 позицией X.

При пустом множестве входных позиций элементарная сеть типа Y не отличается от сети типа T, у которой пусто множество входных позиций.

Необходимое условие срабатывания перехода имеет вид:

C(X)=(B(X1)&B(X2)&…&B(Xm))&(^B(Y1)!^B(Y2)!…!^B(Yn))

Функция входного выбора в сети данного типа всегда является константой:

R1 (X) = [T–>{X1, X2,…, Xm}] = {X1, X2,…, Xm}.

Стандартная функция выходного выбора представляется следующим выражением:

R2 (X)=[^B(Y1)–>Y1;^B(Y2)–>Y2;…;^B(Yn)–>Yn],

а общая (нестандартная) функция выходного выбора – выражением:

R2 (X) = [^B(Y1)&P1–>Y1;…;^B(Yn)&Pn–>Yn],

где P1,…, Pn – некоторые предикаты.

Пусть Y – некоторая выходная позиция, вычисленная функцией R2 (Y). Тогда стандартная процедура преобразования FI(Y) реализует перепись атрибутов фишки, извлекаемой из входной позиции X1, и присваивание значений этих атрибутов фишке, добавленной выходную позицию Y.

Если множество выходных позиций пусто, то элементарная сеть данного типа не отличается от сети типа T при пустом множестве ее выходных позиций.

Сеть данного типа сочетает в себе свойства элементарных сетей типов Y и X. Необходимое условие срабатывания перехода задается выражением:

C(G)=(B(X1)! B(X2)!…! B(Xm))&(^B(Y1)!^B(Y2)!…!^B(Yn)).

Стандартные функции входного и выходного выбора R1 (G) и R2 (G) совпадают соответственно со стандартными функциями выбора R1 (Y) и R2 (X) в элементарных сетях типов Y и X. Аналогично, общие (нестандартные) функции входного и выходного выбора R1 (G) и R2 (G) совпадают с общими функциями выбора R1 (Y) и R2 (X) соответственно, при различающихся в общем случае последовательностями предикатов:

R1 (G) = [B(X1)&P11–>X1;…; B(Xm)&P1m–>Xm],

R2 (G) = [^B(Y1)&P21–>Y1;…;^B(Yn)&P2n–>Yn].

Пусть X и Y – некоторые входная и выходная позиции, вычисленные функциями R1 (G) и R2 (G) соответственно. Тогда стандартная процедура преобразования FI(G) реализует перепись атрибутов фишки, извлекаемой из позиции X, и присваивание значений этих атрибутов фишке, добавляемой в позицию Y.

Если множество входных (или выходных) позиций пусто, то элементарная сеть типа G не отличается от элементарной сети типа X (или Y) при пустом множестве входных (или выходных) позиций.

Необходимое и достаточное условие срабатывания перехода имеет вид:

C(I)=(B(X1)&^B(Y1)&^B(X2))! (B(X2)&^B(X1)&^B(Y2)).

Функции входного и выходного выбора сети данного типа могут быть записаны следующими выражениями:

R1 (I)=(B(X1)&^B(Y1)&^B(X2))! (B(X1)&^B(Y1)&B(X2)&B(Y2))–>X1;

(B(X2)&^B(X1)&^B(Y2))! (B(X1)&B(X2)&B(Y1)&^B(Y2))–>X2;

(B(X1)&B(X2)&^B(Y1)&^B(Y2))–>{X1, X2}],

R2 (I)=[(B(X1)&^B(Y1)&^B(X2))! (B(X1)&^B(Y1)&^B(X2)&^B(Y2))–>Y1;

(B(X2)&^B(X1)&^B(Y2))! (B(X1)&B(X2)&B(Y1)&^B(Y2))–>Y2;

(B(X1)&B(X2)&^B(Y1)&^B(Y2))–>{Y1, Y2}].

Ситуация прерывания в сети данного типа возникает при том же условии, как и в сети типа I для обыкновенных Е-сетей. Эту ситуацию можно выразить условием: