Global Computing...Global Computing WAN programming for building global systems. They are hard to be...

93
Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough: P2P Administrative domains (Security) Interoperability different platforms different devices (e.g. PDA, laptop, mobile phones...) “Mobility” (resources and computation) ... G2 G1 L 1 5 4 2 3 G a L open a L open a a open a open a κ Intruder Knowledge P1 Pn x q q θ – p. 1/??

Transcript of Global Computing...Global Computing WAN programming for building global systems. They are hard to be...

Page 1: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Global Computing

WAN programmingfor building globalsystems.They are hard tobe made roboustbecause:

Absence of centralised controlClient-Server not enough: P2P

Administrative domains (Security)

Interoperability

different platforms

different devices(e.g. PDA, laptop, mobile phones...)

“Mobility” (resources and computation)

...

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 1/??

Page 2: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Global Computing

WAN programmingfor building globalsystems.They are hard tobe made roboustbecause:

Network Awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Service Level Agreement

Independently programmed in adistributed environment

Reasoning on space and time

...

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 1/??

Page 3: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Web Services: A programming metaphor

Applications access services that must be

Published

Searched

Binded

Services are

“Autonomous”

Independent (local choices, independently built)

Mobile/stationary

“Interconnected”

Security issues: hostile environment

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 2/??

Page 4: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

WAN Foundations

π-calculus [?] (very basic wrt WAN)

Ambient [?, ?, ?]

Djoin [?, ?]

Dπ [?, ?]

Klaim [?, ?, ?]

Seal [?]

...

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 3/??

Page 5: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

A Model for Declarative WANProgramming

In collaboration with G. Ferrari and U. Montanari

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 4/??

Page 6: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs Programming model2

Graphs for distributed systems [?]

Edge replacement for graph rewritings [?]

Edge replacement/distributed constraint solving problem [?]

Graphs grammars for software architecture styles [?]

Synchronised Hyperedge Replacement (SHR) with mobility forname passing calculi [?]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 5/??

Page 7: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs Programming model3

We aim at tackling new non-functional computational phenomenaof systems using SHR.The metaphor is

“WAN systems as Hypergraphs”

“WAN computations as SHR”

In other words:

Components are represented by hyperedges

Systems are bunches of (connected) hyperedges

Computing means to rewrite hyperedge...

...according to a synchronisation policy

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 6/??

Page 8: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes

L : 3, L(y, z, x), •y

•x L3

1

2 •z

G ::= nil∣∣ ν y.G

∣∣ L(~x)

∣∣ G|G

Syntactic Judgement Γ ` G, fn(G) ⊆ Γ

An example:

L : 3, M : 2

x, y ` ν z.(L(y, z, x)|M(y, z))

•y

L��

�� CCCC

C M

CCCC

•x ◦z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 7/??

Page 9: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes

L : 3, L(y, z, x), •y

•x L3

1

2 •z

G ::= nil∣∣ ν y.G

∣∣ L(~x)

∣∣ G|G

Syntactic Judgement Γ ` G, fn(G) ⊆ Γ

An example:

L : 3, M : 2

x, y ` ν z.(L(y, z, x)|M(y, z))

•y

L��

�� CCCC

C M

CCCC

•x ◦z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 7/??

Page 10: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes

L : 3, L(y, z, x), •y

•x L3

1

2 •z

G ::= nil∣∣ ν y.G

∣∣ L(~x)

∣∣ G|G

Syntactic Judgement Γ ` G, fn(G) ⊆ Γ

An example:

L : 3, M : 2

x, y ` ν z.(L(y, z, x)|M(y, z))

•y

L

���� CC

CCC M

CCCC

•x ◦z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 7/??

Page 11: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes

L : 3, L(y, z, x), •y

•x L3

1

2 •z

G ::= nil∣∣ ν y.G

∣∣ L(~x)

∣∣ G|G

Syntactic Judgement Γ ` G, fn(G) ⊆ Γ

An example:

L : 3, M : 2

x, y ` ν z.(L(y, z, x)|M(y, z))

•y

