abc: a calculus for attribute-based communication

38
A Foundation Calculus for Attribute-based Communication Yehia Abd Alrahman Joint work with Rocco De Nicola, Michele Loreti, Francesco Tiezzi and Roberto Vigo Salamanca, Spain April 12-18, 2015

Upload: yehia-abd-alrahman

Post on 16-Apr-2017

66 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

A Foundation Calculus forAttribute-based Communication

Yehia Abd Alrahman

Joint work with Rocco De Nicola, Michele Loreti,Francesco Tiezzi and Roberto Vigo

Salamanca, Spain

April 12-18, 2015

Motivations

Collective Adaptive Systems (CAS)

I Consist of a large number of components that might exhibit anautonomic behaviour.

I Components behaviour depends on their attributes, objectives,environment, . . .

I Systems are open and contain heterogeneous components.

I Might rely on complex decision-making

I Interactions introduce new, emerging, behaviours.

The Challenge

Our objective is the development of a theoretical framework that helps us inunderstanding the essence of CAS and to tackle the main issues raised bythem.

Introduction Yehia Abd Alrahman 1/14

Open Problems for Research

Main Priorities According to FoCAS

I Operating Principles: to guarantee the ability to learn, adapt, evolve,reason ... while functioning.

I Design Principles: to design, engineer and manage CAS to guaranteethe expected functionalities.

I Developmental Principles: to study the evolutionary nature of CAS,understanding the trade-off between learning and evolution)

Our Focus

We are interested in the design principles and specifically in the wayCAS-components interact and organise themselves in collectives.

Introduction Yehia Abd Alrahman 2/14

Some Related Work

Constraint-based Communication

I M. John, C. Lhoussaine, J. Niehren, A. M. Uhrmacher:

I The Attributed Pi Calculus. CMSB 2008: 83-102 ,I πimp(L) Attributed Pi Calculus extended with priorities T. Comp.

Sys. Biology 12: 13-76 (2010).

I T. Given-Wilson, D. Gorla, Barry Jay: Concurrent Pattern Calculus.IFIP TCS 2010: 244-258

I Interaction primitives: point-to-point communication filtered byconstraints

I Scalability: limited scalability due to the number of actions needed tomodel message exchanges with big groups

Introduction Yehia Abd Alrahman 3/14

Some Related Work

Broadcast-based Communication

I CBS - K. V. S. Prasad: A Calculus of Broadcasting Systems. Sci.Comput. Program. 25(2-3): 285-327 (1995)

I bπ-calculus - Cristian Ene, Traian Muntean: A Broadcast-basedCalculus for Communicating Systems. IPDPS 2001: 149

I Interaction primitives: broadcasting communication

I Scalability: scales well, but still expensive, it is unfeasible to considerall listening processes in large systems and to possibly exclude some ofthem.

Attribute-based Communication

An alternative to point-to-point communication and broadcasting could beAttribute-based CommunicationIntroduction Yehia Abd Alrahman 4/14

Attribute-based Communication

I The term Attribute-based Communication was coined in SCEL, butsimilar notions can be found in actorspaces model (G. Agha et al.),location-graphs (J.B. Stefani).

I System structure:

I A set of parallel components equipped with a set of attributesI All operating in an environment where predicates over attributes

can be evaluated

I Interaction primitives: broadcasting filtered by predicates overcomponents attributes

Initial results

A process calculus named AbC - for Attribute-based CommunicationCalculus.

Preliminarly Results Yehia Abd Alrahman 5/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

Γ :P | C1|C2

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 00

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

