A Foundational Theory For Attribute-based. Communication. Yehia Abd Alrahman. Doctoral Thesis Defense. March 2017. IMT- School for Advanced Studies - ...
A Foundational Theory For Attribute-based Communication Yehia Abd Alrahman Doctoral Thesis Defense March 2017
IMT- School for Advanced Studies - Lucca
Contents 1 Collective Adaptive Systems 2 The AbC Calculus AbC Syntax & Semantics Behavioral Theory for AbC Encoding other communication paradigms Ab a CuS Programming Framework 3 Distributed Coordination Coordination Infrastructures Performance Evaluation Performance Evaluation 4 Concluding Remarks
Yehia Abd Alrahman
Collective Systems We are surrounded by examples of collective systems, in the natural world .... I
Bees, Fishes, Birds, . . .
Collective Adaptive Systems
Yehia Abd Alrahman
Collective Systems ... and in the man-made world I
Traffic, Epidemics, Robots, . . .
Collective Adaptive Systems
Yehia Abd Alrahman
Collective Adaptive Systems From a computer science perspective, collective systems can be viewed as consisting of a large number of interacting entities.
I
Each entity may have its own properties, objectives and actions.
I
At the system level the entities combine to create the collective behaviour.
Collective Adaptive Systems
Yehia Abd Alrahman
Collective Adaptive Systems The behaviour of the system is thus dependent on the behaviour of the individual entities.
And the behaviour of the individuals will be influenced by the state of the overall system.
Collective Adaptive Systems
Yehia Abd Alrahman
Collective Adaptive Systems CAS are often embedded in our environment and need to operate without centralised control or direction.
I
Moreover when conditions within the system change it may not be feasible to have human intervention to adjust behaviour appropriately. Thus systems must be able to autonomously adapt.
Collective Adaptive Systems
Yehia Abd Alrahman
Interaction patterns in CAS Typically, CAS exhibit two kinds of interaction pattern: 1. Spreading: one agent spreads relevant information to a given group of other agents 2. Collecting: one agent changes its behaviour according to data collected from one agent belonging to a given group of agents. Spreading: 1-to-many
Collective Adaptive Systems
Collecting: 1-to-1
Yehia Abd Alrahman
Modelling and analysis of CAS Our goal is to develop a coherent, integrated set of linguistic primitives, methods and tools to build systems that can operate in open-ended, unpredictable environments.
Collective Adaptive Systems
Yehia Abd Alrahman
Modelling and analysis of CAS Our goal is to develop a coherent, integrated set of linguistic primitives, methods and tools to build systems that can operate in open-ended, unpredictable environments. Challenges for modeling CAS Works on Process Algebra and Actors provide a solid basic framework for modeling CAS but there remain a number of challenges: I
Modeling richer forms of interaction
I
Capturing adaptivity
I
Modeling the influence of environment on behavior
Collective Adaptive Systems
Yehia Abd Alrahman
Modelling and analysis of CAS We focus on the following: 1. attribute based communication for modelling interactions in CAS; 2. AbC: a calculus focusing on a minimal set of primitives that rely on attribute-based communication for systems interaction; 3. Ab a CuS, a Java run-time environment for CAS; 4. Distributed Coordination infrastructures and their performance evaluation.
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication
Collective Adaptive Systems
Yehia Abd Alrahman
Attribute-based communication I
collective are determined by the predicates validated by each component.
I
There is no coordinator, hence no bottleneck or critical point of failure
I
A component might be part of more than one collective
Example Predicates active = yes ∧ battery level > 30% p I rangemax > (this.x − x)2 + (this.y − y )2 I
I
tt
I
trust level > medium
I
...
I
trousers = red
I
shirt = green
Collective Adaptive Systems
Yehia Abd Alrahman
Plan 1 Collective Adaptive Systems 2 The AbC Calculus AbC Syntax & Semantics Behavioral Theory for AbC Encoding other communication paradigms Ab a CuS Programming Framework 3 Distributed Coordination Coordination Infrastructures Performance Evaluation Performance Evaluation 4 Concluding Remarks
The AbC Calculus
Yehia Abd Alrahman
AbC: Basic Ingredients.
I
An AbC system consists of a set components: C ::= Γ : P
I
| C1 kC2
| !C
Each components has: I I
a behaviour: running processes P; a store: mapping attributes to values a1 = v1 a2 = v2 a3 = v3 .. .
Q R P
The AbC Calculus
Yehia Abd Alrahman
| ν x˜C
AbC: Basic Ingredients. Process syntax: P ::= 0 | (E˜)@Π.P | Π(˜ x ).P | [˜ a := E˜]P | hΠiP | P1 + P2 | P1 |P2 | A(˜ x) Processes can:
The AbC Calculus
Yehia Abd Alrahman
AbC: Basic Ingredients. Process syntax: P ::= 0 | (E˜)@Π.P | Π(˜ x ).P | [˜ a := E˜]P | hΠiP | P1 + P2 | P1 |P2 | A(˜ x) Processes can: I
send a message to all the components satisfying a given predicate;
The AbC Calculus
Yehia Abd Alrahman
AbC: Basic Ingredients. Process syntax: P ::= 0 | (E˜)@Π.P | Π(˜ x ).P | [˜ a := E˜]P | hΠiP | P1 + P2 | P1 |P2 | A(˜ x) Processes can: I
send a message to all the components satisfying a given predicate;
I
receive a message from a component satisfying a given predicate;
The AbC Calculus
Yehia Abd Alrahman
AbC: Basic Ingredients. Process syntax: P ::= 0 | (E˜)@Π.P | Π(˜ x ).P | [˜ a := E˜]P | hΠiP | P1 + P2 | P1 |P2 | A(˜ x) Processes can: I
send a message to all the components satisfying a given predicate;
I
receive a message from a component satisfying a given predicate;
I
change the store;
The AbC Calculus
Yehia Abd Alrahman
AbC: Basic Ingredients. Process syntax: P ::= 0 | (E˜)@Π.P | Π(˜ x ).P | [˜ a := E˜]P | hΠiP | P1 + P2 | P1 |P2 | A(˜ x) Processes can: I
send a message to all the components satisfying a given predicate;
I
receive a message from a component satisfying a given predicate;
I
change the store;
I
wait until a given predicate is locally satisfied.
The AbC Calculus
Yehia Abd Alrahman
AbC: Semantics Excerpts
Brd
JE˜KΓ = v˜ JΠ1 KΓ = Π
JΠ[˜ v /˜ x ]KΓ l tt Γ |= Π0
Rcv
Π˜ v Γ : (E˜)@Π1 .P − 7 −→ Γ : P
Π0 (˜ v)
Γ : Π(˜ x ).P 7−−−→ Γ : P[˜ v /˜ x] ] Π(˜ v)
λ
Γ : P 7− → Γ0 : P 0 Comp
C-Fail
λ
Γ:P − → Γ0 : P 0 ν x˜Π˜ v
Γ : P 7−−−→ Γ : P Π(˜ v)
Γ : P −−−→ Γ : P Π(˜ v)
C1 −−−→ C10 C2 −−−→ C20 Com ν x˜Π˜ v
Π 6l ff x˜ ∩ fn(C2 ) = ∅
C1 k C2 −−−→ C10 k C20
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 4%}: (y = “master ”)(x, y ).Q1 k {bl = 2%}: (y = “peer ”)(x, y ).Q2 k {bl = 2%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 4%}: (y = “master ”)(x, y ).Q1 k {bl = 2%}: (y = “peer ”)(x, y ).Q2 k {bl = 2%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 4%}: (y = “master ”)(x, y ).Q1 k {bl = 2%}: (y = “peer ”)(x, y ).Q2 k {bl = 2%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 4%}: (y = “master ”)(x, y ).Q1 k {bl = 2%}: (y = “peer ”)(x, y ).Q2 k {bl = 2%}: (tt)(x, y ).Q3 ⇓ {role = “master ”} : P k {bl = 4%}: Q1 [stop/x, master /y ] k {bl = 2%}: (y = “peer ”)(x, y ).Q2 k {bl = 2%}: Q3 [stop/x, master /y ]
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 45%}: (y = “master ”)(x, y ).Q1 k {bl = 2%} : (y = “peer ”)(x, y ).Q2 k {bl = 25%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 45%}: (y = “master ”)(x, y ).Q1 k {bl = 2%} : (y = “peer ”)(x, y ).Q2 k {bl = 25%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Examples of interactions. . . Broadcast synchronization: {role = “master ”} : (stop, this.role)@(bl < 5%).P k {bl = 45%}: (y = “master ”)(x, y ).Q1 k {bl = 2%} : (y = “peer ”)(x, y ).Q2 k {bl = 25%}: (tt)(x, y ).Q3 ⇓ {role = “master ”} : P k {bl = 45%}: (y = “master ”)(x, y ).Q1 k {bl = 2%} : (y = “peer ”)(x, y ).Q2 k {bl = 25%}: (tt)(x, y ).Q3
The AbC Calculus
Yehia Abd Alrahman
Behavioural Theory for AbC Objectives I
To compare systems, specified at different levels of abstractions.
I
To be used as a tool to minimize the state space of systems (by relying on equational laws).
I
To prove properties about systems.
The AbC Calculus
Yehia Abd Alrahman
Behavioural Theory for AbC Objectives I
To compare systems, specified at different levels of abstractions.
I
To be used as a tool to minimize the state space of systems (by relying on equational laws).
I
To prove properties about systems.
Observable Barbs Let C ↓Π mean that component C can send a message with a predicate Π0 (i.e., ν x˜Π0 v˜
C −−−−→ where Π0 l Π and Π0 6l ff). We write C ⇓Π if C _∗ C 0 ↓Π Weak Reduction Barbed Congruence Relations A Weak Reduction Barbed Relation is a symmetric relation R over the set of AbC-components which is barb-preserving, reduction-closed, and context-closed. Two components are weakly reduction barbed congruent, written C1 ∼ = C2 , if (C1 , C2 ) ∈ R for some weak reduction barbed congruence relation R. The AbC Calculus
Yehia Abd Alrahman
Bisimulation for AbC Components Weak Labelled Bisimulation A symmetric binary relation R over the set of AbC-components is a weak bisimulation if for every action γ, whenever (C1 , C2 ) ∈ R and γ is of the form τ, v with Π 6l ff), it holds that: Π(˜ v ), or (ν x˜Π˜ γ
γ ˆ
⇒ C20 and (C10 , C20 ) ∈ R C1 − → C10 implies C2 = Bisimilarity Two components C1 and C2 are weak bisimilar, written C1 ≈ C2 if there exists a weak bisimulation R relating them. γ ˆ γ Strong bisimilarity, “∼”, is defined in a similar way by replacing = ⇒ with − → Bisimilarity and Barbed Congruence do coincide ∼ C2 if and only if C1 ≈ C2 . C1 =
The AbC Calculus
Yehia Abd Alrahman
Congruence & Applications System Level I
C1 ≈ C2 implies C1 kC ≈ C2 kC for all components C
I
C1 ≈ C2 implies νxC1 ≈ νxC2 for all names x
I
C1 ≈ C2 implies !C1 ≈ !C2
Comparing systems at different levels of abstraction Consider a network composed of a set of providers CP = Γp : P and forwarders CF = Γi : F where N = ν(fwd, n˜)(CP 1 k CF 1 k CF 2 )
CP1
CF1 CF2
The AbC Calculus
Yehia Abd Alrahman
Comparing Systems Cont. The behavior of processes P and F is defined below. P , (this.grp, this.role, v˜)@(role = fwd).(this.role, v˜)@Π1 F , (x = this.grp ∧ y = pdr )(x, y , z˜).(this.grp, y , z˜)@(role = fwd).(y , z˜)@Π1 + (x = this.grp ∨ x = this.nbr )(x, y , z˜).(y , z˜)@Π1 Initially: Γp = {(grp, n), (role, pdr )}, Γ1 = {(grp, n), (role, fwd), (nbr , n0 )} Γ2 = {(grp, n), (role, fwd), (nbr , n00 )} For some T = ν(fwd, n˜)(Γt : (pdr , v˜)@Π1 .(pdr , v˜)@Π1 .(pdr , v˜)@Π1 .0) We can prove that T ≈ N The AbC Calculus
Yehia Abd Alrahman
Bisimilarity & Process Operators Component Level I
Bisimilarity is not preserved by most process level operators.
I
This is the price we have to pay for allowing processes to share a store.
I
Sharing at the component level is reasonable.
The AbC Calculus
Yehia Abd Alrahman
Bisimilarity & Process Operators Component Level I
Bisimilarity is not preserved by most process level operators.
I
This is the price we have to pay for allowing processes to share a store.
I
Sharing at the component level is reasonable. P
Q z }| { z}|{ 0 Let C1 = Γ : hthis.a = w i(v )@Π.0 where Γ(a) = v , C2 = Γ : 0 , and R= [a := w ]()@ff.0. We have that C1 ≈ C2 (Jthis.a = w KΓ l ff).
I
Γ : P[v /w ] 6≈ Γ : Q[v /w ]
I
Γ : (tt)(w ).P 6≈ Γ : (tt)(w ).Q
I
Γ : [a := w ]P 6≈ Γ : [a := w ]Q
I
Γ : P|R 6≈ Γ : Q|R
The AbC Calculus
Yehia Abd Alrahman
A Way Out Solution To close bisimilarity under substitutions by definition. The definition would be a slight variant of the notion of full bisimilarity proposed by Sangiorgi and Walker in [The book of π-calculus]. This definition would be finer than the classical one.
The AbC Calculus
Yehia Abd Alrahman
A Way Out Solution To close bisimilarity under substitutions by definition. The definition would be a slight variant of the notion of full bisimilarity proposed by Sangiorgi and Walker in [The book of π-calculus]. This definition would be finer than the classical one. Full Bisimilarity Two components C1 and C2 are full bisimilar, written C1 ≈f C2 , if C1 σ ≈ C2 σ for every substitutions σ
The AbC Calculus
Yehia Abd Alrahman
Problems Due to Mixed Choice? Let C1 = Γ : Π1 (x).0 , C2 = Γ : Π2 (x).0 , and R = (v )@Π.0. Though the receiving predicates for both components are different we still have that C1 ≈ C2
The AbC Calculus
Yehia Abd Alrahman
Problems Due to Mixed Choice? Let C1 = Γ : Π1 (x).0 , C2 = Γ : Π2 (x).0 , and R = (v )@Π.0. Though the receiving predicates for both components are different we still have that C1 ≈ C2 Γ : Π1 (x).0 + R 6≈ Γ : Π2 (x).0 + R
The AbC Calculus
Yehia Abd Alrahman
Problems Due to Mixed Choice? Let C1 = Γ : Π1 (x).0 , C2 = Γ : Π2 (x).0 , and R = (v )@Π.0. Though the receiving predicates for both components are different we still have that C1 ≈ C2 Γ : Π1 (x).0 + R 6≈ Γ : Π2 (x).0 + R The reason is that input actions have no side effects at system level (One component can successfully receive while the other fails silently). Once an output action is added, the components can be distinguished.
The AbC Calculus
Yehia Abd Alrahman
Encoding other paradigms A number of alternative communication paradigms such as: I
Explicit Message Passing
I
Group based Communications
I
Publish-Subscribe
can be easily modelled by relying on AbC primitives
The AbC Calculus
Yehia Abd Alrahman
Encoding the bπ-calculus A bπ-calculus process P is rendered as an AbC component Γ:P where Γ = ∅. Possible problem Impossibility of specifying the channel along which the exchange has to happen instantaneously. Way out Send the communication channel as a part of the transmitted values and the receiver checks its compatibility. L a¯x.P M , (a, x)@(a = a).L P M
L a(x).P M , Π(y , x).L P M with Π = (y = a) and
Theorem The encoding L M : bπ → AbC is uniform. The AbC Calculus
Yehia Abd Alrahman
y 6∈ n(L P M)
Group based communication Group-based interaction I
A group name is encoded as an attribute in AbC.
I
The constructs for joining or leaving a given group can be encoded as attribute updates.
I
... Γ1 : (msg , this.group)@(group = b).0 k Γ2 : (y = a)(x, y ).0 k .. . k Γ7 : (y = a)(x, y ) | [this.group 7→ b]()@ff.0
Let Γ1 (group) = a, Γ2 (group) = b, Γ7 (group) = c The AbC Calculus
Yehia Abd Alrahman
Publish-Subscribe Publish-Subscribe interaction is a simple special case of attribute-based communication: I
A Publisher sends tagged messages for all subscribers by exposing from his environment only the current topic.
I
Subscribers check compatibility of messages according to their subscriptions. Γ1 : (msg , this.topic)@(tt) k Γ2 : (y = this.subscription)(x, y ) k .. . Γn : (y = this.subscription)(x, y ) k
Observation Dynamic updates of attributes and the possibility of controlling their visibility give AbC great flexibility and expressive power. The AbC Calculus
Yehia Abd Alrahman
Ab a CuS: A Run-time Environment for the AbC Ab a CuS is a Java API that allows programmers to use the linguistic primitives of AbC in Java programs: I
fully relies on the formal semantics of AbC;
I
there is a one-to-one correspondence between the AbC constructs Ab a CuS classes.
Ab a CuS provides classes for: I
Components;
I
Processes;
I
Store;
I
Communication infrastructure;
The AbC Calculus
Yehia Abd Alrahman
Process Template in Ab a CuS
1 2 3 4 5 6 7 8 9 10 11 12 13
public class [PROCESS-IDENTIFIER] extends AbCProcess { ? [INSTANCE-VARIABLES] ? public [PROCESS-IDENTIFIER](?[PARAMETERS]) { [INITIALIZATION] } @Override protected void doRun() throws Exception { [PROCESS-BODY] } }
The AbC Calculus
Yehia Abd Alrahman
Communication infrastructure AbC operational semantics abstracts from the underlying network infrastructures. Ab a CuS is parametric with respect to the specific network infrastructure. . . . . . new infrastructures can be easily integrated in the framework. Currently three kinds of communication infrastructures are integrated in Ab a CuS: Virtual: components interacts via a local/share resource Centralized: a single server coordinates the interactions among components; Distributed: control is distributed among different servers.
The AbC Calculus
Yehia Abd Alrahman
Plan 1 Collective Adaptive Systems 2 The AbC Calculus AbC Syntax & Semantics Behavioral Theory for AbC Encoding other communication paradigms Ab a CuS Programming Framework 3 Distributed Coordination Coordination Infrastructures Performance Evaluation Performance Evaluation 4 Concluding Remarks
Distributed Coordination
Yehia Abd Alrahman
Atomic Message Exchange 1. Assume that C1 wants to send message M on a predicate Π where only Γ6 |= Π and Γ4 |= Π.
X C1 C3 Distributed Coordination
C2 C4
C5 Yehia Abd Alrahman
C6
Atomic Message Exchange 1. Assume that C1 wants to send message M on a predicate Π where only Γ6 |= Π and Γ4 |= Π.
X (M)@Π C1 C3 Distributed Coordination
C2 C4
C5 Yehia Abd Alrahman
C6
Atomic Message Exchange 1. Assume that C1 wants to send message M on a predicate Π where only Γ6 |= Π and Γ4 |= Π.
(M)@Π X C1 C3 Distributed Coordination
C2 C4
C5 Yehia Abd Alrahman
C6
Atomic Message Exchange 1. Assume that C1 wants to send message M on a predicate Π where only Γ6 |= Π and Γ4 |= Π. 2. All components wait until the message is delivered to all available receivers.
X C1
C2 (M)@Π
C3 Distributed Coordination
(M)@Π
C4
C5 Yehia Abd Alrahman
C6
Atomic Message Exchange 1. Assume that C1 wants to send message M on a predicate Π where only Γ6 |= Π and Γ4 |= Π. 2. All components wait until the message is delivered to all available receivers. 3. Inefficient! we want to reduce synchrony and mimic the effects of atomic exchange. 4. Next we propose different solutions and evaluate their performance.
X C1
C2 (M)@Π
C3 Distributed Coordination
(M)@Π
C4
C5 Yehia Abd Alrahman
C6
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr 0
C1 0 nid1
0 nid2 W1
Distributed Coordination
C2
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr 0
m C1 0 nid1
0 nid2 W1
Distributed Coordination
C2
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr q, C1
0
m C1 0 nid1
0 nid2 W1
Distributed Coordination
C2
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr q, C1
0
m C1 0 nid1
0 nid2 W1
Distributed Coordination
C2
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster r , C1 , 0
S1
S2
S3
I
ctr 0 1
m C1 0 nid1
0 nid2 W1
Distributed Coordination
C2
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr
d, C1 , m, 0
C1 0 1 nid1
Distributed Coordination
C2 0 nid2
W1
0 1
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr
d, C1 , m, 0
C1 0 1 nid1
Distributed Coordination
C2 0 nid2
W1
0 1
C3 0 nid3
W2
Yehia Abd Alrahman
W3
Cluster-based Infrastructure Cluster S1
S2
S3
I
ctr 0 1
C1 0 1 nid1 W1
Distributed Coordination
C2
C3
0 m, 0 nid2 W2
0 m, 0 nid3 W3
Yehia Abd Alrahman
Ring-based Infrastructure
R1
C1
R3
0 nid1
0 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1 m C1
R3
0 nid1
0 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1 m C1
R3
q, C1 0 nid1
0 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1 m C1
R3
q, C1 0 nid1
0 1 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1 m C1
R3
r , C1 , 0 0 nid1
0 1 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1 d, C1 , m, 0 C1
R3
0 nid1
0 1 ctr W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1
C1
R3
0 m, 0 nid1
0 1 ctr
W1
R2 0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Ring-based Infrastructure
R1
C1
0 1 nid1
R3 d, m, 0
W1
0 1 ctr R2
0 nid2
W3
C2 W2
Distributed Coordination
0 nid3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 T1 0 nid1 T2 C1
W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 T1 0 nid1 T2
m C1
W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 T1 0 nid1 m C1
T2
q,C1
W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 T1 q,C1
T2
m C1
0 nid1 W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 1 T1 r,C1 ,0
T2
m C1
0 nid1 W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 1 T1 0 nid1 m
T2
r,C1 ,0
C1
W1
0 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 1 T1 0 nid1 d,C1 ,m,0
C1
Distributed Coordination
T2
W1
0 m, 0 nid2 W2
T3 C2
0 nid3 W3
Yehia Abd Alrahman
Tree-based Infrastructure ctr 0 1 T1 0 m, 0 nid1 W1
d,C1 ,m,0
T2 C1
0 1 nid2
C2
0 nid3 W2
Distributed Coordination
T3
W3
Yehia Abd Alrahman
Performance Evaluation I
We model the above infrastructures as Continuous Time Markov Processes.
I
A state of a process represents possible system configurations, while transitions are associated with specific events.
I
Events: a new message sent by an agent; a message transmitted from a node to another; a message locally handled by a node.
I
The agent sending rate λs = 1.0; the infrastructure transmission rate λt = 15.0; and the handling rate λh = 1000.0. We rely on kinetic Monte Carlo simulation.
Distributed Coordination
Yehia Abd Alrahman
Performance Evaluation I
We model the above infrastructures as Continuous Time Markov Processes.
I
A state of a process represents possible system configurations, while transitions are associated with specific events.
I
Events: a new message sent by an agent; a message transmitted from a node to another; a message locally handled by a node.
I
The agent sending rate λs = 1.0; the infrastructure transmission rate λt = 15.0; and the handling rate λh = 1000.0. We rely on kinetic Monte Carlo simulation.
System configurations I
C [x, y ]: a cluster composed by x nodes and y agents;
I
R[x, y ]: a ring composed by x nodes each of which manages y agents;
I
T [x, y , z]: a tree composed by x levels. Each node in the tree (but the leafs) has y + z children: y nodes and z agents. The leaf nodes have z agents each.
Distributed Coordination
Yehia Abd Alrahman
Simulation Scenarios Communication intensive (CI) is used to estimate the performance of the infrastructures when a large number of messages are exchanged among agents. All the involved agents send messages continuously with a fixed rate and the scenario is used to assess the infrastructure performance when it is overloaded. Data providers (DP) Only a fraction of agents sends messages. This scenario models a more realistic configuration where data are only sent by specific agents that, for instance, may acquire these data via sensors from the environment where they operate. Measures I
Average delivery time: the average time needed by a message to reach all the agents in the system.
I
Message time gap: the average time between two different messages received by a single agent.
Distributed Coordination
Yehia Abd Alrahman
Communication Intensive/Cluster Average Delivery Time (155 agents with 10, 20 and 31 cluster elements):
Distributed Coordination
Yehia Abd Alrahman
Communication Intensive/Cluster Average Message Time Gap (155 agents with 10, 20 and 31 cluster elements):
Distributed Coordination
Yehia Abd Alrahman
Communication Intensive/Ring Average Delivery Time and Average Message Time Gap:
Distributed Coordination
Yehia Abd Alrahman
Communication Intensive/Tree Average Delivery Time: T [5, 2, 5] and T [3, 5, 5]:
Average Message Time Gap: T [5, 2, 5] and T [3, 5, 5]:
Distributed Coordination
Yehia Abd Alrahman
Communication Intensive Summary Cluster/Ring/Tree infrastructure results (155 agents, 310 agents):
Distributed Coordination
Yehia Abd Alrahman
Data Provider Scenario Average Delivery Time:
Distributed Coordination
Yehia Abd Alrahman
Data Provider Scenario Average Message Time Gap:
Distributed Coordination
Yehia Abd Alrahman
Plan 1 Collective Adaptive Systems 2 The AbC Calculus AbC Syntax & Semantics Behavioral Theory for AbC Encoding other communication paradigms Ab a CuS Programming Framework 3 Distributed Coordination Coordination Infrastructures Performance Evaluation Performance Evaluation 4 Concluding Remarks
Concluding Remarks
Yehia Abd Alrahman
Concluding Remarks & Future Works
I
We have introduced a foundational process calculus, named AbC, for attribute-based communication.
I
We investigated the expressive power of AbC both in terms of its ability to model adaptive scenarios and of its ability to encode other interaction paradigms.
I
We developed a prototype implementation for AbC linguistic primitives to demonstrate their flexibility to accommodate different interaction patterns.
I
We studied the impact of centralized and decentralized implementations of the underlying communication infrastructure.
I
Future works: static semantics, verification techniques, alternative behavioral relations like testing preorders, proof techniques, equational laws, etc.
Concluding Remarks
Yehia Abd Alrahman
“Science is woven from many threads and is all the stronger when each thread is hard to trace in the finished fabric. . . I make a disclaimer. I reject the idea that there can be a unique conceptual model, or one preferred formalism, for all aspects of something as large as concurrent computation.” — Robin Milner, Turing Award Lecture, 1993
Many thanks for your time. Questions?
Concluding Remarks
Yehia Abd Alrahman