Page 102 -
P. 102
2 The Language: Rationale and Fundamentals 89
< XOR ft 2 T j Split.t/ D XORg P..T [ C/ .T [ C// describes
the evaluation sequence of outgoing arcs from an XOR-split such that for any
.t; V / 2< XOR we write < t
XOR D V and V is a strict total order over t Dfx 2
T [C j .t; x/ 2 F g. Link conditions associated with each arc are evaluated in this
sequence until the first evaluates to true. If none evaluate to true, the minimum
element (which corresponds to the default path and is denoted as ? t ) is selected;
Rem W T P .T [ Cnfi; og/ specifies the additional tokens to be removed by
C
emptying a part of the net and tasks that should be canceled as a consequence of
an instance of this task completing execution;
inf inf
NofiW M ! N N N fdynamic; staticg specifies the multiplicity of
each task – in particular, the lower and upper bound of instances to be created at
task initiation, the threshold for continuation indicating how many instances must
complete for the thread of control to be passed to subsequent tasks and whether
additional instances can be created “on the fly” once the task has commenced;
(* conditions on arcs *)
ArcCondW F \ .dom.Split fXOR; ORg/ .T [ C// ! BoolExpr identifies
the specific condition associated with each branch of an OR or XOR split.
Each YAWL net has a Data passing model associated with it that describes how data
is passed between tasks in a YAWL specification. The abstract syntax for this model
is given below.
Definition 14. (Data passing model) Within the context of a YAWL net nid,there
is a data passing model (ParamVar, InPar, OutPar, Accessor, Splitter, Instance,
Aggregate) with the following components:
(* parameter variable definition *)
ParamVarW ParamID ! VarID VarID is a function identifying the source and
target variables for a given parameter;
(* data passing to/from atomic tasks *)
InParW ParamID T ! Expr is a function identifying the input parameter map-
pings to a task at initiation;
OutParW ParamID T ! Expr is a function identifying the output parameter
mappings from a task at completion;
(* data passing to/from multiple instance tasks *)
AccessorW T M ! RecExpr is a function identifying the accessor query for a
multiple instance task;
SplitterW T M ! Expr is a function identifying the splitter query for a multiple
instance task;
InstanceW T M ! Expr is a function identifying the instance query for a multiple
instance task;