0

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).PΠ(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

Π(x).P

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P(u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

(u)@Π.P

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P(a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

(a := u).P

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2P1 + P2

(Call) | KK

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

P1 + P2

K

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Πtt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | x

tt | a = u | Π1 ∧ Π2 | ¬Π

Preliminarly Results Yehia Abd Alrahman 6/14

AbC Calculus

(Components) C ::= Γ :P | C1|C2

(Processes) P ::=

(Inaction) 0

(Input) | Π(x).P

(Output) | (u)@Π.P

(Update) | (a := u).P

(Choice) | P1 + P2

(Call) | K

(Predicates) Π ::= tt | a = u | Π1 ∧ Π2 | ¬Π

(Data) u ::= v | xv | xv | x

Preliminarly Results Yehia Abd Alrahman 6/14

Reduction Semantics

Reduction Semantics

Γ :(a := v).P + Q | C . Γ[a 7→ v ] : P | C (Upd)

Γ :(v)@Π.P + Q |m∏i=1

Γi :Πi (xi ).Pi + Qi | C . Γ :P |m∏i=1

Γi :Pi [v/xi ] | C (Com)

s.t. ∀i = 1, . . . ,m (Γi |= Π ∧ Γ |= Πi )∧(C 6≡ Γ′ : Π′(x).P ′ + Q ′ | C ′ where Γ

′ |= Π ∧ Γ |= Π′)

Preliminarly Results Yehia Abd Alrahman 7/14

TV-Streaming with AbC

I We consider a TV broadcaster, say CNN, and two receivers RcvA and RcvB.

I CNN broadcasts news for free, but sports are only for subscribers.

I CNN might internally change the quality of broadcast (Qbrd) to cope withsome situations (i.e., low bandwidth).

I RcvA and RcvB can receive broadcast or change the genre.

CNN , (vs)@Πsport .CNN + (vn)@Πnews .CNN+ (Qbrd := LD).CNN+ (Qbrd := HD).CNN

RcvA,ΠQ(x).RcvA+ (Genre := Sport).RcvA+ (Genre := News).RcvA

RcvB, (tt)(x).RcvB+ (Genre := Sport).RcvA+ (Genre := News).RcvA

Preliminarly Results Yehia Abd Alrahman 8/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }

ΓA = {(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }

ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)

ΠQ = (Qbrd = HD)(Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

(Qbrd, HD

(Qbrd = HD)

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News(Genre, News), . . . }ΓB = {(Genre, News), . . . }

ΠNews = (Genre = News)(Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

(Genre, News

(Genre = News)

Preliminarly Results Yehia Abd Alrahman 9/14

Satisfaction Relation Γ |= Π

Γcnn = {(Qbrd, HD), . . . }ΓA = {(Genre, News), . . . }ΓB = {(Genre, News(Genre, News), . . . }

ΠNews = (Genre = News)(Genre = News)

ΠQ = (Qbrd = HD)

Γcnn |= ΠQ

ΓA |= ΠNews

ΓB |= ΠNews

(Genre, News

(Genre = News)

Preliminarly Results Yehia Abd Alrahman 9/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNNΓcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews-

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

Γcnn :CNN

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvAΓA :RcvA | . . . . . . | ΓB :RcvBΓB :RcvB

Γcnn:(vn)@ΠNews-

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

ΓA :RcvA ΓB :RcvB

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews- Γcnn :CNNΓcnn :CNN | ΓA :RcvAΓA :RcvA | . . . . . . | ΓB :RcvBΓB :RcvB

...τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

Γcnn :CNN ΓA :RcvA ΓB :RcvB

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNNΓcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

Γcnn[Qbrd 7→ LD] :CNN

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews-

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

RcvA Leaves the collective

Preliminarly Results Yehia Abd Alrahman 10/14

Interaction Fragment

Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Γcnn:(vn)@ΠNews- Γcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB...

τ- Γcnn[Qbrd 7→ LD] :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvB

Now Γcnn 6|= ΠQ

Γcnn:(vn)@ΠNews- Γcnn :CNNΓcnn :CNN | ΓA :RcvA | . . . . . . | ΓB :RcvBΓB :RcvB

RcvA Leaves the collective

Γcnn :CNN ΓB :RcvB

Preliminarly Results Yehia Abd Alrahman 10/14

Studying Relative Expressiveness

Modelling Channels in AbC

ba.S | b(x).xd .Pτ- S | ad .P π − calculus

Γ1 : (a)@Π1.S | Γ2 : (tt)(x).(d)@Π2.P AbC− calculus

- Γ1 :S | Γ2 : (d)@Π′2.P

Π1 = (port = b)

Π2 = (port = x) Π′2 = (port = a)

Initially Γ2 = {(port, b)}

Future Goals Yehia Abd Alrahman 11/14

Studying Relative Expressiveness

Modelling Channels in AbC

ba.S | b(x).xd .Pτ- S | ad .P π − calculus

Γ1 : (a)@Π1.S | Γ2 : (tt)(x).(d)@Π2.P AbC− calculus

- Γ1 :S | Γ2 : (d)@Π′2.P

Π1 = (port = b)

Π2 = (port = x) Π′2 = (port = a)

Initially Γ2 = {(port, b)}

Future Goals Yehia Abd Alrahman 11/14

The Current State of AbC

I AbC is provided with new operators at process level (i.e., parallelcomposition, attribute-hiding)

I AbC is provided with a labeled semantics and we proved thecorrespondence with the reduction one.

I We studied the behavioural theory of AbC by relying on labeledbisimilarity and reduction barbed congruence. We proved that ourbisimilarity is a congruence.

I We proved the soundness of our bisimilarity (i.e., bisimilarity is a prooftechnique for reduction barbed congruence).

I We proved that our labeled bisimilarity represents a completecharacterisation of reduction barbed congruence.

Future Goals Yehia Abd Alrahman 12/14

Future Work

Further steps on AbC

I Consider alternative semantics for our language

I Consider new operators at process level

I Study the impact of bisimulation (axioms, proof techniques, . . . )

I Consider alternative behavioural equivalences

I Study the relative expressiveness of the calculus

I Implementing the calculus

I Define a language based on our calculus (an alternative version ofSCEL?)

I Consider stochastic variants and their relationships with CASPA (andalternatives to it?)

Future Goals Yehia Abd Alrahman 13/14

Future Work

Further steps on AbC

I Consider alternative semantics for our language

I Consider new operators at process level

I Study the impact of bisimulation (axioms, proof techniques, . . . )

I Consider alternative behavioural equivalences

I Study the relative expressiveness of the calculus

I Implementing the calculus

I Define a language based on our calculus (an alternative version ofSCEL?)

I Consider stochastic variants and their relationships with CASPA (andalternatives to it?)

Future Goals Yehia Abd Alrahman 13/14

Thank You

Future Goals Yehia Abd Alrahman 14/14