Download presentation
Presentation is loading. Please wait.
1
1 CoMeta, final workshop, 15-16-17/12/2003 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari A graphical Fusion Calculus Joint work with:
2
2 CoMeta, final workshop, 15-16-17/12/2003 Roadmap Aims Fusion Calculus Synchronized Hyperedge Replacement Mapping Fusion Calculus into SHR Beyond SHR: logic programming Conclusion
3
3 CoMeta, final workshop, 15-16-17/12/2003 Aims of the work Give a more intuitive presentation for Fusion Calculus Applying process calculi to distributed systems is not intuitive because of: –Interleaving semantics –The same operators describes topology and allowed behaviours Comparing two apparently quite different formalisms: Fusion Calculus and Synchronized Hyperedge Replacement –Extending a similar work on π-calculus (Hirsch)
4
4 CoMeta, final workshop, 15-16-17/12/2003 Fusion Calculus vs SHR: an overview Fusion CalculusSHR Process calculusGraph transformation Algebraic modelGraphical representation (but also algebraic notation...) InterleavingConcurrent Milner synchronizationDifferent allowed synchronization models
5
5 CoMeta, final workshop, 15-16-17/12/2003 Fusion Calculus It is an evolution of -calculus Simpler and more symmetric but also more expressive Introduce fusion of names
6
6 CoMeta, final workshop, 15-16-17/12/2003 Syntax for Fusion Calculus Agents: S::= i i.P i P::=0 | S | P 1 |P 2 | (x)P | rec X. P | X
7
7 CoMeta, final workshop, 15-16-17/12/2003 Structural congruence Process: agent up-to the following laws: –| and + are associative, commutative and with 0 as unit – -conversion –(x)0 = 0, (x)(y)P=(y)(x) P –P|(x)Q=(x)(P|Q) if x not free in P –rec X.P=P[rec X.P/X]
8
8 CoMeta, final workshop, 15-16-17/12/2003 SOS semantics PREF PAR COM SUM PASS SCOPE STRUCT OPEN
9
9 CoMeta, final workshop, 15-16-17/12/2003 Graph transformation Graphs naturally represent the topology of the system Synchronized Hyperedge Replacement for modeling computation, synchronization, reconfiguration Powerful metamodel: –Different process calculi: Ambient, π,... –Software architecture –...
10
10 CoMeta, final workshop, 15-16-17/12/2003 SHR: a 2 step approach Productions to describe the behaviour of single hyperedges: –Local effects (easyer to implement) –Hyperedges rewritten into generic graphs –Constraints on surrounding nodes Global constraint-solving algorithm: –Allows to define complex transformations
11
11 CoMeta, final workshop, 15-16-17/12/2003 Edge Replacement Systems A production describes how the hyperedge L is rewritten into the graph R R 1 2 3 4 L 1 2 3 4 H
12
12 CoMeta, final workshop, 15-16-17/12/2003 Edge Replacement Systems A production describes how the hyperedge L is transformed into the graph R R R’ 1 2 3 4 1 2 3 Many concurrent rewritings are allowed L L’ 1 2 3 4 1 2 3 H
13
13 CoMeta, final workshop, 15-16-17/12/2003 Synchronized Hyperedge Replacement Synchronized rewritings: we associate actions to surrounding nodes. A rewriting is allowed iff the synchronization constraints associated to nodes are satisfied Many synchronization models are possible (Hoare, Milner,...)
14
14 CoMeta, final workshop, 15-16-17/12/2003 Synchronized Hyperedge Replacement Milner synchronization: pair of edges can synchronize by doing complementary actions a a a 3 3 B1A1 B2A2
15
15 CoMeta, final workshop, 15-16-17/12/2003 SHR with mobility a (x) (y) B1A1 a ~ a B2A2 a a x= y – Actions carry tuple of references to nodes (new or already existant) – References associated to synchronized actions are matched and corresponding nodes are merged We introduce name mobility
16
16 CoMeta, final workshop, 15-16-17/12/2003 Example b) x C Brother C C C C C C CCC (4)(3)(2)(1) Star Rec. S S SS (5) x Initial Graph C Brother: C C C CS Star Reconfiguration: (w) r(w)
17
17 CoMeta, final workshop, 15-16-17/12/2003 x,y z, w. C(x,w) | C(w,y) | C (y,z) | C(z,x) Algebraic notation for graphs Example: ring w z
18
18 CoMeta, final workshop, 15-16-17/12/2003 : (A x N* ) (x, a, y) if (x) = (a, y) Associate to each external node its action and its tuple of names : is an idempotent substitution (forces some merges on nodes) Rewritings as syntactic judgements Rewriting: G 1 G 2 ,,
19
19 CoMeta, final workshop, 15-16-17/12/2003 Rewritings as syntactic judgements x 1,…,x n L(x 1,…,x n ) G Productions ,, Rewritings generated from productions by applying a suitable set of inference rules (determined by the synchronization model) Derivations 0 G 0 1 G 1 … n G n 1,11,1 2,22,2 n,nn,n
20
20 CoMeta, final workshop, 15-16-17/12/2003 Fusion Calculus vs SHR FusionSHR ProcessesGraphs Sequential processesHyperedges NamesNodesParallel comp. ScopeRestriction TransitionsRewritings
21
21 CoMeta, final workshop, 15-16-17/12/2003 Translation Using structural congruence we can avoid recursion at top-level
22
22 CoMeta, final workshop, 15-16-17/12/2003 Productions One for each possible action of a standard process
23
23 CoMeta, final workshop, 15-16-17/12/2003 Correspondence theorem We use special rules to force an interleaving behaviour in SHR Bijective correspondence between transitions and rewritings
24
24 CoMeta, final workshop, 15-16-17/12/2003 Example With normal SHR we can execute both the steps at the same time
25
25 CoMeta, final workshop, 15-16-17/12/2003 Beyond SHR: logic programming Logic programming is a well developed programming paradigm –Useful for implementation purposes Which logic programming? –Not only refutations but general partial computation –Limit logic programming to have a correspondence between it and SHR systems: Synchronized Logic Programming »Can be meta-interpreted into standard logic programming
26
26 CoMeta, final workshop, 15-16-17/12/2003 The correspondence Correspondence between SHR with Hoare synchronization and Synchronized Logic Programming –Do you remember last year presentation? SHRSLP GraphsGoals NodesVariables ProductionsClauses TransitionsBig-steps SynchronizationUnification
27
27 CoMeta, final workshop, 15-16-17/12/2003 Synchronized Logic Programming Graphs are goals without functional symbols and constants Big-steps: sequence of SLD steps between “graphs” Functional symbols for modeling actions (unification for synchronization) Logic programming has no restriction operator: we can introduce it
28
28 CoMeta, final workshop, 15-16-17/12/2003 From fusion to logic programming One further step is needed: –Implementing Milner synchronization using Hoare synchronization –Not so easy in a mobile environment –Auxiliary structures for implementing Milner nodes
29
29 CoMeta, final workshop, 15-16-17/12/2003 Conclusion Fusion Calculus a “subcalculus” of interleaving Milner SHR –Essentially two kinds of actions –One action at the time Graphical representation for Fusion Calculus –Separation between topology of the system and behaviour Cross-fertilization between the two models: –Concurrent semantics for Fusion Calculus –Extension of hyperequivalence to general SHR rewritings –Changing the synchronization model of Fusion Calculus
30
30 CoMeta, final workshop, 15-16-17/12/2003 Example
31
31 CoMeta, final workshop, 15-16-17/12/2003 Recursion example Production: Corresponding rewriting:
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.