synchronization strategies for global computing models

71
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion Supervisor: prof. Ugo Montanari

Upload: eilis

Post on 21-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Ph.D. thesis discussion. Synchronization strategies for global computing models. Ivan Lanese Computer Science Department Univers ity of Pisa (moved to Bologna). Supervisor: prof. Ugo Montanari. Roadmap. Global computing Comparing models for GC Parametric synchronizations with mobility - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Synchronization strategies for global computing models

1

Ivan LaneseComputer Science Department

University of Pisa(moved to Bologna)

Synchronization strategiesfor global computing models

Ph.D. thesis discussion

Supervisor: prof. Ugo Montanari

Page 2: Synchronization strategies for global computing models

2

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 3: Synchronization strategies for global computing models

3

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 4: Synchronization strategies for global computing models

4

What is global computing?

Essentially networks

deployed on huge areas

Global computing

systems quite common

nowadays

– Internet, wireless

communication networks,

overlay networks …

Page 5: Synchronization strategies for global computing models

5

Features of global computing systems

Distribution

– Localities may have a semantic meaning

Heterogeneity

– Interoperability, coordination

Mobility

Openness

Reconfigurability

Non-functional requirements

Page 6: Synchronization strategies for global computing models

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

Page 7: Synchronization strategies for global computing models

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

Page 8: Synchronization strategies for global computing models

8

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 9: Synchronization strategies for global computing models

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

Page 10: Synchronization strategies for global computing models

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

Page 11: Synchronization strategies for global computing models

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

Page 12: Synchronization strategies for global computing models

12

Long background on SHR

NOOO!!!

Page 13: Synchronization strategies for global computing models

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

Page 14: Synchronization strategies for global computing models

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

Page 15: Synchronization strategies for global computing models

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

Page 16: Synchronization strategies for global computing models

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

Page 17: Synchronization strategies for global computing models

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)

Page 18: Synchronization strategies for global computing models

18

Dynamics

x C

C

C

C

C

C

C

CC C

S

S

SS

Page 19: Synchronization strategies for global computing models

19

Dynamics

x C

C

C

C

C

C

C

CC C

S

S

SS

Page 20: Synchronization strategies for global computing models

20

Main results

Simple (homomorphic) mapping

Complete correspondance

Suggests how to introduce restriction in logic

programming

What about Milner logic programming?

Page 21: Synchronization strategies for global computing models

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

Page 22: Synchronization strategies for global computing models

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.

Page 23: Synchronization strategies for global computing models

23

Example

).|.|.)(( RzyQyxPuxxy

)||)((

).|.|)(().|.|.)(( )(

RQPy

RzyQyxPyRzyQyxPuxxyzx

uxx

We can also execute both the steps at the same time

Page 24: Synchronization strategies for global computing models

24

Main results

Simple (homomorphic) mapping

Complete correspondance

Suggests many generalizations of Fusion

– A concurrent semantics

– PRISMA Calculus

Page 25: Synchronization strategies for global computing models

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

Page 26: Synchronization strategies for global computing models

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

Page 27: Synchronization strategies for global computing models

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

Page 28: Synchronization strategies for global computing models

28

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 29: Synchronization strategies for global computing models

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

Page 30: Synchronization strategies for global computing models

30

Synchronization Algebras with Mobility (2)

Page 31: Synchronization strategies for global computing models

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

Page 32: Synchronization strategies for global computing models

32

Sample synchronization

a b c

Page 33: Synchronization strategies for global computing models

33

Milner SAM

Normal actions, coactions, τ, ε

(in, out, τ)

(a, ε, a)

Final actions: τ, ε

a ε a

in out τ

Page 34: Synchronization strategies for global computing models

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

Page 35: Synchronization strategies for global computing models

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

Page 36: Synchronization strategies for global computing models

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

Page 37: Synchronization strategies for global computing models

37

Take-off transition

univ univ

inBoinBo

chk

chk

inPl

inPl

Page 38: Synchronization strategies for global computing models

38

Specifying the transition (1)

at:<req,<newat>>

in:<ε,<>>

chk:<breq,<in>>

newat

in

chk at

at:<ε,<>>

in:<ack,<at>>

at

in

Page 39: Synchronization strategies for global computing models

39

Specifying the transition (2)

at:<ε,<>>

chk:<brd,<newat>>

newat

chk at

Page 40: Synchronization strategies for global computing models

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

Page 41: Synchronization strategies for global computing models

41

Effects of the synchronization

univ

inBo

chk

inPl

ε

τ

ε

breq,<inPl>

univ/newat

inPl/new1,inPl/new2

Page 42: Synchronization strategies for global computing models

42

Result of the transition

univ

inBoinPl

chk

Page 43: Synchronization strategies for global computing models

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

Page 44: Synchronization strategies for global computing models

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

Page 45: Synchronization strategies for global computing models

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

Page 46: Synchronization strategies for global computing models

46

Building a virtual channel

CR R

C R R

16,√ 4,×

16,×

4,√16,√

16,×

4,√

comm,16,×

Act

Act

Page 47: Synchronization strategies for global computing models

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

Page 48: Synchronization strategies for global computing models

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

Page 49: Synchronization strategies for global computing models

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

Page 50: Synchronization strategies for global computing models

50

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 51: Synchronization strategies for global computing models

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

Page 52: Synchronization strategies for global computing models

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

Page 53: Synchronization strategies for global computing models

53

The idea of the semantics

Page 54: Synchronization strategies for global computing models

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

Page 55: Synchronization strategies for global computing models

55

Congruence properties

Page 56: Synchronization strategies for global computing models

56

Congruence properties

no more a counterexample since the

two terms are not bisimilar

b|a.abba.

Page 57: Synchronization strategies for global computing models

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.

Page 58: Synchronization strategies for global computing models

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

Page 59: Synchronization strategies for global computing models

59

Roadmap

Global computing

Comparing models for GC

Parametric synchronizations with mobility

Observational semantics and compositionality

Conclusions

Page 60: Synchronization strategies for global computing models

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

Page 61: Synchronization strategies for global computing models

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

Page 62: Synchronization strategies for global computing models

62

Conclusions on compositionality

General and original result on compositionality for

graph transformations

Interesting result for Fusion Calculus

– Connection between concurrency and compositionality

Page 63: Synchronization strategies for global computing models

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

Page 64: Synchronization strategies for global computing models

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

Page 65: Synchronization strategies for global computing models

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

Page 66: Synchronization strategies for global computing models

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

Page 67: Synchronization strategies for global computing models

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

Page 68: Synchronization strategies for global computing models

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

Page 69: Synchronization strategies for global computing models

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

Page 70: Synchronization strategies for global computing models

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

Page 71: Synchronization strategies for global computing models

71

End of talk