98
Non-Functional Aspects of Wide Area Network Programming Emilio Tuosto Ph.D. Thesis Dipartimento di Informatica Universit ` a di Pisa G2 G1 L 1 5 4 2 3 G a L L a open a open a κ Intruder Knowledge P1 Pn x q q θ – p. 1/40

Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Non-Functional Aspects ofWide Area Network Programming

Emilio Tuosto

Ph.D. Thesis

Dipartimento di Informatica

Universita di Pisa

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 1/40

Page 2: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 3: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 4: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 5: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 6: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 7: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 8: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Plan of the talk

WAN programming: A short overview

Declarative programming model: HypergraphsHypergraphs and Ambient calculus

Programming QoS: QlaimQoS & Hypergraphs: reasoning on optimal routing

Hypergraphs and UML specifications

Cryptographic protocols: cIP and PL

The Mihda 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/40

Page 9: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Wide Area Network Programming Issues

Absence of centralised control

Administrative domains

Interoperability

“Mobility” (of resources and computation)

Network Awareness

Service Level Agreement

Security

...

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 3/40

Page 10: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 4/40

Page 11: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

WAN Foundations

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

Klaim [DFP98, DFPV00, BLP02]

Ambient [CG00]

Dπ [HR98, HR00]

Djoin [FG96, FGL+96]

Seal [VC98]

...

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 5/40

Page 12: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

A Model for Declarative WANProgramming

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 6/40

Page 13: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 14: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 15: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 16: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 17: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 18: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 19: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model

Client-Server metaphor is not enough: P2P

Mobility and dynamic linking of components

Adaptability to different devices (e.g. PDA, laptop, mobilephones...)

Location awareness

Applications are location dependent

Locations have different features

and allow multiple (security) policies

Independently programmed in a distributed 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. 7/40

Page 20: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraphs Programming model2

Graphs for distributed systems [CM83]

Edge replacement for graph rewritings [DM87]

Edge replacement/distributed constraint solvingproblem [MR96]

Graphs grammars for software architecture styles [HIM00]

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

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 8/40

Page 21: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 9/40

Page 22: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 10/40

Page 23: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 10/40

Page 24: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 10/40

Page 25: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 10/40

Page 26: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 10/40

Page 27: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Replacement of Hyperedges

L→ G

Benefits:

Powerful model of system composition (π, π-I, fusion)

LTS for Ambient ...

...and for Klaim

and path reservation for Qlaim

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/40

Page 28: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Replacement of Hyperedges

L→ G

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

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

G1

5

4

2

1 G

L

3

G2’

���

���

����

������

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

G2

Benefits:

Powerful model of system composition (π, π-I, fusion)

LTS for Ambient ...

...and for Klaim

and path reservation for Qlaim

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

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

G2G1 L

15

4

23

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

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/40

Page 29: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Replacement of Hyperedges

L→ G

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

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

G2’G1

G

L

5

4

2

1

3

����

���

���

����

����

Benefits:

Powerful model of system composition (π, π-I, fusion)

LTS for Ambient ...

...and for Klaim

and path reservation for Qlaim

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

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

G2G1 L

15

4

23

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

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/40

Page 30: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Replacement of Hyperedges

L→ G

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

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

G2’G1

G

L

5

4

2

1

3

����

���

���

����

����

Edge replacement: local

Synchronisation as distributedconstraint solving

New node creation

Node fusion: mobility model

Benefits:

Powerful model of system composition (π, π-I, fusion)

LTS for Ambient ...

...and for Klaim

and path reservation for Qlaim

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

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

G2G1 L

15

4

23

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

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/40

Page 31: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Replacement of Hyperedges

L→ G

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

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

G2’G1

G

L

5

4

2

1

3

����

���

���

����

����

Edge replacement: local

Synchronisation as distributedconstraint solving

New node creation

Node fusion: mobility model

Benefits:

Powerful model of system composition (π, π-I, fusion)

LTS for Ambient ...

...and for Klaim

and path reservation for Qlaim

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

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

G2G1 L

15

4

23

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

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 11/40

Page 32: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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) ⊆ Γ

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 12/40

Page 33: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraph Semantics: Transitions

Γ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. 13/40

Page 34: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraph Semantics: Transitions

Γ, y ` GΛ−→π> Γ′ ` G′

Λ(y) ↑ x 'π y ⇒ y 6= π(y)

ρ = [π(x)/π(y)]

Γ ` [x/y]GρΛ

−−−−−−→(π; ρ)−y

> n(ρΛ) ∪ (π; ρ)−y(Γ) ` ρG′

Γ, y ` GΛ∪{(x,a,~v),(y,a,~w)}−−−−−−−−−−−−−→

π> Γ′ ` G′

x 'π y ⇒ y 6= π(y) ρ = mgu{[[x/y]~w/[x/y ]~v], [

π(x)/π(y)]}

Γ′′ = n(ρΛ) ∪ (π; ρ)−y(Γ) U = ρ(Γ′) \ Γ′′

Γ ` [x/y]G(ρΛ∪(x,τ,〈〉))−−−−−−−−−→

(π; ρ)−y

