abc: a calculus for attribute-based communication
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