L

���� CC

CCC M

CCCC

•x ◦z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 7/??

Page 12: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes

L : 3, L(y, z, x), •y

•x L3

1

2 •z

G ::= nil∣∣ ν y.G

∣∣ L(~x)

∣∣ G|G

Syntactic Judgement Γ ` G, fn(G) ⊆ Γ

An example:

L : 3, M : 2

x, y ` ν z.(L(y, z, x)|M(y, z))

•y

L

���� CC

CCC M

CCCC

•x ◦z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 7/??

Page 13: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 14: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G1

5

4

2

1 G

L

3

G2’

����������

������

��� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

G2

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

����������������� ����

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 15: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2’G1

G

L

5

4

2

1

3

����

����������

����

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

����������������� ����

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 16: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2’G1

G

L

5

4

2

1

3

����

���������

����

Edge replacement: local

Synchronisation as distributedconstraint solving

Multiple synchronisation

New node creation

Node fusion: mobility model

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

����������������� ����

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 17: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2’G1

G

L

5

4

2

1

3

����

���������

����

Edge replacement: local

Synchronisation as distributedconstraint solving

Multiple synchronisation

New node creation

Node fusion: mobility model

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

����������������� ����

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 18: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Replacement of Hyperedges

L→ G

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2’G1

G

L

5

4

2

1

3

����

���������

����

Edge replacement: local

Synchronisation as distributedconstraint solving

Multiple synchronisation

New node creation

Node fusion: mobility model

Benefits:

Uniform framework for π, π-I, fusion

LTS for Ambient ...

... for Klaim ...

... and path reservation for Qlaim

wireless networks

expressive for distributed coordina-tion

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

����������������� ����

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/??

Page 19: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraph Semantics: Productions

x1, . . . , xn︸ ︷︷ ︸

X

` L(x1, . . . , xn)Λ−−→π> Γ ` G,

Λ ⊆ X × Act ×N ∗ set of constraints

π : X → X fusion substitution, i.e.

∀xi, xj ∈ X.π(xi) = xj ⇒ π(xj) = xj

Γ = π(X) ∪ (n(Λ) \X)

fn(G) ⊆ Γ

Graph Rewritings: Γ1 ` G1Λ−→π> Γ2 ` G2

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 9/??

Page 20: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraph Semantics: Productions

x1, . . . , xn︸ ︷︷ ︸

X

` L(x1, . . . , xn)Λ−−→π> Γ ` G,

Λ ⊆ X × Act ×N ∗ set of constraints

π : X → X fusion substitution, i.e.

∀xi, xj ∈ X.π(xi) = xj ⇒ π(xj) = xj

Γ = π(X) ∪ (n(Λ) \X)

fn(G) ⊆ Γ

Graph Rewritings: Γ1 ` G1Λ−→π> Γ2 ` G2

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 9/??

Page 21: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model

Ambient a[...]|open a → ...

Componentsa[· · · ] : •

xa // •

y,

open a : Lopen a // •z

Productions

•x

a // •y

open a

[y/x]+3 •

y = x

Lopen a // • +3open a

z•z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 10/??

Page 22: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model

Ambient a[...]|open a → ...

Componentsa[· · · ] : •

xa // •

y,

open a : Lopen a // •z

Productions

•x

a // •y

open a

[y/x]+3 •

y = x

Lopen a // • +3open a

z•z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 10/??

Page 23: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model

Ambient a[...]|open a → ...

Componentsa[· · · ] : •

xa // •

y,

open a : Lopen a // •z

Productions

•x

a // •y

open a

[y/x]+3 •

y = x

Lopen a // • +3open a

z•z

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 10/??

Page 24: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model: Node Fusion

G a

Lopen a

a

Lopen a

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/??

Page 25: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model: Node Fusion

G a

Lopen a Lopen a

a

open a

open a

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/??

Page 26: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Applying the Model: Node Fusion

G a

Lopen a Lopen a

a

open a

open a

G // •u

��

ooy = x

• oov

•z

G // •v = u

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/??

Page 27: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Graphs and Ambient

