KAOS: a KLAIM Extension for Reasoning on Programmable QoS Emilio - - PowerPoint PPT Presentation

kaos a klaim extension for reasoning on programmable qos
SMART_READER_LITE
LIVE PREVIEW

KAOS: a KLAIM Extension for Reasoning on Programmable QoS Emilio - - PowerPoint PPT Presentation

KAOS: a KLAIM Extension for Reasoning on Programmable QoS Emilio Tuosto etuosto@di.unipi.it Dipartimento di Informatica Universit a di Pisa In cooperation with: R. De Nicola, G. Ferrari, U. Montanari and R. Pugliese KAOS: a KLAIM


slide-1
SLIDE 1

KAOS: a KLAIM Extension for Reasoning on Programmable QoS

Emilio Tuosto

etuosto@di.unipi.it

Dipartimento di Informatica Universit´ a di Pisa In cooperation with:

  • R. De Nicola, G. Ferrari, U. Montanari and R. Pugliese

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.1/15

slide-2
SLIDE 2

Plan of the talk

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-3
SLIDE 3

Plan of the talk

WAN Programming with QoS

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-4
SLIDE 4

Plan of the talk

WAN Programming with QoS A representation of QoS parameters

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-5
SLIDE 5

Plan of the talk

WAN Programming with QoS A representation of QoS parameters KAOS

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-6
SLIDE 6

Plan of the talk

WAN Programming with QoS A representation of QoS parameters KAOS KAOS & Hypergraphs: reasoning on QoS issues

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-7
SLIDE 7

Plan of the talk

WAN Programming with QoS A representation of QoS parameters KAOS KAOS & Hypergraphs: reasoning on QoS issues Details in International Symposium on Verification - Theory and Practice (LNCS)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.2/15

slide-8
SLIDE 8

Wide Area Network Programming Issues

Absence of centralised control Administrative domains Interoperability “Mobility” (of resources and computation) Network Awareness

Applications are location dependent Locations have different features and allow multiple (security) policies

Independently programmed in a distributed environment Service Level Agreement Security ...

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.3/15

slide-9
SLIDE 9

Klaim

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-10
SLIDE 10

Klaim

Multiple TS

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-11
SLIDE 11

Klaim

Multiple TS Localities: first class citizens

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-12
SLIDE 12

Klaim

Multiple TS Localities: first class citizens Process migration

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-13
SLIDE 13

Klaim

Multiple TS Localities: first class citizens Process migration

site s’ site s a(t)@s’ eval(P’)@s’ P’ R P Q Q’ R’

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-14
SLIDE 14

Klaim

Multiple TS Localities: first class citizens Process migration

site s’ site s eval(P’)@s’ P’ R’ P R Q Q’ a(t)@s’

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-15
SLIDE 15

Klaim

Multiple TS Localities: first class citizens Process migration

site s’ site s eval(P’)@s’ R’ Q R Q’ a(t)@s’ P’ P

P ::= nil | α.P | P1 | P2 α ::= a@s a ::=

... // Klaim actions

| ε(P)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.4/15

slide-16
SLIDE 16

KAOS: Gateways

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-17
SLIDE 17

KAOS: Gateways

Coordinators (super processes)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-18
SLIDE 18

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-19
SLIDE 19

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites Gateway connection management

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-20
SLIDE 20

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites Gateway connection management

Q’ R’ |P’ site s’ site s R Q P |P

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-21
SLIDE 21

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites Gateway connection management

site s’ site s R’ |P’ Q’ |P Q P R new(s’,|P’)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-22
SLIDE 22

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites Gateway connection management

site s’ site s R’ R Q |P P |P’ Q’

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-23
SLIDE 23

KAOS: Gateways

Coordinators (super processes) Dynamic creation of sites Gateway connection management

κ site s’ site s R’ Q’ Q P R

P ::= γ.P | P1 | P2 γ ::= α | ν(s · κ) |

κ

⌢ s | s κ ⌣ | δ l

Cost κ abstracts characteristics of connections according to many “dimensions” (bandwidth, latency, distance, access rights ...)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.5/15

slide-24
SLIDE 24

Connection costs

