Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.

Similar presentations


Presentation on theme: "1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università."— Presentation transcript:

1 1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #05081, 20-25 February 2005 To be published on a special issue of Theory and Practice of Logic Programming

2 2 Roadmap Lot of background –Fusion Calculus –Synchronized Hyperedge Replacement –Logic programming From Fusion Calculus to Hoare SHR From Hoare SHR to logic programming Conclusions

3 3 Motivations Many models proposed for global computing systems Each model has its strengths and its weaknesses Comparing different models –To understand the relationships among them –To devise new (hybrid) models Cannot analyze all the models, naturally…

4 4 Roadmap Lot of background –Fusion Calculus –Synchronized Hyperedge Replacement –Logic programming From Fusion Calculus to Hoare SHR From Hoare SHR to logic programming Conclusions

5 5 Fusion Calculus Process calculus that is an evolution of  - calculus Simpler and more symmetric but also more expressive Introduces fusions of names

6 6 Syntax for Fusion Calculus Agents: S::=  i  i.P i P::=0 | S | P 1 |P 2 | (x)P | rec X. P | X Processes are agents up to a standard structural congruence

7 7 Reduction semantics

8 8 Synchronized Hyperedge Replacement Follows the approach of graph transformation (Hyper)edges are systems connected through common nodes Productions describe the evolution of single edges –Local effect, easy to implement Productions are synchronized via constraints on nodes –Global constraint solving algorithm to find allowed transitions –Productions applied indipendently –Allows to define complex transformations

9 9 Hyperedge Replacement Systems A production describes how the hyperedge L is transformed into the graph R R 1 2 3 4 L 1 2 3 4 HH

10 10 Hyperedge 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 H

11 11 Synchronizing productions Productions associate actions to nodes A transition is allowed iff the synchronization constraints imposed on actions are satisfied Many synchronization models are possible (Hoare, Milner,...)

12 12 An example: Hoare SHR Hoare synchronization: all the edges must perform the same action Milner synchronization: pairs of edges do complementary actions a B1A1 B2A2 3 3 a a a

13 13 SHR with mobility – Actions carry tuples of references to nodes (new or already existent) – References associated to synchronized actions are matched and corresponding nodes are merged We use name mobility a B1A1 B2A2 a (x)(y) x=y

14 14 Very quickly… l Syntax l Semantics Logic programming

15 15 Roadmap Lot of background –Fusion Calculus –Synchronized Hyperedge Replacement –Logic programming From Fusion Calculus to Hoare SHR From Hoare SHR to logic programming Conclusions

16 16 From Fusion to HSHR We separate the topological structure (graph) from the behaviour (productions) We give a visual representation to processes –Processes translated into graphs –Sequential processes become hyperedges –Names become structures called amoeboids Our approach deals only with closed processes

17 17 Translation by example We take agents in standard form –restrictions with inside parallel composition of sequential agents We transform it into a linear agent + substitution

18 18 Translation by example We translate the process into a graph –Each linear agent becomes an edge labelled with a copy of the agent with standard names »Q(x 1,y 1,z 1 ) becomes an edge labelled by Q(x 1,x 2,x 3 ) attached to x 1,y 1,z 1 –σ transformed into amoeboids »Each amoeboid connects a group of names merged by σ

19 19 Translation by example Q(x 1,x 2,x 3 ) x 1 x 2 x 3.R(x 4,x 5 ) x 1 x 2 x 3.S(x 4,x 5 ) x u w z y x1x1 y1y1 z1z1 u1u1 x2x2 y2y2 u2u2 x3x3 u3u3 z2z2 z3z3 w2w2 w1w1

20 20 Dynamics We have actions for input and output prefixes Productions for process edges –Correspond to executions of prefixes of normalized linear agents –Prefixes modeled by corresponding SHR actions –RHS contains the translation of the resulting sequential process –Fusions implemented by connecting nodes via amoeboids

21 21 A sample production x 1 x 2 x 3.R(x 4,x 5 ) u1u1 x2x2 y2y2 u2u2 x3x3 R(x 1,x 2 ) x2x2 y2y2 u2u2 x3x3 u1u1 out 2 x 2 y 2 

22 22 What is an amoeboid? Amoeboids must allow two complementary actions on the interface and create new amoeboids connecting corresponding names Connected amoeboids are merged P x Q y in x out y P Q =

23 23 Implementing amoeboids in HSHR Amoeboids implemented as networks of edges with a particular structure –composed essentially by edges that act as routers –each internal node is shared by two edges –some technical conditions Satisfy the desired properties but… –interleaving must be imposed from the outside –produce some garbage (disconnected from the system)

24 24 Correspondence theorem Reductions of fusion processes correspond to (interleaving) HSHR transitions –up to garbage –up to equivalence of amoeboids that does not change the behaviour The correspondence can be extended to computations

