Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann, Bruz, France with Thomas Chatain, currently postdoc in Aalborg
Time & Concurrent Semantics Seems to be a bit contradictory: –Time is a global notion –Concurrency is implied by independent actions, which are locally decided Is difficult: –even for the simple case of safe time Petri net, the definition of unfoldings and finite complete prefixes was left open
What we have done… Ingredients: –Mixed of graphical and symbolic constraints –Duplication of events to capture different temporal constraints for a same event –Introduction of reads arcs Safe Time Petri Net Its finite complete prefix
Time Petri Nets [Merlin 1976] Syntax: Sequential semantics: Global state (M,dob, ) (M,dob, ) -t-> (M’,dob’, ’) iff
Firing Sequences (p1p2,00,0) 0 0
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) 0 1.3
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) -t1-> (p3p4,31.3,3)
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) -t1-> (p3p4,31.3,3) -t0-> (p1p2,33,3)
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) -t1-> (p3p4,31.3,3) -t0-> (p1p2,33,3) -t1-> (p2p3,33,3)
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) -t1-> (p3p4,31.3,3) -t0-> (p1p2,33,3) -t1-> (p2p3,33,3) -t2-> (p3p4,35,5)
Firing Sequences (p1p2,00,0) -t2-> (p1p4,01.3,1.3) -t1-> (p3p4,31.3,3) -t0-> (p1p2,33,3) -t1-> (p2p3,33,3) -t2-> (p3p4,35,5) -t3-> (p4p5,55,5)
Symbolic Firing Sequences (p1p2,00,0) -t2-> (p1p4,0 1, 1) -t1-> (p3p4, 2 1, 2) -t0-> (p1p2, 3 3, 3) -t1-> (p2p3, 3 4, 4) -t2-> (p3p4, 4 5, 5) -t3-> (p4p5, 5 6, 6) where [1≤ 1≤2] [0≤ 2] [max( 2, 1)≤ 3≤max( 2, 1)] [ 3≤ 2+2] [ 3+2≤ 4] [ 3+1≤ 5≤ 3+2] [ 5≤ 4+2] [ 6= 4+2] [ 6≤max( 4, 5)]
Time processes First attempt [Aura, Lilius 1997] –Time processes are those of the underlying (untimed) Petri net that are consistently dated –Can be defined inductively from the firing sequences
t2(1.3)
t2(1.3) t1(3)
t2(1.3) t1(3) t0(3)
t2(1.3) t1(3) t0(3) t1(3)
t2(1.3) t1(3) t0(3) t1(3) t2(3)
t2(1.3) t1(3) t0(3) t1(3) t2(3) t3(5)
Unfolding Defined as the superimposition (union) of all the time processes (share the common prefixes) t2(1.3) t1(3) t0(3) t1(3) t2(3) t3(5) t1(1) t3(3)
Unfolding Defined as the superimposition (union) of all the time processes (share the common prefixes)
Problem with the symbolic representation Consider the processes built from the sequences t1( 1).t3( 3) and t1( 1).t2( 2).t3( 3) Constraints on t3 are: –[ 1≤2] [ 3= 1+2](first case) –[ 1≤2] [1≤ 2≤2] [ 2≤ 1+2] [ 3= 1+2] [ 3≤max( 1, 2)] The superimposition will provide a disjunction, which will make difficult the extraction of processes in the general case Except for the particular case of Time Extended Free Choice Nets
Event duplication Introduction of read arcs (to preserve concurrency) Efficient concurrent semantics by considering local firing rules
Local States Assume a partition {(Pi)} in mutually exclusive places (simplifies the test of token absence) (p Pi, p = Pi \ {p}) {{p1,p3,p5},{p2,p4,p6}} in our example A maximal (partial) marking is a set of places with one place per each subset of the partition A local state is (lrd stands for “latest reading date”) _
Local Enabling ) _ To minimize the number of read arcs:
Local Firing Rule (M, dob, lrd) -t, ,L-> (M’, dob’, lrd’)
(Extended) Time Processes
t2(1.3,p2)
t2(1.3,p2) t1(3,p1)
t2(1.3,p2) t1(3,p1) t0(3,p3p4)
t2(1.3,p2) t1(3,p1) t0(3,p3p4) t1(3,p1)
t2(1.3,p2) t1(3,p1) t0(3,p3p4) t1(3,p1) t2(3,p2)
t2(1.3,p2) t1(3,p1) t0(3,p3p4) t1(3,p1) t2(3,p2) t3(5,p3p4)
Unfolding Defined as the union of all the time processes Properties: –Unfolding of Time Extended Free Choice Nets is the standard unfolding –Unfolding of Time Nets limited to [0,+ [ is the untimed usual unfolding –The unfolding of disconnected nets remains disconnected
Process extraction
Complete Finite Prefixes Two maximal states are considered equivalent if they have the same marking and the same reduced ages in the places The set of expressions defining the reduced ages in the maximal states of the processes is finite Prefixes are computed incrementally provided a substitution in the firing date expressions
Substitution
Conclusion An original notion of unfolding of Time PN and its finite representation Tries to code the maximum of concurrency in the graphical part Complexity issues are to be worked Other models? (non-safe, networks of Timed Automata, local semantics of time…)