1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization...
-
date post
19-Dec-2015 -
Category
Documents
-
view
218 -
download
3
Transcript of 1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization...
1
Ivan LaneseComputer Science Department
University of Pisa(moved to Bologna)
Synchronization strategiesfor global computing models
Ph.D. thesis discussion
Supervisor: prof. Ugo Montanari
2
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
3
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
4
What is global computing?
Essentially networks
deployed on huge areas
Global computing
systems quite common
nowadays
– Internet, wireless
communication networks,
overlay networks …
5
Features of global computing systems
Distribution
– Localities may have a semantic meaning
Heterogeneity
– Interoperability, coordination
Mobility
Openness
Reconfigurability
Non-functional requirements
6
Formal 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
7
High 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
8
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
9
Why 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
10
Which 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
11
Logic 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
12
Long background on SHR
NOOO!!!
13
Very 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
14
Fusion Calculus
Calculus for mobility inspired by π-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 π-calculus obtained as input+scope
– Not fully abstract since more powerful contexts are available
15
Hoare 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
16
Summary of the comparison
Hoare SHR SLP
Graph Goal
Hyperedge Atom
Node Variable
Parallel comp. AND comp.
Action Function sym.
Production Clause
Transition Transaction
17
An example
y
C
x
y
C
z
C
x
y
C
x
y
S
xr<w>
r<w>
w
C(x,y)←C(x,z),C(z,y)
C(r(x,w),r(y,w))←S(y,w)
18
Dynamics
x C
C
C
C
C
C
C
CC C
S
S
SS
19
Dynamics
x C
C
C
C
C
C
C
CC C
S
S
SS
20
Main results
Simple (homomorphic) mapping
Complete correspondance
Suggests how to introduce restriction in logic
programming
What about Milner logic programming?
21
Milner 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
22
Summary of the comparison
Fusion Milner SHR
Processes Graphs
Sequential processes Hyperedges
Names Nodes
Parallel comp. Parallel comp.
Scope Restriction
Prefixes Productions
Transitions Interleaving tr.
23
Example
).|.|.)(( RzyQyxPuxxy
)||)((
).|.|)(().|.|.)(( )(
RQPy
RzyQyxPyRzyQyxPuxxyzx
uxx
We can also execute both the steps at the same time
24
Main results
Simple (homomorphic) mapping
Complete correspondance
Suggests many generalizations of Fusion
– A concurrent semantics
– PRISMA Calculus
25
Milner 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
26
Some 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
27
And 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
28
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
29
Synchronization Algebras with Mobility (1)
Extend Winskel’s 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
30
Synchronization Algebras with Mobility (2)
31
Synchronization Algebras with Mobility (2)
SAs specify composition of actions
– (a,a,τ): a synchronizes with a producing τ
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
32
Sample synchronization
a b c
33
Milner SAM
Normal actions, coactions, τ, ε
(in, out, τ)
(a, ε, a)
Final actions: τ, ε
a ε a
in out τ
34
Combining SAMs
SAMs form a category
Standard constructions can be used to
compose SAMs
– Coproduct makes different protocols available
– Product applies two protocols in parallel
35
Parametric 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
36
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
37
Take-off transition
univ univ
inBoinBo
chk
chk
inPl
inPl
38
Specifying the transition (1)
at:<req,<newat>>
in:<ε,<>>
chk:<breq,<in>>
newat
in
chk at
at:<ε,<>>
in:<ack,<at>>
at
in
39
Specifying the transition (2)
at:<ε,<>>
chk:<brd,<newat>>
newat
chk at
40
Synchronization in the example
univ
inBo
chk
inPl
ε,<>
ack,<univ>ε,<>ε,<>
ε,<>req,<newat>
ε,<>
breq,<inPl>brd,<new1>
brd,<new2>
Can be obtained using as SAM
the coproduct of:
● Milner SAM for req and ack
● Broadcast SAM for breq and brd
41
Effects of the synchronization
univ
inBo
chk
inPl
ε
τ
ε
breq,<inPl>
univ/newat
inPl/new1,inPl/new2
42
Result of the transition
univ
inBoinPl
chk
43
Heterogeneous 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
44
A 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
45
Modeling the scenario
Eight different SAMs with all the combinations of– 4Kb < 16Kb
– No error detection < error detection
– Communication < control
SAMs provide variants of Milner synchronization– E.g. action for detecting errors
SAMs form a partial order (pointwise) SAM composition corresponds to glb
46
Building a virtual channel
CR R
C R R
16,√ 4,×
16,×
4,√16,√
16,×
4,√
comm,16,×
Act
Act
47
Ideas 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
48
PRISMA 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
49
Hints 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
50
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
51
Abstract 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
52
Congruence 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
53
The idea of the semantics
54
The idea of the semantics
Allowing many actions in the same transition but on
different channels
– Process a|b can execute a and b concurrently going to 0
(but can also execute either a or b)
– Process a|a is bisimilar to a.a
– Process a|a|b can perform τ and b concurrently going to 0
Allows to observe the degree of parallelism of a
process
55
Congruence properties
56
Congruence properties
no more a counterexample since the
two terms are not bisimilar
b|a.abba.
57
Congruence 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 aτ in addition to normal τ
The resulting bisimilarity is a congruence
b|a.abba.
58
Observational 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
59
Roadmap
Global computing
Comparing models for GC
Parametric synchronizations with mobility
Observational semantics and compositionality
Conclusions
60
Conclusions 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
61
Conclusions 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
62
Conclusions on compositionality
General and original result on compositionality for
graph transformations
Interesting result for Fusion Calculus
– Connection between concurrency and compositionality
63
Future 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 π-calculus
Techniques for proving compositionality
64
Future 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 π-calculus
Techniques for proving compositionality
65
Future 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 π-calculus
Techniques for proving compositionality
66
Future 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 π-calculus
Techniques for proving compositionality
67
Future 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 π-calculus
– Concurrent π-calculus
– Parametric π-calculus
Techniques for proving compositionality
68
Future 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 π-calculus
Techniques for proving compositionality
– Bialgebraic techniques requires complex semantics
69
Bibliography 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-VC‘05, ENTCS, to appear
70
Other 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 TCS’04, Kluwer
“Complete Axioms for Stateless Connectors”, R. Bruni, I. Lanese and U. Montanari,
Proceedings of CALCO’05, 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
71
End of talk