390 likes | 587 Views
Lecture 5. Process management. Contents. Introduction Petri net summary Workflow nets and soundness A sound SOA framework. Introduction. Coordination is needed at several levels: For business processes: this is called workflow management and it is performed by workflow engines
E N D
Lecture 5 Process management Technology of information systems
Contents • Introduction • Petri net summary • Workflow nets and soundness • A sound SOA framework Technology of information systems
Introduction • Coordination is needed at several levels: • For business processes: this is called workflowmanagement and it is performed by workflow engines • In (service) components: this called orchestration and is performed by worklow-like engines (e.g. BPEL) • Between components: it is called choreography and is perfomed by middleware, such as an enterprise bus • In all cases coordination means the execution of a process. • Coordination components are configured by process models. Technology of information systems
Petri net (1) Definition:a labeled transition system is 4-tuple: TS = <S,A,R,s> such that • S set of states • A set of actions or events • R SxAxS the transition relation • s S is the initial state Reachability: • s a s’ iff (s,a,s’) R • s * s’ iff s = s’ a A, s” S: s a s” s” * s’ Technology of information systems
Petri net (2) Definition Petri net: • a Petri net N is 3-tuple: N=<P,T,F> • P set of places • T set of transitions • F: (PxT) (TxP) IN the flow relation • a marking M is a bag over P (element of bag.P) • (N,M) denotes a Petri net N with (initial) marking M • subnet N’ of N: all elements of N’ are subsets of the elements of N Technology of information systems
Petri net (3) Notations: • t is the preset of transition t, similarly: t is the postset of t • t, t bag.P, bags over the places • t(p) = F(p,t) and t(p) = F(t,p) • the flow matrix: [N][N](p,t) = F(t,p) - F(p,t) • A bag over {a,b,c,d} with 3 a’s, 2 b’s and 1 c is denoted by [a3,b2,c] Extra: inhibitor arcs: ◦t: P {true, false}, ◦t(p)=true iff p is an inhibitor for t Technology of information systems
Petri net (4) Transition system of a Petri net • Petri net: <P,T,F> • Petri system (<P,T,F>,M)M is initial marking • Transition systems: <S,A,R,s> • S = bag.P • A = T • R = {(m,t,m’) | m ≥t m’ = m - t + t } • s = M In case of inhibitor arcs: • R={(m,t,m’) | m ≥t m’ = m - t+ t p P:◦t(p) = true m(p) = 0} Technology of information systems
Petri net (5) • Petri nets may have an infinite state space. • Petri nets with inhibitor arcs are Turing complete. Technology of information systems
red1 red2 safe2 yr1 yr2 rg1 rg2 yellow1 yellow2 gy1 gy2 safe1 green1 green2 Petri net (6) Two safe and fair traffic lights Technology of information systems
Semantics Petri net (7) • interleaving: x or y • step: x or y or (x and y) • multi-step:x or y or (x and y) or 2.x or 2.y we use interleaving semantics Technology of information systems
Petri net (8) Notions: • Firing sequence <t1,..., tn> for M if from marking M the transitions can successively fire • Parikh vector of a firing sequence is a vector :TIN that is the bag of , i.e.: if = <a,b,c,a,d,e,c,b,c> then = [a2,b2,c3,d,e] Technology of information systems
Petri net (9) Two essential properties: • marking equationif M M’ then M’ = M + [N]. • additivity of markingsif Mi i Mi’ thenfor all interleavings of1 .... n: M1 + ... + Mn M1’+...+Mn’ Technology of information systems
Petri net (10) More notions: • reachability: M’ is reachable from M iff M * M’ • reachability graph: graph with markings as nodes and transitions as arcs (M,t,M’) iff M t M’ • liveness: transition t is live if for all markings M there is a reachable marking M’ with •t ≤ M’ • dead: transition t is dead in M iff t is not enabled in any reachable marking M’ from M • deadlock: marking M is a deadlock iff no transition in M is enabled Technology of information systems
Petri net (11) More notions: • k-Boundedness: in all reachable markings the number of tokens k • safety: 1-boundedness • Conservative net: (N,M) iff all reachable markings have the same number of tokens • Home marking a marking M’ is a home marking of (N,M) iff for all reachable M” we have M” * M’ Technology of information systems
Definition of workflow net: A Petri net N is a WF-net iff Workflow net (1) • N has two special places: i and f • Every node is on a directed path from i to f • Equivalent definition: the closure is strongly connected Technology of information systems
Workflow net (2) WF-nets are used to model: • Work processes where cases or jobs have to be executed • Example of cases or jobs are: • A claim in an insurance company • The assembly of a bike • A complex update in a database (all amounts have to be transformed from dollars into euro’s) • Handling of a request in a SOA component • Each transition represents a task to be performed by a resource Technology of information systems
NOK check_policy send_letter c4 OK c1 c5 start register NOK c2 c3 OK pay_damage check_damage Workflow net (3) Example 2 x ! Technology of information systems
NOK check_policy send_letter c4 OK c1 c5 start register c2 c3 OK pay_damage check_damage Workflow net (4) NOK Technology of information systems
Workflow net (5) Definition of soundness aWF-net is k-sound iff [fk] is a home marking for initial marking [ik], i.e. M: ( [ik] * M ) ( M * [fk] ) A WF-net is sound iff it is k-sound for all k. Soundness is a very important property: it means that workflows are able to end in a proper way Technology of information systems
Workflow net (6) Examples f i 1-sound, not 2-sound i f exactly n x k-sound Technology of information systems
Workflow net (7) Properties • If sound then M: ([ik]* MM [fk])M = [fk] • If the closure is live and bounded then a WF- net is 1-sound • If a WF-net is 1-sound, then its closure is bounded. • k-soundness is decidable • Soundness is decidable Technology of information systems
Special structured WF-nets: • A Petri net is a State Machine WF-net (SMWF) iff it is a WF-net and • t T: |t| = 1 |t| = 1 • Properties • For every SMWF N, (N,[i]) is conservative • Every SMWF N is a sound WF-net Workflow net (8) Technology of information systems
A Petri net is a Marked Graph WF-net (MGWF) iff it • is a WF-net and • p P : |p| ≤ 1 |p| ≤ 1 • Properties: • (N,[i]) is safe and every loop-free path from i to f has at most one token • (N,[ik]) is k-bounded • Every acyclic MGWF is sound Workflow net (9) Technology of information systems
A Petri net is a Free Choice WF-net (FCWF) iff it • is a WF-net and • t1,t2 T : t1t2 t1 = t2 • Properties: • Every SMWF-net and every MGWF-net is a FCWF-net • A 1-sound FCWF-net is sound Workflow net (10) Technology of information systems
Workflow net (11) Construction techniques idea: • Correctness by construction • If we have sound nets and we compose them to bigger ones in the right way, we want sound nets again • Also correctness by reduction: find patterns and reduce a net to a sound one, and expand again to the original one by “legal” constructions Technology of information systems
Workflow net (12) Rule 1: place refinementRule 2: transition refinementRule 3: place duplicationRule 4: transition duplicationRule 5: iteration Property: Start with one place and apply the rules: the net is always a sound WF-net. Restriction: rule 5 may not be applied to i or f. Technology of information systems
Sell side of a component Sound SOA framework (1) Technology of information systems Technology of information systems
General task structure Sound SOA framework (2) Technology of information systems Technology of information systems
Overview Sound SOA framework (3) Each task is realized internally or by an external service Technology of information systems Technology of information systems
Orchestration: Sequential composition Sound SOA framework (4) Technology of information systems Technology of information systems
Orchestration: Choice construct Sound SOA framework (5) Technology of information systems Technology of information systems
Orchestration: Parallel composition Sound SOA framework (6) Technology of information systems Technology of information systems
Orchestration: While construct Sound SOA framework (7) Technology of information systems Technology of information systems
Soundness argument Sound SOA framework (8) Technology of information systems Technology of information systems
The price of a service in this framework Assumptions: For each service the lowest price is k with probability pk We are prepared to pay at most m So: The expected cost of a task is: c=∑k=1->mk. pk The probability of success: s= ∑k=1->mpk The probability of failure: 1-s Sound SOA framework (9) Technology of information systems Technology of information systems
The price of a compound task to be computed in a recursive way Sound SOA framework (10) Sequential composition: (tasks a and b) C(a) is the expected cost of task a Technology of information systems Technology of information systems
Parallel composition: Sound SOA framework (11) Technology of information systems Technology of information systems
Choice construct: Sound SOA framework (12) Technology of information systems Technology of information systems
While construct: Sound SOA framework (13) α a 1-α All these operators are associative! Technology of information systems Technology of information systems