Algebra on costs: c-semiring. A, +, ×, 0, 1 is a constraint semiring if A is a set (0, 1 ∈ A), and + and × are binary operations on A that satisfy the following properties:

+ is commutative, associative, idempotent, 0 is its unit element

and 1 is its absorbing element;

× is commutative, associative, distributes over +, 1 is its unit

element, and 0 is its absorbing element. The additive operation of a c-semiring induces a partial order on A defined as a ≤A b ⇐

⇒ ∃c : a + c = b. The minimal element is thus 0

and the maximal 1

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.6/15

slide-25
SLIDE 25

Examples of connection costs

N, min, +, +∞, 0 , the c-semiring of natural numbers N where

the additive operation is min the multiplicative operation is the sum over natural numbers

℘({A}), ∪, ∩, A, A} , c-semiring of capabilities A where

the additive operation is ∪ the multiplicative operation is ∩

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.7/15

slide-26
SLIDE 26

KAOS: Example

s

  • 3. download message
  • 2. check message
  • 1. message on s

Send ’msg’ to t

t

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.8/15

slide-27
SLIDE 27

KAOS: Example

s

  • 3. download message
  • 2. check message
  • 1. message on s

Send ’msg’ to t

t

x y z t

<10,{i,o},2> <10,{i},20> <150,{i,o},2> <100,{i,o,n},2> <300,{i,o},60>

s

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.8/15

slide-28
SLIDE 28

KAOS: Example

s

  • 3. download message
  • 2. check message
  • 1. message on s

Send ’msg’ to t

t

x y z t

<10,{i,o},2> <10,{i},20> <150,{i,o},2> <100,{i,o,n},2> <300,{i,o},60>

s

Costs are triples κ = d, C, p where

  • 1. d is the geographical distance (in Km);
  • 2. C ⊆ {i, o, n} are the capabilities, where i, o and n stand for

input, output and creation of new nodes, respectively;

  • 3. p is the price (in euros).

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.8/15

slide-29
SLIDE 29

KAOS: Example

Costs are elements of the cartesian product of

  • 1. (N, min, +, +∞, 0),
  • 2. (℘({i, o, n}), glb, ∩, {i, o, n}, {i, o, n}),
  • 3. (Q, min, +, +∞, 0).

proved to be a c-semiring [BMR97] Operations × and + are

d, C, p × d′, C′, p′ = d + d′, C ∩ C′, p + p′ d, C, p + d′, C′, p′ = min{d, d′}, glb{C, C′}, min{p, p′}.

Accordingly, the neutral elements of × and +, respectively are de- fined as 1 = 0, {i, o, n}, 0 and 0 = +∞, ∅, +∞.

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.9/15

slide-30
SLIDE 30

Hypergraphs Programming model2

Tackling new non-functional computational phenomena of 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

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.10/15

slide-31
SLIDE 31

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes L : 3, L(y, z, x),

  • y
  • x

L

3 1 2

  • z

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.11/15

slide-32
SLIDE 32

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes L : 3, L(y, z, x),

  • y
  • x

L

3 1 2

  • z

G ::= nil

  • ν y.G
  • L(

x)

  • G|G

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.11/15

slide-33
SLIDE 33

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes L : 3, L(y, z, x),

  • y
  • x

L

3 1 2

  • z

G ::= nil

  • ν y.G
  • L(

x)

  • G|G

Syntactic Judgement

Γ ⊢ G, fn(G) ⊆ Γ

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.11/15

slide-34
SLIDE 34

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes L : 3, L(y, z, x),

  • y
  • x

L

3 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))

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.11/15

slide-35
SLIDE 35

Hyperedges and Hypergraphs Syntax

A hyperedge generalises edges: It connects more than two nodes L : 3, L(y, z, x),

  • y
  • x

L

3 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

  • M
  • x
  • z

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.11/15

slide-36
SLIDE 36

Replacement of Hyperedges

L → G

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.12/15

slide-37
SLIDE 37

Replacement of Hyperedges

L → G

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁

G1

5 4 2 1

G

L 3

G2’

✂ ✂ ✂ ✄ ✄ ✄ ☎ ☎ ✆ ✆ ✝ ✝ ✞ ✞ ✟ ✟ ✠ ✠ ✡ ✡ ☛ ☛ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌

