在将一个实际的业务流程映射成为工作流模型时,很重要的一点,就是要保证活动间的逻辑关系不变。“与”和“或”是两类最基本的逻辑关系,它是表达各种复杂关系的基础,工作流模型必须具备表达“与”和“或”关系的能力。
我们在前面定义的演进规则,对于任意一个处于非执行状态的节点n,只要有一条输入连接弧发生了转移,那么该节点即可被执行,这实际上就表达了“或”的关系。即∪{n’∈Pre(n),l=(n’,n) ∈L,Trans(l)=1且l发生转移}。
对于“与”的关系增加同步节点S来表示,它对活动起协调、同步的作用。我们规定,同步节点S的动态行为完全遵循演进规则,所不同的是,当S处于执行状态时,即State(S)=1时,将判断它的所有输入连接弧是否发生转移;若是,则S的状态就由1变为0,即S执行完毕;否则S仍处于等待状态,并继续判断,直至满足上面的条件后才执行完毕、发生转移,State(S)=10。这意味着同步节点将使它的所有前驱节点都执行完毕后才继续推进流程,这实际上就表达了“与”的关系∩{n’∈Pre(n),l=(n’,n) ∈L,Trans(l)=1且l发生转移。
3.3 连接弧
连接弧作为有向图中的另一种组成元素表达了有向图中不同节点元素之间的逻辑关系。它从前驱节点指向后继节点,体现了节点状态的转移和有向图的演进。连接弧发生转移根据条件Trans(l)进行,如果Trans(1)≡1则为永真型条件,否则为不定型条件。对于不定型条件根据实际情况取值。在工作流模型设计时我们将连接弧分为三类:普通控制连接弧、条件连接弧和条件设定连接弧。