360 likes | 493 Views
Exploiting user-definable synchronizations in graph transformation. Ivan Lanese Computer Science Department Univers ity of Bologna Italy. Roadmap. Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions. Roadmap.
E N D
Exploiting user-definable synchronizationsin graph transformation Ivan Lanese Computer Science Department University of Bologna Italy
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
at at R S L chk chk 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
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
inBo Our aim univ univ chk inPl inBo chk inPl
at in newat at chk in Programming using productions (1) at:<ε,<>> in:<ack,<at>> at:<req,<newat>> chk: <breq,<in>> in:<ε,<>>
newat chk at Programming using productions (2) at:<ε,<>> chk: <brd,<newat>> 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
τ in out a a ε Milner SAM • Normal actions, coactions, τ, ε • in ● out = τ • a ● ε = a • Final actions: τ, ε
out in out in in in Broadcast SAM • Normal actions, coactions,ε • in ● out = out • in ● in = in • ε●ε = ε • Final actions: out, ε
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 ai 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 ack,<univ> inBo ε,<> ε,<> req,<newat> ε,<> brd,<new1> breq,<inPl> chk ε,<> brd,<new2> inPl
Synchronization in the example ε univ inBo τ univ/newat brd,<new1> breq,<inPl> chk ε brd,<new2> inPl
Synchronization in the example ε univ inBo τ univ/newat breq,<inPl> chk ε inPl/new1,inPl/new2 inPl
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
new1 new2 Result of the transition univ newat chk inBo inPl univ/newat, inPl/new1, inPl/new2
Result of the transition univ chk inBo inPl univ/newat, inPl/new1, inPl/new2
Result of the transition univ chk inBo inPl The label is <x,ε,<>>
Result of the transition univ chk inBo inPl 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 Thanks Questions?