> Γ′′ ` ν U.ρG′

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 14/40

Page 35: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraph Semantics: Transitions

Γ, y ` GΛ−→π> Γ′ ` G′

Λ(y) ↑ ∨Λ(y) = (τ, 〈〉) x 'π y ⇒ y 6= π(y)

U = Γ′ \ (n(Λ) ∪ π−y(Γ))

Γ ` ν y.GΛ\(y,τ,〈〉)−−−−−−−→

π−y> n(Λ) ∪ π−y(Γ) ` ν U.G′

Γ1 ` G1Λ−→π> Γ2 ` G2 Γ′

1 ` G′1

Λ′

−−→π′

> Γ′2 ` G′

2 Γ1 ∩ Γ′1 = ∅

Γ1 ∪ Γ′1 ` G1 | G′

1Λ∪Λ′

−−−−→π ∪ π′

> Γ2 ∪ Γ′2 ` G2 | G′

2

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 15/40

Page 36: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 16/40

Page 37: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 16/40

Page 38: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 16/40

Page 39: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 17/40

Page 40: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 17/40

Page 41: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 17/40

Page 42: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 18/40

Page 43: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 19/40

Page 44: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 20/40

Page 45: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 20/40

Page 46: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 47: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 48: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 49: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 50: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 51: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 52: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Klaim [DFP98]

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. 21/40

Page 53: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 54: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 55: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 56: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 57: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 58: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 59: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 60: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Qlaim: GatewaysIn [BLP02]

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. 22/40

Page 61: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 23/40

Page 62: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 23/40

Page 63: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 24/40

Page 64: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 24/40

Page 65: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 66: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 67: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 68: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 69: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 70: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 25/40

Page 71: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Hypergraph & Software Design

In [KGKK02] graph transformation is used for modellingdynamic behaviour 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. 26/40

Page 72: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Security

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 27/40

Page 73: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 28/40

Page 74: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 28/40

Page 75: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 28/40

Page 76: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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 [CJM98] 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. 29/40

Page 77: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

A Calculus of Principals

Some design choices:Cryptography & communication (pattern-matching)

Key-sharing via “name fusion”

Rôle based calculus

Multi-session facilities

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 30/40

Page 78: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Syntax of cIP

Extension of IP [BBT01]

E,F ::= nil | α.E | E + E | E|E

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

d ::= N | K | d, d | {d}d | x | ?x

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. 31/40

Page 79: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

cIP Semantics

α.Eα−→ E

Eα−→ E′

E + Fα−→ E′

Eα−→ E′

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

α−→ E′ || F

Eiin(d)−−→ E′

i ∂(κ) B m : ∃σ ground s.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. 32/40

Page 80: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 33/40

Page 81: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Mihda: Co-Algebraic Minimisation ofAutomata

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 34/40

Page 82: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Mihda

Minimizing History Dependent Automata:

HD-automata for history dependent calculi

Co-algebraic specification

Partition Refinement Algorithm based on co-algebraicspecification [FMP02]

Mihda: Ocaml implementation

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. 35/40

Page 83: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 36/40

Page 84: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 85: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 86: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 87: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 88: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 89: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 90: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 37/40

Page 91: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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. 38/40

Page 92: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Summing up...

Initial steps toward:

Declarative approach to WAN programmingFoundational aspectsQoS at application levelSoftware Architectures (to be developed)

Web ServicesSecure composition of componentsCoordination mechanism

Tool developmentDistributed infrastructureProof 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. 39/40

Page 93: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

Published papers

Ferrari, G., Pugliese, R., Tuosto, E. Calculi for Network Aware Programming.Workshop on agents 2000: Dagli oggetti agli agenti

Ferrari, G., Montanari, U., Tuosto, E. LTS Semantics of Ambients via GraphSynchronization with Mobility. In 7th Italian Conference on TheoreticalComputer Science – ICTCS’01, volume 2202 of LNCS. Springer, 2001

Bracciali, A., Brogi, A., Ferrari, G., Tuosto, E.. Security Issues in ComponentBased Design, In ConCoord Workshop 2001, Lipari - Italy

Bracciali, A., Brogi, A., Ferrari, G., Tuosto, E., Security and DynamicCompositions of Open Systems. In International conference of Parallel andDistributed Processing Techniques and Applications, F. Arbarb et al. Editors,PDPTA 2002

Ferrari, G., Montanari, U., Tuosto, E. Graph-based Models of InternetworkingSystems. In Formal Methods at the Crossroads: from Panaces to FoundationalSupport, A. Haeberer editor, LNCS. Springer, 2003

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

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

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

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

G2G1 L

15

4

23

���

������

����

��

G a

Lopen a Lopen a

a

open a

open a

κ IntruderKnowledge

P1 Pn

x

q

q

θ → – p. 40/40

Page 94: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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.

[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.

[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

40-1

Page 95: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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-

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.

40-2

Page 96: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

[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-

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

40-3

Page 97: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

1906 of LNCS, 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.

[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,

40-4

Page 98: Non-Functional Aspects of Wide Area Network Programming · P1 Pn q θ! – p. 1/40. Plan of the talk WAN programming: A short overview Declarative programming model: Hypergraphs Hypergraphs

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), LNCS. Springer, Berlin, 2002.

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

calculus of mobile processes, I and II. Information

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 cal-

culus of secure mobile computations. In [BC99],

Chicago, Illinois, May 1998.

40-5