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;
   97   98   99   100   101   102   103   104   105   106   107