2.5cmA Foundational Theory For Attribute-based

0 downloads 0 Views 6MB Size Report
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

Suggest Documents