Download presentation
Presentation is loading. Please wait.
1
1 Formal Models for Transactions: Petri Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions Markets Technologies - Alti Studi Lucca
2
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 2 Models and Languages for Coordination and Orchestration Contents Orchestration with Petri Nets Transactions with Zero Safe Nets From BizTalk to Zero Safe Nets
3
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 3 Models and Languages for Coordination and Orchestration Contents Orchestration with Petri Nets Transactions with Zero Safe Nets From BizTalk to Zero Safe Nets
4
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 4 Models and Languages for Coordination and Orchestration Petri Nets Place/Transition Petri nets [Petri 1962] Well-known model of concurrency Theory / Applications Well-supported by a large community Academy / Industry Well-developed tools http://www.daimi.au.dk/PetriNets A media for conveying ideas to non-expert Suggestive graphical presentation
5
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 5 Models and Languages for Coordination and Orchestration Foundational Model of Concurrency Basic monoidal structure of states A graph whose set of nodes is a monoid Precursor of most modern models and calculi of concurrency Monoidal structure of computations Essentially multiset rewriting Framework for studying issues of Causality, concurrency, conflict Event structures and domain Deadlock, liveness, boundedness Reachability, coverability, invariants
6
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 6 Models and Languages for Coordination and Orchestration General-purpose Model of (Concurrent) Computation Algebraic representations of data, states, transitions, steps, computations Basic rewriting system later generalized by Term rewriting, graph rewriting, term-graph rewriting, concurrent constraint models A framework where to mix concurrency with other features Data types, time, probability, dynamic reconfiguration, read- without-consuming, negative preconditions, objects, Semantic framework for encoding other models and languages Useful in studying and comparing expressiveness issues
7
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 7 Models and Languages for Coordination and Orchestration Practical Specification Language Standard theory and notation Simple and natural graphical representation Exploited in many heterogeneous areas Supported by tools of “industrial quality” Suitable for concurrent orchestration!
8
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 8 Models and Languages for Coordination and Orchestration Terminology and Notation Places a,b,c,… classes of resources Transitions t,t’,… basic activities Tokens instances of a resource class Markings u,v,w,… multisets of resources Multiset union u w Empty marking Places are unary markings a Multiset inclusion (e.g. 2a 3c 3a b 3c) Pre-sets t resources necessary to execute t multiset fetched by the execution of t Post-sets t resources produced by t We write t:u v for t=u and t =v
9
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 9 Models and Languages for Coordination and Orchestration Formal Definition A P/T Petri net is a graph N=(S ,T,pre,post,u 0 ) S is the set of markings (is the free monoid over the set of places S) Nodes of the graph T is the set of transitions Arcs of the graph pre:T S assigns pre-sets to transitions pre(t) = t Source map of the graph post:T S assigns post-sets to transitions post(t) = t Target map of the graph u 0 is the initial marking
10
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 10 Models and Languages for Coordination and Orchestration Graphically a2a2 a1a1 a5a5 a4a4 a3a3 2 2 places are circles transitions are boxes weighted arcs model pre-/post-sets t1t1 t2t2 t3t3 t4t4 t5t5
11
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 11 Models and Languages for Coordination and Orchestration Enabling A transition t is enabled in the marking u if t u Meaning that there exists u’ such that u=u’ t If t is enabled in u, it means that the system has enough resources to execute t
12
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 12 Models and Languages for Coordination and Orchestration Firing The execution of t is called a firing t can first fetch the resources in its pre-set and then release fresh resources according to its post-set the system moves from the state u = u’ t to the state v = u’ t the firing is usually written u [t v
13
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 13 Models and Languages for Coordination and Orchestration Steps A multiset of transition i n i t i is enabled in the marking u if there exists u’ such that u = u’ i n i t i Several transitions that are concurrently enabled can fire concurrently their concurrent execution is called a step from u = u’ i n i t i to v = u’ i n i t i Usually written u [ i n i t i v
14
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 14 Models and Languages for Coordination and Orchestration Example: Step Sequences a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t 1 :a 5 a 1 t 2 :2a 1 a 4 a 2 2a 5 t 3 :a 2 a 3 t 4 :a 3 a 2 t 5 :a 3 a 4 4a 1 2a 2
15
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 15 Models and Languages for Coordination and Orchestration Example: Step Sequences a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t 1 :a 5 a 1 t 2 :2a 1 a 4 a 2 2a 5 t 3 :a 2 a 3 t 4 :a 3 a 2 t 5 :a 3 a 4 4a 1 2a 2 [2t 3 4a 1 2a 3
16
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 16 Models and Languages for Coordination and Orchestration Example: Step Sequences a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t 1 :a 5 a 1 t 2 :2a 1 a 4 a 2 2a 5 t 3 :a 2 a 3 t 4 :a 3 a 2 t 5 :a 3 a 4 4a 1 2a 2 [2t 3 4a 1 2a 3 [t 4 t 5 4a 1 a 2 a 4
17
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 17 Models and Languages for Coordination and Orchestration Example: Step Sequences a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t 1 :a 5 a 1 t 2 :2a 1 a 4 a 2 2a 5 t 3 :a 2 a 3 t 4 :a 3 a 2 t 5 :a 3 a 4 4a 1 2a 2 [2t 3 4a 1 2a 3 [t 4 t 5 4a 1 a 2 a 4 [t 2 2a 1 2a 2 2a 5
18
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 18 Models and Languages for Coordination and Orchestration Operational Semantics We can describe concurrent computations by means of three simple inference rules: aSaS aNaaNa [reflexivity] t:u v T uNvuNv [firing] u N v u’ N v’ u u’ N v v’ [parallel composition] u N v v N w uNwuNw [sequential composition] uNwuNw *
19
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 19 Models and Languages for Coordination and Orchestration Basic Properties Proposition There is a step sequence leading from u to v iff u N v Decidable properties termination reachability coverability *
20
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 20 Models and Languages for Coordination and Orchestration An Algebra of Computations We can use proof terms to denote computations: aSaS a:a N a [reflexivity] t:u v T t:u N v [firing] :u N v :u’ N v’ :u u’ N v v’ [parallel composition] :u N v :v N w ;:uNw;:uNw [sequential composition] associative commutative unit : N monoid homomorphism identities u:u N u
21
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 21 Models and Languages for Coordination and Orchestration Example: Step Sequences a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t 1 :a 5 a 1 t 2 :2a 1 a 4 a 2 2a 5 t 3 :a 2 a 3 t 4 :a 3 a 2 t 5 :a 3 a 4 4a 1 2a 2 [2t 3 4a 1 2a 3 [t 4 t 5 4a 1 a 2 a 4 [t 2 2a 1 2a 2 2a 5 (4a 1 2t 3 );(4a 1 t 4 t 5 );(2a 1 a 2 t 2 ) idle resourcesactivities : 4a 1 2a 2 2a 1 2a 2 2a 5
22
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 22 Models and Languages for Coordination and Orchestration Basic Facts About Concurrency idlingmonoid homomorphism Suppose t:u v and t’:u’ v’ t;v = t = u;t Idle steps are immaterial t t’: u u’ N v v’ // concurrent execution t t’ = (t;v) (u’;t’) = (t u’);(v t’) // t precedes t’ t t’ = (u;t) (t’;v) = (u t’);(t v’) // t’ precedes t If two activities can be executed concurrently, they can be executed in any order The vice versa is not true Take t:a a and t’:a a t;t’ and t’;t are very different from t t’
23
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 23 Models and Languages for Coordination and Orchestration Token Philosophies This semantics follows the so-called Collective Token Philosophy (CTPh) Any two tokens in the same place are indistinguishable one from the other computationally equivalent Other semantics follow the Individual Token Philosophy (ITPh) Any token carries its own history tokens have unique origins fetching one token makes an activity causally dependent from the activities that produced it such analysis can be important for recovery purposes, detecting intrusions, increase parallelism, …
24
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 24 Models and Languages for Coordination and Orchestration Process Semantics Non-sequential behaviour of nets Causality and concurrency within a single run Runs are described by Processes = (P, ) A process net P acyclic net pre-/post-sets are just sets, not multisets transitions have disjoint pre-sets transition have disjoint post-sets A net morphism :P N places to places transitions to transitions
25
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 25 Models and Languages for Coordination and Orchestration Example a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 Graphically is rendered by a suitable labeling (here we use colours for simplicity) a1a1 a1a1 a1a1 a1a1 a4a4 a2a2
26
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 26 Models and Languages for Coordination and Orchestration Example a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t3t3 t2t2 a3a3 a5a5 a5a5 a2a2 a1a1 a1a1 a1a1 a1a1 a4a4 a2a2
27
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 27 Models and Languages for Coordination and Orchestration Example t5t5 t1t1 a4a4 a1a1 a2a2 a1a1 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 t3t3 t2t2 a3a3 a5a5 a5a5 a2a2 a1a1 a1a1 a1a1 a1a1 a4a4 a2a2
28
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 28 Models and Languages for Coordination and Orchestration Example: Process 1 t2t2 a5a5 a5a5 a2a2 a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 a2a2 a1a1 t5t5 t1t1 a4a4 a1a1 t3t3 t2t2 a3a3 a5a5 a5a5 a2a2 a1a1 a1a1 a1a1 a1a1 a4a4 a2a2 the last firing of t 2 causally depends on all other events
29
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 29 Models and Languages for Coordination and Orchestration Example: Process 2 Now there are two disjoint activities! a5a5 a4a4 a3a3 2 2 t1t1 t2t2 t3t3 t4t4 t5t5 a2a2 a1a1 t2t2 a5a5 a5a5 a2a2 t5t5 t1t1 a4a4 a1a1 t3t3 t2t2 a3a3 a5a5 a5a5 a2a2 a1a1 a1a1 a1a1 a1a1 a4a4 a2a2
30
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 30 Models and Languages for Coordination and Orchestration FOURTH HOMEWORK Using the algebra of computations that we have seen: write the expression associated with 1 ( 2a 1 t 2 t 3 ) ;... write the expression associated with 2 show that the two expressions can be proved equal to ( t 2 ; a 2 a 5 t 1 ) ( 2a 1 t 3 ; 2a 1 t 5 ; t 2 )
31
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 31 Models and Languages for Coordination and Orchestration Concatenable Processes Each process defines an initial marking u -image of the set of places with no antecedents – minimal places and a final marking v -image of the set of places with no successors – maximal places :u v Can processes be composed analogously to CTPh runs? In general there is some ambiguity The correspondence between final places of the first process and initial places of the second process must be fixed Concatenable processes come equipped with suitable orders on minimal / maximal places of P The orders concern places that are mapped to the same place of N unique source of ambiguity
32
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 32 Models and Languages for Coordination and Orchestration Concatenable Processes: Graphically a’ 1 a’ 2 a’ n’ b’ 1 b’ 2 b’ m’ superscripts denote order on minimal places subscripts denote order on maximal places d’ 1 d’ 2 d’ k’ a1a1 a2a2 anan b1b1 b2b2 bmbm d1d1 d2d2 dkdk : na mb … kd n’a’ m’b’ … k’d’ a,b,…d are places of N
33
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 33 Models and Languages for Coordination and Orchestration Composing Concatenable Processes Idle computations any place is both minimal and maximal (no transitions) minimal and maximal orders coincide Parallel composition 1 2 juxtaposition (NOT COMMUTATIVE) the orders in the result are obtained by assuming that places of the first process precede places of the second process Sequential composition 1 ; 2 maximal places of 1 are merged with minimal places of 2 according to their orders
34
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 34 Models and Languages for Coordination and Orchestration Symmetries Special concatenable processes allow to rearrange the orders of minimal and maximal places called symmetries : u v v u (note that u v = v u) no real computation the order of minimal places differs from that of maximal places symmetries are important to generate all possible causal dependencies arising from different combination of minimal and maximal places during composition
35
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 35 Models and Languages for Coordination and Orchestration Unfolding Semantics Instrumental in giving denotational semantics to nets a unique prime event structure that faithfully represent causality, concurrency and conflict between all possible events that can be generated from the net unfolding approximations can be used for verification Unfolding combines all processes in a unique structure non-deterministic exploration of computation space define a nondeterministic net U (N) together with a net morphism from U (N) to N acyclic, no backward conflicts, pre-/post-sets are sets places are tokens, transitions are events
36
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 36 Models and Languages for Coordination and Orchestration a Example: Three Processes b t s t a r a c s r c b t t a a s r c b a a s r c b 11 22 33 N
37
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 37 Models and Languages for Coordination and Orchestration c Example: Unfolding I b t s r a c a s r b t a r a t r
38
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 38 Models and Languages for Coordination and Orchestration a c Example: Unfolding II b t s r a c t t a a s r b # co r r Three relations: : Causality co : Concurrency # : Conflict
39
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 39 Models and Languages for Coordination and Orchestration Unfolding Construction Immediate precedence < 0 = { (a,t) | a t} {(t,a) | a t } Causal dependence is the transitive closure of < 0 Binary Conflict # is the minimal symmetric relation that is hereditary w.r.t. and contains # 0 defined by: s# 0 t iff s t s t Concurrency co(x,y) iff (x<y y<x x#y) we also write co(X) iff for all x,y X we have co(x,y) Note that and # have empty intersection
40
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 40 Models and Languages for Coordination and Orchestration Unfolding Construction: Notation Places of U (N) a,n,H a is the corresponding place in N n is a positive natural number introduced to distinguish tokens with the same history H is the history of the place either the empty set or a single event (the transition that generated the token) Transitions of U (N) (events) t,H t is the corresponding transition in N H is the history of the event (the set of fetched tokens)
41
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 41 Models and Languages for Coordination and Orchestration b t s r a c x 1 = a,1, x 2 = b,1, e 1 = t,{x 1 } x 3 = a,1,{e 1 } e 3 = r,{x 1,x 4 } e 2 = s,{x 2 } x 4 = c,1,{e 2 } r e 4 = r,{x 3,x 4 } r e 6 = r,{x 5,x 4 } Unfolding Construction: Example e 5 = t,{x 3 } x 5 = a,1,{e 5 }
42
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 42 Models and Languages for Coordination and Orchestration Unfolding Construction: Inference Rules The net U (N) is the minimal net generated by the two rules below ka u 0 a,k, S U (N) initial marking of U (N) t: i a i j n j b j T ={ a i,k i,H i } i S U (N) co( ) e= t, T U (N) ={ b j,m,{e} | 1 m n j } j S U (N) pre(e)= post(e)=
43
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 43 Models and Languages for Coordination and Orchestration Unfolding Construction: Remarks The condition co( ) depends exclusively on the histories H i and cannot be altered by successive firings Histories can be completely cabled inside the tokens so that it is not necessary to re-compute them at every firing (as in memoizing or dynamic programming) Histories retain concurrent information, not just sequential Each token / event is generated exactly once It can be referred several times successively Several occurrences of the second rule can be applied concurrently The unfolding can be implemented as a distributed algorithm
44
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 44 Models and Languages for Coordination and Orchestration References I Kommunikation mit automaten (PhD Thesis, Institut fur Instrumentelle Mathematik, Bonn 1962) C.A. Petri Petri nets: an introduction (EATCS Monograph on TCS, Springer Verlag 1985) W. Reisig Petri nets are monoids (Information and Computation 88(2):105-155, Academic Press 1990) J. Meseguer, U. Montanari
45
Roberto Bruni @ IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 45 Models and Languages for Coordination and Orchestration References II The non-sequential behaviour of Petri nets (Information and Computation 57:125-147, Academic Press 1983) U. Goltz, W. Reisig Petri nets, event structures and domains, part I (Theoretical Computer Science 13:85-108, 1981) M. Nielsn, G. Plotkin, G. Winskel Configuration structures (Proc. LICS’95, IEEE, pp.199-209) R.J. van Glabbeek, G.D. Plotkin
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.