820 likes | 976 Views
Semantics of Petri Nets: A Comparison. Gabriel Juhás. WSC2007 , Washington, DC , 10th December 2007. Road plan: Present different semantics of Petri nets. Road plan: Present different semantics of Petri nets Associate each of them with a set of labelled partial order (LPOs).
E N D
Semantics of Petri Nets: A Comparison Gabriel Juhás WSC2007, Washington, DC, 10th December 2007
Road plan: Present different semantics of Petri nets
Road plan: Present different semantics of Petri nets Associate each of them with a set of labelled partial order (LPOs)
Road plan: Present different semantics of Petri nets Associate each of them with a set of labelled partial order (LPOs) Given two semantics associated with sets of LPOs A and B, investigate:
Road plan: Present different semantics of Petri nets Associate each of them with a set of labelled partial order (LPOs) Given two semantics associated with sets of LPOs A and B, investigate: whether B A
Road plan: Present different semantics of Petri nets Associate each of them with a set of labelled partial order (LPOs) Given two semantics associated with sets of LPOs A and B, investigate: whether B A whether each LPO from A is sequentialzation of an LPO from B (A B)
Road plan: Sequential semantics: occurrence sequences
Road plan: Sequential semantics: occurrence sequences Partial order based semantics: step semantics enabled labelled partial orders processes and runs
Road plan: Sequential semantics: occurrence sequences Partial order based semantics: step semantics enabled labelled partial orders processes and runs Relationships
Road plan: Sequential semantics: occurrence sequences Partial order based semantics: step semantics enabled labelled partial orders processes and runs Relationships Commutative Processes: Equivalence over sequences and processes
Road plan: Sequential semantics: occurrence sequences Partial order based semantics: step semantics enabled labelled partial orders processes and runs Relationships Commutative Processes: Equivalence over sequences and processes Algebraic semantics: process terms and their equivalence classes Relationships
Place/transition nets: p1 p2 a b 2 2 p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a b 2 2 p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a a a b 2 2 p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a a a b 2 2 p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a ab a b 2 2 b p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a ab a b 2 2 b p3 2 c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a abc a b 2 2 b p3 2 c c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a abc a b 2 2 b p3 2 c c p4
Place/transition nets: Sequential semantics: occurrence sequences p1 p2 a abcc a b 2 2 b p3 2 c c p4 c
Place/transition nets: Step semantics: step sequences p1 p2 a b 2 2 p3 2 c p4
Place/transition nets: Step semantics: step sequences p1 p2 a b 2 2 p3 2 c p4
Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) a b 2 2 p3 2 c p4
Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) a b 2 2 p3 2 c 2x p4
Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) (2c) a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c p4
An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b a b 2 2 p3 2 c c c 2x p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 p3 2 c p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a a b 2 2 a a p3 2 c p3 p3 p3 p3 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a a b 2 2 a a p3 2 c p3 p3 p3 p3 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 ab a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 ab a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 abc a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c p4 p4 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 abc a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c p4 p4 p4
Place/transition nets: Sequential executions: firing sequences Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 abcc a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c c c p4 p4 p4 p4 p4
Process 1 Process 2 p1 p2 abcc p1 p1 p2 p2 a a b a b a b 2 2 p3 p3 p3 p3 p3 p3 p3 p3 p3 b 2 c c c c c c p4 p4 p4 p4 p4 Run 1 c Run 2 a b a b c c c c
SEQ STEPSEQ ENABLED RUN ENABLED SEQ STEPSEQ ENABLED RUN Consequence MINENABLED = MINRUN
Process 1 Process 2 p1 p1 p2 p2 p1 p2 a b a b a b p3 p3 p3 p3 p3 p3 p3 p3 2 2 c c p3 c c 2 c p4 p4 p4 p4 Run 1 p4 Run 2 a b a b c c c c abcc acbc
Finest equivalence on sequences and processes relating them one-to-one: Exchange equivalence on sequences 0* Swapping equivalence on processes 1* p1 p2 a b 2 2 p3 2 Process 1 1 Process 2 p1 c p1 p2 p2 p4 a b a b abcc 0 bacc p3 p3 p3 p3 p3 p3 p3 p3 (a+b)cc c c c c p4 p4 p4 p4
Algebraic semantics: process terms. p1 p2 pre(t) p1 p2 2p3 a b 2 2 t a b c p3 2 c p4 post(t) 2p3 2p3 p4