Title: Exploiting user-definable synchronizations in graph transformation
1Exploiting user-definable synchronizationsin
graph transformation
Ivan Lanese Computer Science Department University
of Bologna Italy
2Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
3Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
4Graph transformation
- Graphs used to model system structure
- (Hyper)edges are components
- Nodes are communication channels
- Graph transformation model system evolution
- Rules replace parts of the graph with new parts
- Captures in an intuitive way reconfiguration
5The SHR approach
- Traditional graph transformation (e.g., DPO)
requires to match large subgraphs - Difficult to implement in a distributed setting
- The SHR approach
- Rules (productions) describe the behaviour of
single edges - Productions applied locally
- Synchronization to coordinate different
productions
6Standard SHR presentation
- Algebra to represent graphs
- LTS-based semantics
- Inference rules to derive transitions from
productions - Apt for developing theory
- Induction on the derivation, coinduction
- Difficult to understand
- A transition is a result of many steps of
derivation - Heavy technicalities
7Our SHR presentation
- Set-theoretical presentation of graphs
- LTS-based semantics
- Algorithm to derive the allowed transitions
- Each step corresponds to an intuitive check
- Choice of the productions, verification of the
synchronization constraints, - More easy to guess the resulting transitions
- More easy to program
8More on productions
- Rewrite an edge into a graph preserving the
interface - Many productions can be applied concurrently
- Synchronization constraints must be satisfied
- Mobility can change the interface
9Basics of synchronization mobility
- Productions can execute actions on attached nodes
- Actions executed on each node at each step must
be compatible - Actions can carry nodes as parameters
- Parameters of synchronizing actions may be merged
Synchronization
Mobility
10Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
11The airport case study
- Taken from AGILE project on architectures for
mobility - Models airplanes taking off and landing at
airports and persons traveling using them - Modeled inside AGILE using
- UML extended with mobility primitives
- Synchronized variant of DPO
- We concentrate on a small part of the case study
12Our aim
univ
univ
chk
inPl
inBo
chk
inPl
13Programming using productions (1)
atlte,ltgtgt
inltack,ltatgtgt
atltreq,ltnewatgtgt
chk ltbreq,ltingtgt
inlte,ltgtgt
14Programming using productions (2)
atlte,ltgtgt
chk ltbrd,ltnewatgtgt
Idle productions always available
15Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
16Parametric SHR
- A member of SHR family
- Synchronization and mobility patterns not fixed
but user-definable - Specified using Synchronization Algebras with
Mobility - Allows to use each time the most suitable
synchronization primitives
17Synchronization Algebras with Mobility
- Specify how actions synchronize
- Two at the time, associativity and commutativity
required - From Winskels synchronization algebras
- Partial operator ? for action synchronization
- Action e for not taking part to the
synchronization - Added
- Arities of actions
- Function from parameters of the synchronizing
actions to parameters of the result - Set of final actions
18Milner SAM
- Normal actions, coactions, t, e
- in ? out t
- a ? e a
- Final actions t, e
19Broadcast SAM
- Normal actions, coactions, e
- in ? out out
- in ? in in
- e ? e e
- Final actions out, e
20And many more
- SAMs can be defined for many synchronization
policies - Mutual exclusion
- Priority synchronization
-
- SAMs can be combined
- In the example req and acq interacting using
Milner synchronization and breq and brd
interacting using broadcast
21Applying a SAM
- SAMs used to synchronize tuples of actions ai
carrying parameters pi - If synchronization is allowed we can compute
- A resulting action c
- A substitution s
- A tuple of parameters p
22Applying broadcast
- Broadcast synchronization is allowed if
- at most one action is out
- if there is an e, then all the actions are e
- The result is
- e if all actions are e
- in if all the actions are in (not allowed on
bound nodes) - out otherwise
- Substitution s computed as mgu of equalities
pipj for all i, j - Parameters p computed as pis (any i can be chosen)
23Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
24The algorithm (1)
- One production is chosen for each edge
- Idle production for passenger not checked in
- Productions shown before for other edges
- New nodes are local to productions
- The actions executed on each node x are
synchronized - Action cx, parameters px and substitution sx as
results - If x is bound then cx must be final
25Synchronization in the example
e,ltgt
univ
ack,ltunivgt
inBo
e,ltgt
e,ltgt
req,ltnewatgt
e,ltgt
brd,ltnew1gt
breq,ltinPlgt
chk
e,ltgt
brd,ltnew2gt
inPl
26Synchronization in the example
e
univ
inBo
t
univ/newat
brd,ltnew1gt
breq,ltinPlgt
chk
e
brd,ltnew2gt
inPl
27Synchronization in the example
e
univ
inBo
t
univ/newat
breq,ltinPlgt
chk
e
inPl/new1,inPl/new2
inPl
28The algorithm (2)
- Global substitution s computed by
- Merging the substitutions sx from single nodes
- Final label contain
- The triple ltx, cx, pxsgt for each free x in the
LHS - Final graph computed by
- Merging the RHSs of the productions
- Applying the global substitution s
- Hiding nodes unless free in the LHSs or occurring
in the label - Deleting isolated nodes
29Result of the transition
univ
newat
chk
inBo
inPl
univ/newat, inPl/new1, inPl/new2
30Result of the transition
univ
chk
inBo
inPl
univ/newat, inPl/new1, inPl/new2
31Result of the transition
univ
chk
inBo
inPl
The label is ltx,e,ltgtgt
32Result of the transition
univ
chk
inBo
inPl
All nodes but univ are hidden
33Roadmap
- Synchronized Hyperedge Replacement
- The airport case study
- Parametric SHR
- Computing a transition step-by-step
- Conclusions
34Conclusions
- About SHR
- Powerful graph transformation framework
- Allows to relate local and global views of the
system - About PSHR
- Allows to simplify the specification of complex
transformations - About this presentation of PSHR
- Less suitable for developing theory
- Hopefully more apt for designers/developers
- The two views are (nearly) equivalent the most
suitable can be chosen at each time
35Future work
- I have moved, so Im not sure I will continue
working on this - Some interesting things on SHR under development
- Category of SAMs to compose and compare them
- Applying SHR to QoS
- Abstract semantics for SHR
- One thing that is surely missing
- Implementation of SHR
36End of talk