**7. Case semantics**

Let Σ= (S,T;F,K,W,M0) be the workflow logic developed for a business process. Case semantics is to select a route for the processing of a given case.

Workflow Modelling Based on Synchrony 137

by nature regardless of the exact value of that variable. Besides, there is a rich variety of data types and operations for data types. Conditions for case classification cannot be formally expressed without variables and operations on variables. The example of insurance claim explains: c1 = x∧y, c2 = (¬x∧y)∨(x∧¬y), c3 =¬x∧¬y provide a third way of case classification.

When variables are introduced into a net as another kind of state elements, a net becomes a C-net. A simplified version of C-net is introduced next, just to serve the need of modeling

S,V,T are the sets of places, variables and transitions respectively; F,R,Wr are respectively the flow relation, the read relation and the write relation; K,W are the capacity function and the arc weight function; MT is a marking on T and M0 is a marking (initial marking) on S.◆

A transition may read and/or write a variable, but not must. The marking on a transition has a Boolean expression as its guard and assignments as its body when it writes. The guard and the body must be consistent in relation to read and write. For example, the guard can only

If a transition has nothing to do with variables, conventional transition rules apply. If a transition has nothing to do with places, it is enabled when its guard is true. If a transition is related with places as well as variables, it is enabled if it is enabled by places and its guard is

An enabled transition may fire to produce a successor marking on S, the marking on T remains like the weight function and the capacity function; variables in write relation with

A c-net transition in general has a figure called "status" as part of MT. Transition firings may

To save space, detailed formal definitions are avoided. Figure 25 illustrates them, including

case semantics.

Σ= (S,V,T;F,K,W,R,Wr, MT, M0) is a C-net system if

refer to variables that are to be read by the transition.

this transition are assigned values by the assignments.

**Figure 25.** A C-net System: Case Semantics for Insurance Claim

Isolated transitions are excluded in a C-net.

change "status". But this does not concern us.

graphical presentation of C-nets.

Definition 20

true.

A healthy enterprise should have new cases arrive every day. It is impossible to have different routes for different cases. Cases must be classified so that one route for one case class.

Let C= {c1, c2, …ck} be the set of conditions for case classification. For example, let Boolean variable x, y be used to record conclusions given by tasks "check policy" and "check claim" respectively for insurance claim i.e. x and y are blanks on the B-form. One way to specify case classes is: c1 = x∧y, c2 =¬x∨¬y. This classification is consistent with the workflow logic developed in Figure 24. Another way of case classification is to have 4 classes: c1 = x∧y, c2 =¬x∧y, c3=x∧¬y, c4 =¬x∧¬y. This classification leads to a different task set: there have to be 4 end tasks. Thus the workflow logic is also different. The B-form should as well be changed accordingly.

Before going on from conditions to routes, a definition of routes is needed.

Definition 19

A route on a workflow logicΣ= (S,T;F,K,W,M0) is a RP/T-systemΣ'= (S',T';F',K',W',M0') such that S',T', and F' are subsets of S,T and F respectively:

S 'contains the start place s, a unique end place e, and all synchronizers in S that have a directed path to e

T' consists of the start transition (task), the transition in the pre-set of e, and for every synchronizer p= (. p, p.,(a, b)) in S', a transitions from . p and b transitions from p. .

F' = {(x,y) | x,y∈ S'∪ T'∧ (x,y) ∈ F}.

For x ∈ S', K'(x) = K(x); For (x, y) ∈F', W'(x, y) = W(x, y); M0'(x) = M0(x) for all x in S'.◆

The difference betweenΣ= (S,T;F,K,W,M0) and Σ'= (S',T';F',K',W',M0') appears when a synchronizer p is an OR-join and/or OR-split. Conditions c1, c2, …ck will be used to select a transitions from . p and b transitions from p. . Thus, variables (blanks in B) used in these conditions are explicit variables, since they will appear explicitly in the system model for case semantics.
