KSE 2014 October 10th, 2014 Hanoi Modelling Timed Concurrent Systems Using Activity Diagram Patterns Étienne André, Christine Choppy, Thierry Noulamo ∗ Université Paris 13, Sorbonne Paris Cité, LIPN, CNRS, France ∗ University of Dschang, IUT Fotso Victor, LAIA, Bandjoun, Cameroun André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 1 / 20
Introduction Introduction Activity diagrams: rich, permissive syntax, favours mistakes Semantics in natural language prevents formal verification André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 2 / 20
Introduction Introduction Activity diagrams: rich, permissive syntax, favours mistakes Semantics in natural language prevents formal verification Our contributions Activity diagram patterns: TADC (Timed Activity Diagram Components) Modular composition mechanism (also refinement) Semantics with time Petri nets André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 2 / 20
Outline Outline 1 Timed Activity Diagrams Patterns Translation into Time Petri Nets 2 Conclusion and Perspectives 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 3 / 20
Timed Activity Diagrams Patterns Outline 1 Timed Activity Diagrams Patterns Translation into Time Petri Nets 2 Conclusion and Perspectives 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 4 / 20
Timed Activity Diagrams Patterns UML Activity Diagrams UML Activity Diagrams initial node, activity/flow final nodes, decision nodes (guards), fork/join nodes Global variables typed with finite domains (e.g. enumerated types) Activities may involve global variables discrete, instantaneous modifications (assignment, function call with side-effects) André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 5 / 20
Timed Activity Diagrams Patterns Timed Activity Diagram Components Timed Activity Diagram Components (TADC) input connectors, output connectors “well-formed” activity diagrams, restricted construct set, adding timed constructs modular specification with possible refinement inductive mechanism n 1 2 TADC m 1 2 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 6 / 20
Timed Activity Diagrams Patterns 10 TADC patterns 10 TADC patterns initial node, flow final node, simple activity . . . André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 7 / 20
Timed Activity Diagrams Patterns 10 TADC patterns 10 TADC patterns initial node, flow final node, simple activity . . . sequence, non-deterministic delay, deterministic delay, deadline, TADC 1 input connectors = TADC 1 input connectors TADC 2 output connectors = TADC 2 output connectors sequence André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 7 / 20
Timed Activity Diagrams Patterns 10 TADC patterns 10 TADC patterns initial node, flow final node, simple activity . . . sequence, non-deterministic delay, deterministic delay, deadline, TADC 1 TADC 1 TADC 1 TADC 1 [ 0, d ] � d � A � d TADC 2 TADC 2 TADC 2 deterministic non-determi- sequence TADC 2 TADC 3 delay d ∈ R ≥ 0 -nistic delay deadline André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 8 / 20
Timed Activity Diagrams Patterns 10 TADC patterns 10 TADC patterns initial node, flow final node, simple activity . . . sequence, non-deterministic delay, deterministic delay, deadline, TADC 1 TADC 1 execution activity A A � d TADC 2 starts after at most d units of time alternatively, TADC 3 starts after exactly d units TADC 2 TADC 3 of time deadline André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 9 / 20
Timed Activity Diagrams Patterns 10 TADC patterns 10 TADC patterns (followed) decision, merge, synchronisation (cf UML) TADC TADC 1 TADC n TADC 1 TADC n · · · · · · ] d 1 n o c [ [ c o n d n TADC TADC ′ TADC ′ ] · · · 1 m TADC 1 TADC n · · · merge synchronisation decision André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 10 / 20
Translation into Time Petri Nets Outline 1 Timed Activity Diagrams Patterns Translation into Time Petri Nets 2 Conclusion and Perspectives 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 11 / 20
Translation into Time Petri Nets Time Petri Nets Time Petri Nets [Merlin, 1974] with global variables A kind of automaton Bipartite graph with places (“standard” tokens) and transitions Transitions associated with a firing interval Enabled (tokens present) transitions must fire at the end of their firing interval (unless meanwhile disabled by another transition) Global variables typed by a finite domain, used to express guards, updated when transition fired Global variables: syntactic extension only Note: Time Petri Nets with global variable: similarities with coloured Petri nets p 1 [ 1, 3 ] {¬ b } [ 2, 4 ] i := i + i p 2 p 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 12 / 20
Translation into Time Petri Nets Time Petri Nets Time Petri Nets [Merlin, 1974] with global variables A kind of automaton Bipartite graph with places (“standard” tokens) and transitions Transitions associated with a firing interval Enabled (tokens present) transitions must fire at the end of their firing interval (unless meanwhile disabled by another transition) Global variables typed by a finite domain, used to express guards, updated when transition fired Global variables: syntactic extension only Note: Time Petri Nets with global variable: similarities with coloured Petri nets p 1 p 1 bT bF i [ 1, 3 ] {¬ b } [ 2, 4 ] i := i + i [ 1, 3 ] [ 2, 4 ] p 2 p 3 p 2 p 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 12 / 20
Translation into Time Petri Nets Translation mechanism Translation mechanism each TADC is translated into a TPN fragment where the connectors are translated into places two TPN fragments can be composed by fusing the corresponding connector places together simple activity: TPN transition connected to input and output places (to be used for composition) A action /action assignments are easily translated functions involving a user input → non-deterministic choice André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 13 / 20
Translation into Time Petri Nets Translation mechanism Translation mechanism (cont’d) Deterministic delay Tr ( TADC 1 ) TADC 1 [ d, d ] � d Tr ( TADC 2 ) TADC 2 → André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 14 / 20
Translation into Time Petri Nets Translation mechanism Translation mechanism (cont’d) Deadline Tr ( TADC 1 ) TADC 1 A � d [ 0, d ] [ d, d ] Tr ( TADC 2 ) Tr ( TADC 3 ) TADC 2 TADC 3 → André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 15 / 20
Translation into Time Petri Nets Translation mechanism Translation mechanism (cont’d) Decision TADC Tr ( TADC ) ] d 1 [ cond 1 ] [ cond n ] n o c [ [ c o n d n ] Tr ( TADC 1 ) Tr ( TADC n ) TADC 1 TADC n · · · · · · → André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 16 / 20
Conclusion and Perspectives Outline 1 Timed Activity Diagrams Patterns Translation into Time Petri Nets 2 Conclusion and Perspectives 3 André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 17 / 20
Conclusion and Perspectives Conclusion Activity diagram patterns with timed constructs for modular composition Semantics in terms of time Petri nets [André et al., 2013] : “precise” activity diagram patterns to model business processes, modular, coloured Petri nets semantics Here: focus on time extension, less restrictive patterns (arbitrary number of input and output connectors), easier to “plug in” a higher level scheme. André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 18 / 20
Conclusion and Perspectives Conclusion Element [UML, 2013] [André et al., 2013] This work Activities Yes Yes Yes Data Limited Yes Limited Participants Limited Yes No Initial / final nodes Yes Yes Yes Decision Yes Restricted Yes Merge Yes Restricted Yes Fork Yes Restricted Yes Join Yes Restricted Yes Timed transitions Limited No Yes Table: Summary of the syntactic aspects considered André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 19 / 20
Conclusion and Perspectives Perspectives Enrich with more complex features, e.g., timed synchronization of activities Refinement Tool ... André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 20 / 20
Bibliography Bibliography André, Choppy, Noulamo (Paris13/Dschang) Activity Diagram Patterns Oct 10th, 2014 21 / 20
Recommend
More recommend