G2

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.12/15

slide-38
SLIDE 38

Replacement of Hyperedges

L → G

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁

G2’ G1 G

L 5 4 2 1 3

✂ ✂ ✄ ✄ ☎ ☎ ☎ ✆ ✆ ✆ ✝ ✝ ✞ ✞ ✟ ✟ ✠ ✠ ✡ ✡ ☛ ☛

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.12/15

slide-39
SLIDE 39

Replacement of Hyperedges

L → G

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁

G2’ G1 G

L 5 4 2 1 3

✂ ✂ ✄ ✄ ☎ ☎ ☎ ✆ ✆ ✆ ✝ ✝ ✞ ✞ ✟ ✟ ✠ ✠ ✡ ✡ ☛ ☛

Edge replacement: local Synchronisation as distributed constraint solving New node creation Node fusion: mobility model

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.12/15

slide-40
SLIDE 40

Replacement of Hyperedges

L → G

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁

G2’ G1 G

L 5 4 2 1 3

✂ ✂ ✄ ✄ ☎ ☎ ☎ ✆ ✆ ✆ ✝ ✝ ✞ ✞ ✟ ✟ ✠ ✠ ✡ ✡ ☛ ☛

Edge replacement: local Synchronisation as distributed constraint solving New node creation Node fusion: mobility model Benefi ts: Powerful model of system composition (π, π-I, fusion) LTS for Ambient ... ...and for Klaim and path reservation for KAOS

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.12/15

slide-41
SLIDE 41

KAOS & Hypergraphs

[ [ s ::L P ] ] = Γ ⊢ (ν x, p)([ [ P ] ]p |

  • s

m,n(

u, x, p) |

n

  • j=1

G

κj tj (xj, vj)) ζ ζ ζ G G ..... ..... ..... ..... ..... ..... G G P

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.13/15

slide-42
SLIDE 42

KAOS & Hypergraphs

[ [ s ::L P ] ] = Γ ⊢ (ν x, p)([ [ P ] ]p |

  • s

m,n(

u, x, p) |

n

  • j=1

G

κj tj (xj, vj)) ζ ζ ζ G G ..... ..... ..... ..... ..... ..... G G P

[ [ nil ] ]p = nil [ [ ot ] ]p = Lot(p) [ [ γ.P ] ]p = Lγ.P (p) [ [ ε(P)@s ] ]p = (ν u)(εT (P )

s

(u, p) | SP (u)) [ [ P1 | P2 ] ]p = [ [ P1 ] ]p | [ [ P2 ] ]p [ [ rec X. P ] ]p = [ [ P[rec X. P /X] ] ]p.

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.13/15

slide-43
SLIDE 43

Graph for the message example

  • x

Gκzx

x

  • Gκtx

x

  • x
  • Gκxz

z

  • z
  • Gκzs

s

s

  • t

t Gκxt

t

  • z

Gκsz

z

  • s
  • Gκty

y

y Gκyz

z

εT

s

  • y
  • L“bigfile′′,file
  • SFf,t
  • KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.14/15
slide-44
SLIDE 44

KAOS Graph semantics: pros & cons

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15

slide-45
SLIDE 45

KAOS Graph semantics: pros & cons

– Many productions (recently reduced :-)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15

slide-46
SLIDE 46

KAOS Graph semantics: pros & cons

– Many productions (recently reduced :-) + Determines the “optimal” path (also KAOS)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15

slide-47
SLIDE 47

KAOS Graph semantics: pros & cons

– Many productions (recently reduced :-) + Determines the “optimal” path (also KAOS) + Path reservation

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15

slide-48
SLIDE 48

KAOS Graph semantics: pros & cons

– Many productions (recently reduced :-) + Determines the “optimal” path (also KAOS) + Path reservation + Path routing

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15

slide-49
SLIDE 49

KAOS Graph semantics: pros & cons

– Many productions (recently reduced :-) + Determines the “optimal” path (also KAOS) + Path reservation + Path routing

Theorem KAOS remote actions are routed on paths with minimal cost

(wrt the c-semiring operations)

KAOS: a KLAIM ExtensionforReasoning on Programmable QoS – p.15/15