Attribute-based Communication. Yehia Abd Alrahman. Joint work with Rocco De Nicola, Michele Loreti,. Francesco Tiezzi and Roberto Vigo. Salamanca, Spain.
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
Motivations Collective Adaptive Systems (CAS) I
Consist of a large number of components that might exhibit an autonomic 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 in understanding the essence of CAS and to tackle the main issues raised by them. 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 guarantee the 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 way CAS-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 by constraints
I
Scalability: limited scalability due to the number of actions needed to model 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-based Calculus for Communicating Systems. IPDPS 2001: 149
I
Interaction primitives: broadcasting communication
I
Scalability: scales well, but still expensive, it is unfeasible to consider all listening processes in large systems and to possibly exclude some of them.
Attribute-based Communication An alternative to point-to-point communication and broadcasting could be Attribute-based Communication Introduction
Yehia Abd Alrahman
4/14
Attribute-based Communication I
The term Attribute-based Communication was coined in SCEL, but similar 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 attributes I All operating in an environment where predicates over attributes can be evaluated
I
Interaction primitives: broadcasting filtered by predicates over components attributes
Initial results A process calculus named AbC - for Attribute-based Communication Calculus. Preliminarly Results
Yehia Abd Alrahman
5/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
| ¬Π
6/14
AbC Calculus (Components) C ::= Γ : P
| C1 |C2
(Processes) (Inaction) (Input) (Output) (Update) (Choice) (Call)
P ::=
(Predicates)
Π ::= tt
|
(Data)
u ::= v
| x
Preliminarly Results
| | | | |
0 Π(x).P (u)@Π.P (a := u).P P1 + P2 K a=u
Yehia Abd Alrahman
| Π 1 ∧ Π2
|
¬Π
6/14
Reduction Semantics
Reduction Semantics Γ : (a := v ).P + Q | C
Γ : (v )@Π.P + Q |
m Q
. Γ[a 7→ v ] : P | C
Γi : Πi (xi ).Pi + Qi | C
i=1
. Γ :P |
m Q
Γi : Pi [v /xi ] | C
i=1
s.t. ∀i = 1, . . . , m (Γi |= Π ∧ Γ |= Πi ) ∧ 0 0 (C 6≡ Γ0 : Π0 (x).P 0 + Q 0 | C 0 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 with some 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), . . . }
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, HD), . . . } ΓA = {(Genre, News), . . . }
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, HD), . . . } ΓA = {(Genre, News), . . . } ΓB = {(Genre, News), . . . }
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, HD), . . . } ΓA = {(Genre, News), . . . } ΓB = {(Genre, News), . . . } ΠNews = (Genre = 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)
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, (Qbrd, HD HD), . . . } ΓA = {(Genre, News), . . . } ΓB = {(Genre, News), . . . } ΠNews = (Genre = News) ΠQ = (Qbrd = HD) Γcnn |= ΠQ
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, HD), . . . } (Genre, News ΓA = {(Genre, News), . . . } ΓB = {(Genre, News), . . . } ΠNews = (Genre = News) ΠQ = (Qbrd = HD) Γcnn |= ΠQ ΓA |= ΠNews
Preliminarly Results
Yehia Abd Alrahman
9/14
Satisfaction Relation Γ |= Π Γcnn = {(Qbrd, HD), . . . } ΓA = {(Genre, News), . . . } ΓB = {(Genre, (Genre, News), News . . . } ΠNews = (Genre = News) ΠQ = (Qbrd = HD) Γcnn |= ΠQ ΓA |= ΠNews ΓB |= ΠNews
Preliminarly Results
Yehia Abd Alrahman
9/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
Preliminarly Results
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
-
Preliminarly Results
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
-
Preliminarly Results
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
-
Preliminarly Results
Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
-
Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
.. . τ
-
Now
Preliminarly Results
Γcnn [Qbrd 7→ LD] : CNN
| ΓA : RcvA | . . . . . . | ΓB : RcvB
Γcnn 6|= ΠQ
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
-
Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
.. . τ
-
Now
Γcnn [Qbrd 7→ LD] : CNN
| ΓA : RcvA | . . . . . . | ΓB : RcvB
Γcnn 6|= ΠQ
Γcnn :(vn )@ΠNews
-
Preliminarly Results
Yehia Abd Alrahman
10/14
Interaction Fragment Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB Γcnn :(vn )@ΠNews
Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
-
.. . τ
-
Now
Γcnn [Qbrd 7→ LD] : CNN
| ΓA : RcvA | . . . . . . | ΓB : RcvB
Γcnn 6|= ΠQ
Γcnn :(vn )@ΠNews
-
Γcnn : CNN | ΓA : RcvA | . . . . . . | ΓB : RcvB
RcvA Leaves the collective Preliminarly Results
Yehia Abd Alrahman
10/14
Studying Relative Expressiveness Modelling Channels in AbC ¯ ba.S | b(x).¯ x d.P
Future Goals
τ
- S | a¯d.P
Yehia Abd Alrahman
π − calculus
11/14
Studying Relative Expressiveness Modelling Channels in AbC ¯ ba.S | b(x).¯ x d.P
τ
- S | a¯d.P
Γ1 : (a)@Π1 .S | Γ2 : (tt)(x).(d)@Π2 .P -
π − calculus AbC − calculus
Γ1 : S | Γ2 : (d)@Π02 .P
Π1 = (port = b) Π2 = (port = x)
Π02 = (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., parallel composition, attribute-hiding)
I
AbC is provided with a labeled semantics and we proved the correspondence with the reduction one.
I
We studied the behavioural theory of AbC by relying on labeled bisimilarity and reduction barbed congruence. We proved that our bisimilarity is a congruence.
I
We proved the soundness of our bisimilarity (i.e., bisimilarity is a proof technique for reduction barbed congruence).
I
We proved that our labeled bisimilarity represents a complete characterisation 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 of SCEL?)
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 of SCEL?)
I
Consider stochastic variants and their relationships with CASPA (and alternatives to it?)
Future Goals
Yehia Abd Alrahman
13/14
Thank You
Future Goals
Yehia Abd Alrahman
14/14