Title: Synchronization strategies for global computing models
1Synchronization strategiesfor global computing
models
Ph.D. thesis discussion
Ivan Lanese Computer Science Department University
of Pisa (moved to Bologna)
Supervisor prof. Ugo Montanari
2Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
3Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
4What is global computing?
- Essentially networks deployed on huge areas
- Global computing systems quite common nowadays
- Internet, wireless communication networks,
overlay networks
5Features of global computing systems
- Distribution
- Localities may have a semantic meaning
- Heterogeneity
- Interoperability, coordination
- Mobility
- Openness
- Reconfigurability
- Non-functional requirements
6Formal methods for GC
- Building models of the system
- Old aims
- Concentrate on a particular aspect
- Abstract from details
- Analyze the properties of the system before
building it - But new approaches/tools must be used
- Mobility and non-functional requirements must be
modeled explicitly - Need for compositionality
- Need for more abstraction
7High level models
- Models of coordination among components
- Components interact via interfaces
- Declarative specification of synchronization
constraints - Possible evolutions derived as solution of system
of constraints - Single components may be complex
- We need powerful primitives
- Multiple synchronizations
- Abstractions of full protocols
8Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
9Why comparing models?
- Different models for GC exist
- Process calculi, graphs, UML, categorical models
- Each model has strengths and weaknesses
- Compare models to
- Find strengths and weaknesses
- Combine the strengths
- Categorize them
- Move some steps toward a (maybe) unique model
10Which comparisons?
- N models ? 2N comparisons
- Must select some representatives
- Show at a first sight some interesting
connections - We have chosen
- Logic programming
- A graph transformation framework SHR
- A process calculus Fusion Calculus
11Logic programming
- Traditionally language for AI and problem solving
- In the GC scenario seen as goal rewriting
framework - Unification as synchronization primitive
- Focus on partial computations
12Long background on SHR
13Very short background on SHR
- Graph transformation formalism
- Productions specify the behaviour of edges
- Synchronization via actions on common nodes
- Hoare, Milner
- Mobility by creating, sending and merging nodes
14Fusion Calculus
- Calculus for mobility inspired by p-calculus
- Input prefix is not a binder
- When input and output interact a name fusion is
generated - The scope of the fusion is determined by an
explicit scope operator - Symmetric input/output
- Arbitrary fusions allowed
- Input of p-calculus obtained as inputscope
- Not fully abstract since more powerful contexts
are available
15Hoare SHR vs logic programming
- Hoare synchronization strictly related to
unification - Strong relation between Hoare SHR and
Synchronized Logic Programming - A subset of logic programming
- No nested functions
- Transactional application of many clauses
- Exploits function symbols for synchronization
- Similar to tokens in zero-places of zero-safe nets
16Summary of the comparison
- Hoare SHR SLP
- Graph Goal
- Hyperedge Atom
- Node Variable
- Parallel comp. AND comp.
- Action Function sym.
- Production Clause
- Transition Transaction
17An example
y
y
C(x,y)?C(x,z),C(z,y)
C
C
x
z
C
x
rltwgt
y
y
C(r(x,w),r(y,w))?S(y,w)
C
S
w
x
x
rltwgt
18Dynamics
S
S
S
19Dynamics
S
S
S
20Main results
- Simple (homomorphic) mapping
- Complete correspondance
- Suggests how to introduce restriction in logic
programming - What about Milner logic programming?
21Milner SHR vs Fusion Calculus
- Many common features
- Synchronization in Milner style
- Mobility using fusions
- LTS semantics
- Straightforward mapping of Fusion into Milner SHR
- SHR adds
- Graphical presentation
- Multiple synchronizations
- Concurrent semantics
22Summary of the comparison
- Fusion Milner SHR
- Processes Graphs
- Sequential processes Hyperedges
- Names Nodes
- Parallel comp. Parallel comp.
- Scope Restriction
- Prefixes Productions
- Transitions Interleaving tr.
23Example
We can also execute both the steps at the same
time
24Main results
- Simple (homomorphic) mapping
- Complete correspondance
- Suggests many generalizations of Fusion
- A concurrent semantics
- PRISMA Calculus
25Milner vs Hoare
- Surprisingly the most difficult step
- Simulating Hoare using Milner
- Must implement n-ary synchronization using binary
synchronization - Simulating Milner using Hoare
- Milner synchronization is asymmetric
- In Milner restriction affects the behaviour, in
Hoare just the observation
26Some results
- Not equivalent in general
- In closed 2-shared graphs Milner is more powerful
than Hoare - Hoare implemented by dropping the distinction
between actions and coactions - A translation of graphs can be used to bridge the
gap in many cases - Amoeboids to simulate synchronization
- Hoare amoeboids are broadcasters
- Milner amoeboids are routers
- Mutual exclusion can not be enforced
- Not a problem in 2-shared graphs
27And so?
- Synchronization and mobility strategies are an
important characteristic of a model - Difficult to simulate a strategy using another
one - Have strategies as parameters of the system
28Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
29Synchronization Algebras with Mobility (1)
- Extend Winskels synchronization algebras to deal
with name mobility and local resources - Allow to have synchronization strategies as
first-class citizens - Can be used to have models with parametric
synchronization policies - Many synchronization policies in the same model
- Different policies can be compared and combined
- Common policies can be expressed as SAMs
- Simple ones Milner, Hoare, broadcast
- More complex ones with priority, treshold
synchronization
30Synchronization Algebras with Mobility (2)
31Synchronization Algebras with Mobility (2)
- SAs specify composition of actions
- (a,a,t) a synchronizes with a producing t
- SAMs also provide
- Arities for actions
- Mapping from parameters of synchronizing actions
to parameters of the result - Fusions among parameters
- Final actions (can be performed on local
channels) - Some more technical stuff
32Sample synchronization
a
b
c
33Milner SAM
- Normal actions, coactions, t, e
- (in, out, t)
- (a, e, a)
- Final actions t, e
34Combining SAMs
- SAMs form a category
- Standard constructions can be used to compose
SAMs - Coproduct makes different protocols available
- Product applies two protocols in parallel
35Parametric SHR
- The SAM is a parameter of the model
- Different models obtained via instantiation
- Allows to recover Hoare and Milner SHR
- and to easily define new models
- Properties can be proved in general
- Allows to highlight relations between properties
of SAMs and properties of the model
36The 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
37Take-off transition
univ
univ
chk
inPl
inBo
chk
inPl
38Specifying the transition (1)
atlte,ltgtgt
inltack,ltatgtgt
atltreq,ltnewatgtgt
chk ltbreq,ltingtgt
inlte,ltgtgt
39Specifying the transition (2)
atlte,ltgtgt
chk ltbrd,ltnewatgtgt
40Synchronization in the example
e,ltgt
univ
- Can be obtained using as SAM
- the coproduct of
- Milner SAM for req and ack
- Broadcast SAM for breq and brd
ack,ltunivgt
inBo
e,ltgt
e,ltgt
req,ltnewatgt
e,ltgt
brd,ltnew1gt
breq,ltinPlgt
chk
e,ltgt
brd,ltnew2gt
inPl
41Effects of the synchronization
e
univ
inBo
t
univ/newat
breq,ltinPlgt
chk
e
inPl/new1,inPl/new2
inPl
42Result of the transition
univ
chk
inBo
inPl
43Heterogeneous SHR
- Allows to use different SAMs on different nodes
- Concentrates on dynamic management of SAMs
- SAMs are required to form a commutative monoid
- Node fusions cause SAM composition
- Allows to model heterogeneous systems
- Different primitives in different parts of the
system - Example wireless connections with broadcast and
wired connections with Milner - Conservative extension of parametric SHR
44A network example
- Network with routers and clients
- Channels can have
- 4Kb/16Kb packets
- Error detection/no error detection
- To communicate a client creates a virtual
communication channel that uses the underlying
infrastructure - The communication channel supports 16Kb
packets/error detection only if all the
underlying channels do
45Modeling the scenario
- Eight different SAMs with all the combinations of
- 4Kb lt 16Kb
- No error detection lt error detection
- Communication lt control
- SAMs provide variants of Milner synchronization
- E.g. action for detecting errors
- SAMs form a partial order (pointwise)
- SAM composition corresponds to glb
46Building a virtual channel
R
C
4,v
Act
R
16,
16,v
4,
16,v
4,v
C
Act
16,
R
R
47Ideas on the derivation
- Each production poses some constraints on the
features of the resulting channel - During synchronization the constraints are
composed according to the specified pattern - The characteristics of the resulting channel are
automatically computed
48PRISMA Calculus
- SAM-based process calculus
- Prefixes of the form x a y . P
- Synchronization ruled by the SAM
- Mobility using fusions
- Standard operators can be included
- Milner PRISMA Calculus is (essentially) Fusion
Calculus
49Hints on technical difficulties
- In some SAMs (e.g., Hoare) a set of processes
must interact to allow a synchronization on x - All the processes
- All the processes that know x
- All the processes able to synchronize on x
- We have chosen the last approach
50Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
51Abstract semantics for parametric SHR
- Bisimulation can be defined in a standard way for
SHR - Under reasonable conditions on the SAM
bisimilarity is a congruence for parametric SHR - Milner, Hoare and many others satisfy the
conditions - Proof exploits bialgebraic techniques
52Congruence results for Fusion Calculus
- Bisimilarity is not a congruence for Fusion
Calculus (not closed under substitutions) - The comparison with SHR shows why it fails and
suggests how to solve the problem - We have proposed a new concurrent semantics
53The idea of the semantics
54The idea of the semantics
- Allowing many actions in the same transition but
on different channels - Process ab can execute a and b concurrently
going to 0 (but can also execute either a or b) - Process aa is bisimilar to a.a
- Process aab can perform t and b concurrently
going to 0 - Allows to observe the degree of parallelism of a
process
55Congruence properties
56Congruence properties
- no more a
counterexample since the two terms are not
bisimilar
57Congruence properties
- no more a
counterexample since the two terms are not
bisimilar - Observing where a synchronization is performed
becomes important - Otherwise congruence non preserved by context
a- - Actions at in addition to normal t
- The resulting bisimilarity is a congruence
58Observational semantics of PRISMA
- Hyperbisimilarity is a congruence
- Common axioms bisimulate for each SAM
- A translation along a morphism can be used to
change the used SAM - Translations along isomorphisms preserve
bisimilarity
59Roadmap
- Global computing
- Comparing models for GC
- Parametric synchronizations with mobility
- Observational semantics and compositionality
- Conclusions
60Conclusions on SHR
- SHR is an interesting model for GC
- Deals well with distribution, synchronization,
mobility - Can be extended to deal with eterogeneity
- Good compositionality features have been proved
- Some extensions for dealing with non-functional
requirements are under analysis Hirsch Tuosto - Strong connections with process calculi
- Allow cross-fertilization
61Conclusions on synchronization models
- Synchronization and mobility patterns are a
dimension in the space of GC models - Can be factored out
- Parametric models help modeling phase
- Different SAMs can
- be composed
- interoperate
62Conclusions on compositionality
- General and original result on compositionality
for graph transformations - Interesting result for Fusion Calculus
- Connection between concurrency and
compositionality
63Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Comparing SHR with other graph transformation
frameworks - Analyzing the properties of the new models
- Moving from Fusion towards p-calculus
- Techniques for proving compositionality
64Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Milner logic programming
- Multiple synchronizations in process calculi
- Comparing SHR with other graph transformation
frameworks - Analyzing the properties of the new models
- Moving from Fusion towards p-calculus
- Techniques for proving compositionality
65Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Comparing SHR with other graph transformation
frameworks - DPO
- Bigraphs
- Analyzing the properties of the new models
- Moving from Fusion towards p-calculus
- Techniques for proving compositionality
66Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Comparing SHR with other graph transformation
frameworks - Analyzing the properties of the new models
- Concurrent Fusion
- PRISMA Calculus
- Moving from Fusion towards p-calculus
- Techniques for proving compositionality
67Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Comparing SHR with other graph transformation
frameworks - Analyzing the properties of the new models
- Moving from Fusion towards p-calculus
- Concurrent p-calculus
- Parametric p-calculus
- Techniques for proving compositionality
68Future work
- Further analysis required in many directions
- Exploiting the mappings for cross-fertilization
- Comparing SHR with other graph transformation
frameworks - Analyzing the properties of the new models
- Moving from Fusion towards p-calculus
- Techniques for proving compositionality
- Bialgebraic techniques requires complex semantics
69Bibliography of the thesis
- A Graphical Fusion Calculus, I. Lanese and U.
Montanari, Proceedings of CoMeta Computational
Metamodels Final Workshop, ENTCS 104 - Mapping Fusion and Synchronized Hyperedge
Replacement into Logic Programming, I. Lanese
and U. Montanari, TPLP, special issue, to appear - Synchronization Algebras with Mobility for Graph
Transformations, I. Lanese and U. Montanari,
Proceedings of FGUC 2004 Workshop on
Foundations of Global Ubiquitous Computing, ENTCS
138 - Insights Emerged while Comparing Three Models
for Global Computing, I. Lanese and U.
Montanari, Proceedings of Dagstuhl seminar 05081
on Foundations of Global Computing, Electronic
proceedings, 2005 - Synchronized Hyperedge Replacement for
Heterogeneus Systems, I. Lanese and E. Tuosto,
Proceedings of COORDINATION 2005, LNCS 3454 - "Hoare vs Milner Comparing Synchronizations in a
Graphical Framework with Mobility", I. Lanese and
U. Montanari, Proceedings of GT-VC05, ENTCS, to
appear
70Other publications
- Software Architecture, Global Computing and
Graph Transformation via Horn Clauses, I. Lanese
and U. Montanari, Proceedings of SBES 2002 16th
Brazilian Symposium on Software Engineering - On Graph(ic) Encodings, R. Bruni and I. Lanese,
Proceedings of Dagstuhl seminar 04241 on Graph
transformations and process algebras for modeling
distributed and mobile systems, Electronic
proceedings, 2004 - New Insights on Architectural Connectors, R.
Bruni, J. Fiadeiro, I. Lanese, A. Lopes and U.
Montanari, Proceedings of IFIP TCS04, Kluwer - Complete Axioms for Stateless Connectors, R.
Bruni, I. Lanese and U. Montanari, Proceedings of
CALCO05, LNCS 3629 - A Basic Algebra of Stateless Connectors, R.
Bruni, I. Lanese and U. Montanari, TCS, to appear - "Exploiting User-Definable Synchronizations in
Graph Transformation",I. Lanese, Proceedings of
GT-VMT'06, ENTCS, to appear
71End of talk