[[ nil ]]x = x ` nil

[[ n[P ] ]]x = x ` ν y.(G | n(y, x)), if y 6= x ∧ [[ P ]]y = y ` G

[[ M.P ]]x = x ` LM.P (x)

[[ P1|P2 ]]x = x ` G1 | G2, if [[ Pi ]]x = x ` Gi ∧ i = 1, 2

[[ recX.P ]]x = [[ P [rec X. P/X ] ]]x

Ambient Graphs

n1

33hhhhhhhhhhhhhhhh · · · nh

<<zzzzz

LM1.P1

bbDDDD

· · · LMk.Pk

kkVVVVVVVVVVVVVV

◦ · · · ◦zzzzzz G1

DDDDDD

zzzzzz Gh

DDDDDD

Theorem [[ _ ]]_ is a bijection on ambient graphs

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 12/??

Page 28: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Coordination Productions for Ambient

(input1)

x, y ` b(x, y){(x,in a,〈〉),(y,input a,〈z〉)}−−−−−−−−−−−−−−−−→> x, y, z ` b(x, z)

•y

•x

in ab // •

y

input a,z

+3 •x

b&&MMMMM

•z

(input2)

x, y ` a(x, y){(y,input a,〈x〉)}−−−−−−−−−−→> x, y ` a(x, y)

•x

a // •y

input a,x

+3 •x

a // •y

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 13/??

Page 29: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Coordination Productions for Ambient

(input1)

x, y ` b(x, y){(x,in a,〈〉),(y,input a,〈z〉)}−−−−−−−−−−−−−−−−→> x, y, z ` b(x, z)

•y

•x

in ab // •

y

input a,z

+3 •x

b&&MMMMM

•z

(input2)

x, y ` a(x, y){(y,input a,〈x〉)}−−−−−−−−−−→> x, y ` a(x, y)

•x

a // •y

input a,x

+3 •x

a // •y

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 13/??

Page 30: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Semantic Correspondence

Theorem If P → Q then [[ P ]]xΛ−→id> [[ Q ]]x and

either Λ = ∅

or Λ = {(x, τ, 〈〉)}

Theorem If [[ P ]]xΛ−→π> Γ ` G is a basic transition, then

either [[ P ]]x = Γ ` G

or ∃Q ∈ Proc : P → Q ∧ Γ ` G = [[ Q ]]x

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 14/??

Page 31: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Semantic Correspondence

Theorem If P → Q then [[ P ]]xΛ−→id> [[ Q ]]x and

either Λ = ∅

or Λ = {(x, τ, 〈〉)}

Theorem If [[ P ]]xΛ−→π> Γ ` G is a basic transition, then

either [[ P ]]x = Γ ` G

or ∃Q ∈ Proc : P → Q ∧ Γ ` G = [[ Q ]]x

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 14/??

Page 32: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: Expressing and reasoning onConnection Properties

In collaboration with R. De Nicola, G. Ferrari, U. Montanari,R. Pugliese

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 15/??

Page 33: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 34: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 35: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 36: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 37: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

site s’site s

a(t)@s’

eval(P’)@s’P’

R

P

Q Q’

R’

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 38: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

site s’site s

eval(P’)@s’P’

R’

P

R

Q Q’

a(t)@s’

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 39: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Klaim [?]

Multiple TS

Localities: first class citizens

Process migration

site s’site s

eval(P’)@s’ R’

Q

R

Q’

a(t)@s’

P’P

P ::= nil

| α.P

| P1 | P2

α ::= a@s

a ::= ... // Klaim actions

| eval(P )

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 16/??

Page 40: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 41: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 42: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 43: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 44: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

Q’

R’

|P’

site s’site s

R

Q

P

|P

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 45: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

site s’site s

R’

|P’

Q’

|P

Q

P

R

new(s’,|P’)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 46: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

site s’site s

R’R

Q

|P

P

|P’

Q’

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 47: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim: GatewaysIn [?]

Coordinators (super processes)

Dynamic creation of sites

Gateway connection management

