Exploiting user-definable synchronizations in graph transformation - PowerPoint PPT Presentation

About This Presentation
Title:

Exploiting user-definable synchronizations in graph transformation

Description:

Graphs used to model system structure (Hyper)edges are components ... The triple x, cx, pxs for each free x in the LHS. Final graph computed by ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 37
Provided by: IvanL3
Category:

less

Transcript and Presenter's Notes

Title: Exploiting user-definable synchronizations in graph transformation


1
Exploiting user-definable synchronizationsin
graph transformation
Ivan Lanese Computer Science Department University
of Bologna Italy
2
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

3
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

4
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

5
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

6
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

7
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

8
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

9
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
10
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

11
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

12
Our aim
univ
univ
chk
inPl
inBo
chk
inPl
13
Programming using productions (1)
atlte,ltgtgt
inltack,ltatgtgt
atltreq,ltnewatgtgt
chk ltbreq,ltingtgt
inlte,ltgtgt
14
Programming using productions (2)
atlte,ltgtgt
chk ltbrd,ltnewatgtgt
Idle productions always available
15
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

16
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

17
Synchronization 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

18
Milner SAM
  • Normal actions, coactions, t, e
  • in ? out t
  • a ? e a
  • Final actions t, e

19
Broadcast SAM
  • Normal actions, coactions, e
  • in ? out out
  • in ? in in
  • e ? e e
  • Final actions out, e

20
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

21
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 s
  • A tuple of parameters p

22
Applying 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)

23
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

24
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 sx as
    results
  • If x is bound then cx must be final

25
Synchronization 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
26
Synchronization in the example
e
univ
inBo
t
univ/newat
brd,ltnew1gt
breq,ltinPlgt
chk
e
brd,ltnew2gt
inPl
27
Synchronization in the example
e
univ
inBo
t
univ/newat
breq,ltinPlgt
chk
e
inPl/new1,inPl/new2
inPl
28
The 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

29
Result of the transition
univ
newat
chk
inBo
inPl
univ/newat, inPl/new1, inPl/new2
30
Result of the transition
univ
chk
inBo
inPl
univ/newat, inPl/new1, inPl/new2
31
Result of the transition
univ
chk
inBo
inPl
The label is ltx,e,ltgtgt
32
Result of the transition
univ
chk
inBo
inPl
All nodes but univ are hidden
33
Roadmap
  • Synchronized Hyperedge Replacement
  • The airport case study
  • Parametric SHR
  • Computing a transition step-by-step
  • Conclusions

34
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

35
Future 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

36
End of talk
  • Thanks
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com