Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming

Description:

Title: Synchronization strategies for global computing Author: Ivan Lanese Last modified by: Ivan Lanese Created Date: 2/22/1999 11:07:13 AM Document presentation format – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 48
Provided by: IvanL153
Category:

less

Transcript and Presenter's Notes

Title: Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming


1
Mapping Fusion and Synchronized Hyperedge
Replacement into Logic Programming
Dagstuhl Seminar 05081, 20-25 February 2005
Ivan Lanese Dipartimento di Informatica
Università di Pisa
joint work with Ugo Montanari
To be published on a special issue of Theory and
Practice of Logic Programming
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
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
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
Fusion Calculus
  • Process calculus that is an evolution of
    ?-calculus
  • Simpler and more symmetric but also more
    expressive
  • Introduces fusions of names

6
Syntax for Fusion Calculus
  • Agents
  • S?i ?i.Pi
  • P0 S P1P2 (x)P rec X. P X
  • Processes are agents up to a standard structural
  • congruence

7
Reduction semantics
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
Hyperedge Replacement Systems
  • A production describes how the hyperedge L is
    transformed into the graph R

L
R
H
H
3
3
4
4
2
2
1
1
10
Hyperedge Replacement Systems
  • A production describes how the hyperedge L is
    transformed into the graph R

H
Many concurrent rewritings are allowed
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
An example Hoare SHR
  • Hoare synchronization all the edges must
    perform the same action
  • Milner synchronization pairs of edges do
    complementary actions

13
SHR with mobility
14
Logic programming
  • Very quickly
  • Syntax
  • Semantics

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
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
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
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(x1,y1,z1) becomes an edge labelled by
    Q(x1,x2,x3) attached to x1,y1,z1
  • s transformed into amoeboids
  • Each amoeboid connects a group of names merged by
    s

19
Translation by example
x
x1
z1
Q(x1,x2,x3)
y1
z
x2
x3
y
y2
z2
z3
u2
u1
w1
u3
x1x2x3.S(x4,x5)
u
w2
w
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
A sample production
x2
x3
?
y2
u2
u1
out2x2y2
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
Q

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
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
Translation by example
x
Q(x1,x2,x3)
z
y
out x2 y2
x1x2x3.S(x4,x5)
u
in z2 w1
w
26
Translation by example
x
Q(x1,x2,x3)
z
y
R(x1,x2)
S(x1,x2)
u
w
27
Summary Fusion Calculus vs HSHR
  • Fusion Hoare SHR
  • Closed process Graph
  • Sequential process Hyperedge
  • Name Amoeboid
  • Prefix Action
  • Prefix execution Production
  • Reduction Transition

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
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
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
Synchronized clauses
  • Clauses with syntactic restrictions
  • bodies are goal-graphs
  • heads are A(t1,,tn) where ti is either a
    variable or a single function symbol applied to
    variables

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
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
An example (simpler than Fusion)
C(x,y)?C(x,z),C(z,y)
r ltwgt
y
y
C(r(x,w),r(y,w))?S(y,w)
C
S
(w)
x
x
r ltwgt
35
Dynamics
36
Dynamics
37
Summary HSHR vs SLP
  • Hoare SHR SLP
  • Graph Goal
  • Hyperedge Atom
  • Node Variable
  • Parallel comp. AND comp.
  • Action Function sym.
  • Production Clause
  • Transition Big-step

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
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
Future work
  • Analyzing different name-handling mechanisms
  • In p 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
End of talk
Thanks
Questions?
42
A textual notation for graphs
  • Ring Example

x,y,w,z C(x,w) C(w,y) C (y,z) C(z,x)
?
43
Transitions as judgements
  • Transitions

?
?
? G1 ?? ?,??,?I G2
?
? ? ? (A x N ) (x, a , y) ? ? if ? (x)
(a , y)
?? 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
Transitions as judgements
  • Productions

?
x1,,xn L(x1,,xn) ?? x1,,xn , ??, ?I G
?
?
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
Textual representation for productions
(x,e,ltgt)(y,e,ltgt)
?
x, y
?
C(x,y)
x, y, z
.C(x,z) C(z,y)
r ltwgt
y
y
C
S
(w)
x
x
r ltwgt
,
(x,r,ltwgt)(y,r,ltwgt)
?
?
x, y
x, y
S(w,y)
C(x,y)
46
From SHR to SLP
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)(PQ) if x not free in P
  • rec X.PPrec X.P/X
Write a Comment
User Comments (0)
About PowerShow.com