25 25 Translation by example Q(x 1,x 2,x 3 ) x 1 x 2 x 3.R(x 4,x 5 ) x 1 x 2 x 3.S(x 4,x 5 ) x u w z y out x 2 y 2 in z 2 w 1

26 26 Translation by example Q(x 1,x 2,x 3 ) R(x 1,x 2 ) S(x 1,x 2 ) x u w z y

27 27 Summary : Fusion Calculus vs HSHR FusionHoare SHR Closed processGraph Sequential processHyperedge NameAmoeboid PrefixAction Prefix executionProduction Reduction Transition

28 28 Roadmap Lot of background –Fusion Calculus –Synchronized Hyperedge Replacement –Logic programming From Fusion Calculus to Hoare SHR From Hoare SHR to logic programming Conclusions

29 29 From Hoare SHR to logic programming Useful for implementation purposes Logic programming as goal rewriting engine Very similar syntax (with the textual representation for HSHR) Logic programming allows for many execution strategies and data structures  we need some restrictions –limited function nesting –synchronized execution We define Synchronized Logic Programming (SLP)

30 30 Synchronized Logic Programming A transactional version of logic programming (in the zero-safe nets style) Safe states are goals without function symbols (goal-graphs) Transactions are sequences of SLD steps During a transaction each atom can be rewritten at most once Transactions begin and end in safe states Transactions are called big-steps A computation is a sequence of big-steps

31 31 Synchronized clauses Clauses with syntactic restrictions –bodies are goal-graphs –heads are A(t 1,…,t n ) where t i is either a variable or a single function symbol applied to variables

32 32 HSHR vs logic programming Graphs translated to goal-graphs –edges modeled by predicates applied to the attachment nodes Productions are synchronized clauses Transitions are matched by big-steps Actions are implemented by function symbols –the constraint that all function symbols have to be removed corresponds to the condition for Hoare synchronization –names are the arguments of the function symbol –we choose the first one to represent the new name for the node where the interaction is performed (needed since substitutions are idempotent) –fusions performed by unification

33 33 Correspondence theorem Correspondence between HSHR transitions and big-steps An injective (at each step) substitution keeps track of the correspondence between HSHR nodes and logic programming variables

34 34 An example (simpler than Fusion…) y C x y C z C x y C x y S x r (w) C(x,y)←C(x,z),C(z,y) C(r(x,w),r(y,w))←S(y,w)

35 35 Dynamics x C C C C C C C CCC S S SS

36 36 Dynamics x C C C C C C C CCC S S SS

37 37 Summary : HSHR vs SLP Hoare SHR SLP GraphGoal HyperedgeAtom NodeVariable Parallel comp.AND comp. ActionFunction sym. ProductionClause TransitionBig-step

38 38 Roadmap Lot of background –Fusion Calculus –Synchronized Hyperedge Replacement –Logic programming From Fusion Calculus to Hoare SHR From Hoare SHR to logic programming Conclusions

39 39 Conclusions Many relations among the three models –similar underlying structure (e.g. parallel composition) –name generations ability –fusions Distinctive features –Fusion: same structure for system and elementary actions, interleaving semantics, Milner synchronization, restriction –HSHR: distributed parallel computations, Hoare synchronization, synchronous execution –SLP: Hoare synchronization, asynchronous execution engine

40 40 Future work Analyzing different name-handling mechanisms –In π calculus bound names are guarenteed distinct –Useful for analyzing protocols (nonces, key generation) Hybrid models –Different synchronizations for Fusion or logic programming –Process calculi with unification (of terms) –Logic programming with restriction Logic programming for implementation purposes –For HSHR systems –For Fusion Calculus

41 41 End of talk

42 42 x,y,w,z C(x,w) | C(w,y) | C (y,z) | C(z,x)  A textual notation for graphs Ring Example w z

43 43  :   (A x N* ) (x, a, y)   if  (x) = (a, y) Transitions as judgements Transitions  G 1  ,  ,   G 2      is the set of new names that are used in synchronization   = {z |  x.  (x) = (a, y), z  , z  set(y)}  I contains new internal names

44 44 Transitions as judgements Computations  0 G 0   1 G 1  …   n G n   11 22 nn  x 1,…,x n L(x 1,…,x n )  x 1,…,x n,  ,  I G Productions    Names can be merged (and new names can be added) Identity productions are always available Transitions are generated from the productions by applying the transition rules for the chosen synchronization model

45 45 Textual representation for productions y C x y C z C x  x, y C(x,y) (x,ε,<>)(y,ε,<>) x, y, z.C(x,z) | C(z,y)     y C x y S x r (w) x, y C(x,y) (x,r, )(y,r, ), x, y S(w,y)

46 46 From SHR to SLP

47 47 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]


Download ppt "1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università."

Similar presentations


Ads by Google