site s’site s

R’

|P’

Q’Q

|P

P

R

κ

P ::= γ.P | P1 | P2

γ ::= α

| new(s, P)

| login(s, κ)

| accept(s, κ)

| logout(s, κ)

| disconnect(s, κ)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 17/??

Page 48: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Connection costs

Cost κ abstracts characteristics of connections (bandwidth, latency,distance, access rights ...)

Algebra on costs: c-semiring. For instance

〈c1, π1〉 ⊕ 〈c2, π2〉 = 〈c1 + c2, π1 ∪ π2〉

〈c1, π1〉 ⊗ 〈c2, π2〉 =

{

〈c1 + c2, π1 ∩ π2〉 if c2 < c1 and π2 ⊂ π1

⊥ otherwise

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 18/??

Page 49: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Connection costs

Cost κ abstracts characteristics of connections (bandwidth, latency,distance, access rights ...)

Algebra on costs: c-semiring. For instance

〈c1, π1〉 ⊕ 〈c2, π2〉 = 〈c1 + c2, π1 ∪ π2〉

〈c1, π1〉 ⊗ 〈c2, π2〉 =

{

〈c1 + c2, π1 ∩ π2〉 if c2 < c1 and π2 ⊂ π1

⊥ otherwise

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 18/??

Page 50: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim & Hypergraphs

[[ s ::L, P ]] = Γ ` (ν ~x, p)([[ P ]]p | Ssm,n(~u, ~x, p) |

n∏

j=1

Gκj

tj(xj, vj))

ζ ζ

ζ

GG

.....

.....

.....

.....

.....

.....

G G

P

[[ nil ]]p = nil

[[ outt ]]p = Loutt(p)

[[ γ.P ]]p = Lγ.P (p)

[[ eval(P )@s ]]p = (ν u)(evalT (P )s (u, p) | SP (u))

[[ P1 | P2 ]]p = [[ P1 ]]p | [[ P2 ]]p

[[ rec X. P ]]p = [[ P [rec X. P /X ] ]]p.

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 19/??

Page 51: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim & Hypergraphs

[[ s ::L, P ]] = Γ ` (ν ~x, p)([[ P ]]p | Ssm,n(~u, ~x, p) |

n∏

j=1

Gκj

tj(xj, vj))

ζ ζ

ζ

GG

.....

.....

.....

.....

.....

.....

G G

P

[[ nil ]]p = nil

[[ outt ]]p = Loutt(p)

[[ γ.P ]]p = Lγ.P (p)

[[ eval(P )@s ]]p = (ν u)(evalT (P )s (u, p) | SP (u))

[[ P1 | P2 ]]p = [[ P1 ]]p | [[ P2 ]]p

[[ rec X. P ]]p = [[ P [rec X. P /X ] ]]p.

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 19/??

Page 52: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 53: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 54: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 55: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 56: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 57: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Qlaim’s Graph semantics: pros & cons

– Many productions (recently reduced :-)

+ Determines the “optimal” path (also Qlaim)

+ Path reservation

+ Path routing

Theorem Qlaim remote actions are routed on paths with minimal cost(wrt the c-semiring operations)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 20/??

Page 58: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraph & Software Design

In [?] graph transformation is used for modelling dynamicbehaviour of UML specifications.

+ Formal semantics of computations

– No local rewritings

– Distribution is not considered

SHR has been applied as a further refinement step in thesoftware design process.

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 21/??

Page 59: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Security

In collaboration with A. Bracciali, A. Brogi and G. Ferrari

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 22/??

Page 60: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The Dolev-Yao Model

IntruderKnowledge

P1 Pn

Receive and store anytransmitted message

Hinder a message

Decompose messages intoparts

Forge messages using knowndata

Perfect Encryption HypothesisNames n,m, ..., A,B, S, ...

Keys k, k′, ..., A+, A−, ...

Messages M ::= N∣∣ K

∣∣ M,M

∣∣ {M}M

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 23/??

Page 61: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The Dolev-Yao Model

IntruderKnowledge

P1 PnReceive and store anytransmitted message

Hinder a message

Decompose messages intoparts

Forge messages using knowndata

Perfect Encryption Hypothesis

Names n,m, ..., A,B, S, ...

Keys k, k′, ..., A+, A−, ...

Messages M ::= N∣∣ K

∣∣ M,M

∣∣ {M}M

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 23/??

Page 62: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The Dolev-Yao Model

IntruderKnowledge

P1 PnReceive and store anytransmitted message

Hinder a message

Decompose messages intoparts

Forge messages using knowndata

Perfect Encryption HypothesisNames n,m, ..., A,B, S, ...

Keys k, k′, ..., A+, A−, ...

Messages M ::= N∣∣ K

∣∣ M,M

∣∣ {M}M

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 23/??

Page 63: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Intruder capabilities: on

m ∈ κ(∈)

κ on m

κ on m κ on n(, )

κ on m,n

κ on m κ on λ({})

κ on {m}λ

κ on m,n(+1)

κ on m

κ on m,n(+2)

κ on n

κ on {m}λ κ on λ−(}{)

κ on m

Generalising [?] to asymmetric key cryptography

Theorem on is decidable

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 24/??

Page 64: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

A Calculus of Principals

Some design choices:Extension of IP [?]

Cryptography & communication (pattern-matching)

Key-sharing via “name fusion”

Rôle based calculus

Multi-session facilities

E,F ::= nil∣∣ α.E

∣∣ E + E

∣∣ E || E

α, β ::= in(d)∣∣ out(d)

d ::= N∣∣ K

∣∣ d, d

∣∣ {d}d

∣∣ x

∣∣ ?x

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 25/??

Page 65: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

A cIP protocol

1.A→ B : {na,A}B+

2.B → A : {na, nb}A+

3.A→ B : {nb}B+

A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 26/??

Page 66: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

cIP Semantics

α.Eα−→ E

Eα−→ E′

E + Fα−→ E′

Eα−→ E′

bn(α) ∩ fn(F ) = ∅E || F

α−→ E′ || F

Eiin(d)−−→ E′

i ∂(κ) B m : ∃σ grounds.t. dσ ∼ m

〈(Xi)[Ei] ∪ C, χ, κ〉 7→ 〈(Xi)[E′iσ] ∪ C, χσ, κ〉

Eiout(m)−−−→ E′

i

〈(Xi)[Ei] ∪ C, χ, κ〉 7→ 〈(Xi)[E′i] ∪ C, χ, κ ∪m〉

C′ = join(Ai, γ, C) A4=(X)[E] i new

〈C, χ, κ〉 7→ 〈C′, χγ, κ ∪ {Ai}〉

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 27/??

Page 67: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

A symbolic cIP trace

〈(y1)[out({na1, A1}y+

1

).in({na1, ?u1}A−1

).out({u1}y+

1

)], ε, {A1}〉

o {na1,A1}y+1

���O�O�O

〈(y1)[in({na1, ?u1}A−1

).out({u1}y+

1

)], ε, {A1, {na1, A1}y+

1

}〉

j B2 [B2/y1]

���O�O�O

〈()[in({na1, ?u1}A−

1

).out({u1}B2+)],

()[in({?x2, ?z2}B−2

).out({x2, nb2}z+

2

).in({nb2}B−2

)], [B2/y1

], κ〉

i {x2(κ),A+

1}

B+2

���O�O�O

〈()[in({na1, ?u1}A−

1

).out({u1}B+

2

)],

()[out({x2(κ), nb2}A+

1

).in({nb2}B−2

)], [B2,x2(κ), A1/y1,x2,z2

], κ〉

κ = {A1, B2, {na1, A1}B2+}

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 28/??

Page 68: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

PL: Formalising Security Properties

φ, ψ ::= δ ∈ K∣∣ ∀α : A.φ∣∣ x@α = δ∣∣ α = β∣∣ ¬φ

∣∣ φ ∧ ψ

δ ::= d∣∣ α

∣∣ x@α

κ |=χ φ

“If B completes a protocol session andthinks that he has been talking to A,then A had started a protocol sessionthinking that she has been talking to B”

∀β : B.∃α : A.(z@β = α→ y@α = β)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 29/??

Page 69: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

Bz

xAu

y A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 70: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

A Bz

xu

y A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 71: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

A Buy z

x

A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 72: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

A Buy z

x

A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 73: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

A Buy z

x

A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 74: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Hypergraphs for security

A Buy z

x

A4=(y)[ out({na,A}y+).

in({na, ?u}A−).

out({u}y+)]

B4=()[ in({?x, ?z}B−).

out({x, nb}z+).

in({nb}B−)]

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/??

Page 75: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Mihda: Co-Algebraic Minimisation ofAutomata

In collaboration with G. Ferrari, U. Montanari and R. Raggi

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 31/??

Page 76: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Mihda

Minimizing History Dependent Automata:

HD-automata for history dependent calculi

Co-algebraic specification

Partition Refinement Algorithm based on co-algebraicspecification[?]

Mihda: Ocaml implementation (refining λ→,∏

,Σ spec.)

Comp. Time States Trans. Min. Time States Trans.

GSM small 0m 0.931s 211 398 0m 4.193s 105 197

GSM full 0m 8.186s 964 1778 0m 54.690s 137 253

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 32/??

Page 77: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Mihda Architecture

Bundle

Block

StatesLabels

Transitions

Automaton

Domination

Adherent to specs

Highly modular

Easily extendible

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 33/??

Page 78: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

q

q

θ

x

qq

BIN x q2;s [*/y]

x y sINq BIN x s [*/y]

q3;s3Tau

q3

q2

Tau s3

x

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 79: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

q1

q2

q3

q1

q2

q3

q

x yIN σ

xBIN σ [*/y]

Tau σ3

BIN x q2;s [*/y]

qq

Tau q3;s3

q2

q3

x

x

x

let bundle hd q =List.sort compare

(List.filter (fun h→ (Arrow.source h) = q) (arrows hd))

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 80: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

q1

q2

q3

q1

q2

q3

x

q

x yIN σ

xBIN σ [*/y]

Tau σ3

x

qq

Tau q3;s3

BIN q2;s [*/y]

q2

q3

x

x

List.map hn bundle

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 81: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

x

q1

q2

q3

q1

q2

q3

Tau σ3

x

x

q

x yIN σ

xBIN

xBIN σ [*/y]

Tau θ3;σ3

θ2

θ3

θ2;σ [*/y]

hn+1 = norm〈states, {〈`, π, hn(q′), σ′;σ〉|q` π σ−→ q′ ∧ σ′ ∈ Σn(q′)}〉

let red bl = ......let bl_in = List.filter covered_in blin list_diff bl bl_in

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 82: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

x

q1

q2

q3

q1

q2

q3

Tau σ3

x

x

q

x yIN σ

xBIN

xBIN σ [*/y]

Tau θ3;σ3

θ2

θ3

θ2;σ [*/y]

let an = active_names_bundle (red bundle) inlet remove_in ar = match ar with

| Arrow(_,_,In(_,_))→ not (List.mem (obj ar) an)| _→ false in

list_diff bundle (List.filter remove_in bundle)

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 83: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

x

q1

q2

q3

q1

q2

q3

Tau σ3

x

x

q

x yIN σ

xBIN

xBIN σ [*/y]

Tau θ3;σ3

θ2

θ3

θ2;σ [*/y]

Σn+1(q) = (compute_group (norm bundle)) ; θ−1q

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 84: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

The main step

x

x

q1

q2

q3

q1

q2

q3

Tau σ3

x

x

q

x yIN σ

xBIN

xBIN σ [*/y]

Tau θ3;σ3

θ2

θ3

θ2;σ [*/y]

Σn+1(q) = (compute_group (norm bundle)) ; θ−1q

Theorem At the end of each iteration i blocks corresponds to hHi

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/??

Page 85: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Mihda Web Interface

http://jordie.di.unipi.it:8080/pweb

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 35/??

Page 86: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Summing up...

Declarative approach to WAN programmingFoundational aspectsQoS at application levelModelling wireless communications (ongoing)Integrating Milner & Hoare synchronizationsWeb ServicesSecure composition of componentsCoordination mechanism

Tool developmentDistributed infrastructureBase on Web Services metaphorProof strategies as programmable coordinators

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 36/??

Page 87: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

Published papers

Ferrari, G., Pugliese, R., Tuosto, E. Calculi for Network Aware Programming.WOA’00

Ferrari, G., Montanari, U., Tuosto, E. LTS Semantics of Ambients via GraphSynchronization with Mobility. ICTCS’01

Bracciali, A., Brogi, A., Ferrari, G., Tuosto, E.. Security Issues in ComponentBased Design. ConCoord’01

Bracciali, A., Brogi, A., Ferrari, G., Tuosto, E., Security and DynamicCompositions of Open Systems. PDPTA’02

Ferrari, G., Montanari, U., Tuosto, E. Graph-based Models of InternetworkingSystems. UNU/IIST Colloquium’03

R. De Nicola, G. Ferrari, Ugo Montanari, R. Pugliese A Formal Basis forReasoning on Programmable QoS. International Symposium on Verification’03

← � � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �� � � � � �

� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �� � � � �

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 37/??

Page 88: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

References

[BBT01] Andrea Bracciali, Antonio Brogi, and Franco Turini.

Coordinating interaction patterns. In Proceedings

of the ACM Symposium on Applied Computing, Las

Vegas, USA. ACM, 2001.

[BC99] Boumediene Bal, Henri E. Belkhouche and Luca

Cardelli, editors. Workshop on Internet Program-

ming Languages, volume 1686 of LNCS. Springer,

1999.

[BCC01] Michele Bugliesi, Giuseppe Castagna, and Silvia

Crafa. Boxed Ambients. In TACS 2001, number

2215 in Lecture Notes in Computer Science, pages

38–63. Springer, 2001.

[BLP02] Lorenzo Bettini, Michele Loreti, and Rosario

Pugliese. Infrastructure language for open nets.

In Proc. of the 2002 ACM Symposium on Applied

Computing (SAC’02), Special Track on Coordina-

tion Models, Languages and Applications. ACM

Press, 2002. Special Track on Coordination Mod-

els, Languages and Applications.

37-1

Page 89: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

[CG00] Luca Cardelli and Andrew D. Gordon. Mobile am-

bients. TCS: Theoretical Computer Science, 240,

2000.

[CJM98] Edmund M. Clarke, Somesh Jha, and Wilfredo R.

Marrero. Using state space exploration and a nat-

ural deduction style message derivation engine to

verify security protocols. In IFIP Working Con-

ference on Programming Concepts and Methods

(PROCOMET), 1998.

[CM83] Ilaria Castellani and Ugo Montanari. Graph Gram-

mars for Distributed Systems. In Hartmut Ehrig,

Manfred Nagl, and Grzegorz Rozenberg, editors,

Proc. 2nd Int. Workshop on Graph-Grammars and

Their Application to Computer Science, volume 153

of Lecture Notes in Computer Science, pages 20–

38. Springer-Verlag, 1983.

[DFP98] Rocco De Nicola, Gianluigi Ferrari, and Rosario

Pugliese. KLAIM: A kernel language for agents in-

teraction and mobility. IEEE Transactions on Soft-

ware Engineering, 24(5):315–330, 1998.

[DFPV00] Rocco De Nicola, Gianluigi Ferrari, Rosario

Pugliese, and Betti Venneri. Types for access con-

37-2

Page 90: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

trol. Theoretical Computer Science, 240(1):215–

254, June 2000.

[DM87] Pierpaolo Degano and Ugo Montanari. A model of

distributed systems based of graph rewriting. Jour-

nal of the ACM, 34:411–449, 1987.

[FG96] Cedric Fournet and George Gonthier. The reflex-

ive CHAM and the join-calculus. In Conference

Record of POPL ’96: The 23rd ACM SIGPLAN-

SIGACT Symposium on Principles of Programming

Languages, pages 372–385, St. Petersburg Beach,

Florida, January 1996.

[FGL+96] Cedric Fournet, Georges Gonthier, Jean-Jacques

Levy, Luc Maranget, and Didier Remy. A calculus of

mobile processes. In Ugo Montanari and Vladimiro

Sassone, editors, CONCUR ’96: Concurrency The-

ory, 7th International Conference, volume 1119 of

Lecture Notes in Computer Science, pages 406–

421, Pisa, Italy, August 1996. Springer-Verlag.

[FMP02] Gianluigi Ferrari, Ugo Montanari, and Marco Pis-

tore. Minimizing transition systems for name pass-

ing calculi: A co-algebraic formulation. In Mo-

gens Nielsen and Uffe Engberg, editors, FOS-

37-3

Page 91: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

SACS 2002, volume LNCS 2303, pages 129–143.

Springer Verlag, 2002.

[HIM00] Dan Hirsch, Paola Inverardi, and Ugo Montanari.

Reconfiguration of Software Architecture Styles

with Name Mobility. In Antonio Porto and Gruia-

Catalin Roman, editors, Coordination 2000, volume

1906 of Lecture Notes in Computer Science, pages

148–163. Springer Verlag, 2000.

[HM01] Dan Hirsch and Ugo Montanari. Synchronized hy-

peredge replacement with name mobility: A graph-

ical calculus for name mobility. In 12th Interna-

tional Conference in Concurrency Theory (CON-

CUR 2001), volume 2154 of LNCS, pages 121–

136, Aalborg, Denmark, 2001. Springer Verlag.

[HR98] Mattew Hennessy and James Riely. Resource

access control in systems of mobile agents. In

Uwe Nestmann and Benjamin C. Pierce, editors,

HLCL ’98: High-Level Concurrent Languages (Nice,

France, September 12, 1998), volume 16.3 of

entcs, pages 3–17. Elsevier Science Publishers,

1998. Full version as CogSci Report 2/98, Univer-

sity of Sussex, Brighton.

37-4

Page 92: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

[HR00] Matthew Hennessy and James Riely. Informa-

tion flow vs. resource access in the asynchronous

pi-calculus. In 27th International Colloquium on

Automata, Languages and Programming (ICALP

’2000), July 2000. A longer version appeared

as Computer Science Technical Report 2000:03,

School of Cognitive and Computing Sciences, Uni-

versity of Sussex.

[KGKK02] Sabine Kuske, Martin Gogolla, Ralf Kollmann, and

Hans-Jorg Kreowski. An Integrated Semantics for

UML Class, Object, and State Diagrams based on

Graph Transformation. In Michael Butler and Kaisa

Sere, editors, 3rd Int. Conf. Integrated Formal Meth-

ods (IFM’02), Lecture Notes in Computer Science.

Springer, Berlin, 2002.

[LS00] Francesca Levi and Davide Sangiorgi. Controlling

interference in ambients. In Conference Record of

POPL’00: The 27th ACM SIGPLAN-SIGACT Sym-

posium on Principles of Programming Languages,

pages 352–364, Boston, Massachusetts, January

2000.

[MPW92] Robin Milner, Joachim Parrow, and David Walker. A

calculus of mobile processes, I and II. Information

37-5

Page 93: Global Computing...Global Computing WAN programming for building global systems. They are hard to be made roboust because: Absence of centralised control Client-Server not enough:

and Computation, 100(1):1–40,41–77, September

1992.

[MR96] Ugo Montanari and Francesca Rossi. Graph rewrit-

ing and constraint solving for modelling distributed

systems with synchronization. In P. Ciancarini and

C. Hankin, editors, Proceedings of the First Inter-

national Conference COORDINATION ’96, Cesena,

Italy, volume 1061 of LNCS. Springer Verlag, April

1996.

[VC98] Jan Vitek and Giuseppe Castagna. Towards a

calculus of secure mobile computations. In [?],

Chicago, Illinois, May 1998.

37-6