View
215
Download
0
Tags:
Embed Size (px)
Citation preview
1
Ivan LaneseComputer Science Department
University of BolognaItaly
Exploiting user-definable synchronizationsin graph transformation
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR
Computing a transition step-by-step
Conclusions
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR
Computing a transition step-by-step
Conclusions
Graph 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
The 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
Standard 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
Our 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
More 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
at
chk L
at
chkR S
Basics 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
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR• Computing a transition step-by-step • Conclusions
The 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
Our aim
univ univ
inBoinBo
chk
chk
inPl
inPl
Programming using productions (1)
at:<req,<newat>>
in:<ε,<>>
chk:<breq,<in>>
newat
in
chk at
at:<ε,<>>
in:<ack,<at>>
at
in
Programming using productions (2)
at:<ε,<>>
chk:<brd,<newat>>
newat
chk at
Idle productions always available
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR
Computing a transition step-by-step
Conclusions
Parametric 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
Synchronization Algebras with Mobility
Specify how actions synchronize– Two at the time, associativity and commutativity required
From Winskel’s synchronization algebras– Partial operator ● for action synchronization
– Action ε 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
Milner SAM
Normal actions, coactions, τ, ε
in ● out = τ
a ● ε = a
Final actions: τ, ε
in out τ
a ε a
Broadcast SAM
Normal actions, coactions, ε
in ● out = out
in ● in = in
ε ● ε = ε
Final actions: out, ε
in out out
in in in
And 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
Applying a SAM
SAMs used to synchronize tuples of actions a i
carrying parameters pi
If synchronization is allowed we can compute
– A resulting action c
– A substitution σ
– A tuple of parameters p
Applying broadcast
Broadcast synchronization is allowed if – at most one action is “out”
– if there is an ε, then all the actions are ε
The result is – ε if all actions are ε
– “in” if all the actions are “in” (not allowed on bound nodes)
– “out” otherwise
Substitution σ computed as mgu of equalities pi=pj for all i, j
Parameters p computed as piσ (any i can be chosen)
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR
Computing a transition step-by-step
Conclusions
The 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 σx as results
If x is bound then cx must be final
Synchronization in the example
univ
inBo
chk
inPl
ε,<>
ack,<univ>ε,<>ε,<>
ε,<>req,<newat>
ε,<>
breq,<inPl>brd,<new1>
brd,<new2>
Synchronization in the example
univ
inBo
chk
inPl
ε
τ
ε
breq,<inPl>brd,<new1>
brd,<new2>
univ/newat
Synchronization in the example
univ
inBo
chk
inPl
ε
τ
ε
breq,<inPl>
univ/newat
inPl/new1,inPl/new2
The algorithm (2)
Global substitution σ computed by
– Merging the substitutions σx from single nodes
Final label contain
– The triple <x, cx, pxσ> for each free x in the LHS
Final graph computed by– Merging the RHSs of the productions
– Applying the global substitution σ
– Hiding nodes unless free in the LHSs or occurring in the label
– Deleting isolated nodes
Result of the transition
univ
inBo
newat
inPl
chk
new1 new2
univ/newat, inPl/new1, inPl/new2
Result of the transition
univ
inBoinPl
chk
univ/newat, inPl/new1, inPl/new2
Result of the transition
univ
inBoinPl
chk
The label is <x,ε,<>>
Result of the transition
univ
inBoinPl
chk
All nodes but univ are hidden
Roadmap
Synchronized Hyperedge Replacement
The airport case study
Parametric SHR
Computing a transition step-by-step
Conclusions
Conclusions
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
Future work
I have moved, so I’m 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
End of talk