roland kluge, icgt 2018, a systematic approach to constructing … · 2018. 6. 29. · roland kluge...

30
Roland Kluge [email protected] with Michael Stein, Gergely Varró, Andy Schürr, Matthias Hollick, Max Mühlhäuser Supported by the Cooperative Research Center 1053 "MAKI" https://tiny.cc/MAKI [SoSyM17] Kluge, R. et al. SoSyM 2017, DOI: 10.1007/s10270-017-0587-8 Technische Universität Darmstadt Fachgebiet Echtzeitsysteme Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology Dept. of Computer Science (adjunct Professor) www.es.tu-darmstadt.de A systematic approach to constructing families of incremental topology control algorithms using graph transformation Presentation at ICGT 2018 Toulouse, France, 2018-06-25 1 Sensor node Topology control Maxpower kTC l-kTC RNG XTC GG Aux. e-kTC Properties Weight Position Yao Min.-Weight Algorithm Tie Breaking Hops φ(e12, e13, e32) = w(e12) > max(w(e13),w(e23)) w(e12) > k*min(w(e13),w(e23)) Triangle-Based

Upload: others

Post on 16-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Roland Kluge

[email protected]

with Michael Stein, Gergely Varró, Andy Schürr, Matthias Hollick, Max Mühlhäuser

Supported by the Cooperative Research Center 1053 "MAKI" – https://tiny.cc/MAKI

[SoSyM17] Kluge, R. et al. SoSyM 2017, DOI: 10.1007/s10270-017-0587-8

Technische Universität Darmstadt

Fachgebiet Echtzeitsysteme – Real-Time Systems Lab

Prof. Dr. rer. nat. Andy Schürr

Dept. of Electrical Engineering and Information Technology

Dept. of Computer Science (adjunct Professor)

www.es.tu-darmstadt.de

A systematic approach to constructing

families of incremental topology control

algorithms using graph transformation

Presentation at ICGT 2018

Toulouse, France, 2018-06-25

1

Sensor node

Topology control

Maxpower

kTC

l-kTCRNG

XTC GG

Aux.

e-kTC

Properties

Weight

Energy

Position

YaoMin.-Weight

Algorithm

Tie BreakingHops

φ(e12, e13, e32) =

w(e12) > max(w(e13),w(e23)) ᴧ

w(e12) > k*min(w(e13),w(e23))

Triangle-Based

Page 2: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Example: da_sense – A hybrid sensor network

for Smart Cities (“Digitalstadt Darmstadt”) (I)

An Urban Management Platform

based on heterogeneous sensor

networks

Traffic: static at traffic lights

Temperature: mobile on trams

Noise: mobile via Android app

http://www.da-sense.de/

2

Image Sources: Traffic light: https://wiki.freiheitsfoo.de/pmwiki.php?n=Main.Ampel-Kameras | Tram: "Die Transparente Stadt" https://www.youtube.com/watch?v=JimyRNyLZKo | Android screenshots and map: http://www.da-sense.de/

Page 3: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Example: da_sense – A hybrid sensor network

for Smart Cities (“Digitalstadt Darmstadt”) (II)

3

http://www.da-sense.de/

3

Image Sources: Traffic light: https://wiki.freiheitsfoo.de/pmwiki.php?n=Main.Ampel-Kameras | Tram: "Die Transparente Stadt" https://www.youtube.com/watch?v=JimyRNyLZKo | Android screenshots and map: http://www.da-sense.de/

An Urban Management Platform

based on heterogeneous sensor

networks

Traffic: static at traffic lights

Temperature: mobile on trams

Noise: mobile via Android app

Page 4: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Graph-based topology model for

Wireless Sensor Networks

4

Transmission range of n1

Wireless node n1

Wireless link e12

with link weight w(e12)

TelosB

sensor node

48kB ROM,

10kB RAM,

2xAAA battery

2

3

2

2

2

3

1

4

x

y

Wireless Sensor Network topology

Image Sources: TelosB Sensor node: Wiki Commons, CC-BY-3.0, by Jbasic, https://commons.wikimedia.org/wiki/File:TelosB.jpg

Page 5: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Topology control sparsens topologies to

improve non-functional property

Topo. C

trl.

Communication link

Sensor nodeID: 3

Maintain

connectivityInput topology Output topology

5

Page 6: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Topology control by example: kTC algorithm

6

2

3

2

2

2

3

1

4

Topolo

gy c

ontro

l

x

y

2

3

2

2

2

3

1

4

x

y

Active

Inactive

kTC rule:

"Inactivate a link if (and only if) it is

(i) the weight-maximal link in a triangle and

(ii) at least k-times longer than the weight-minimal link in the triangle."

Input topology Output topology

Reduced

transmission

range of n1

k=1.2

Page 7: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

(i) Specification: Graph theory, …

(ii) Simulation:

C++, Java, …

(iii) Testbed:

C, Assembler-like,…

The curse of low abstraction in traditional

communication system development

7

Iteration

Implementation

Formalization, proofs,… Constraints ✓

Model

</>Level of abstraction

Porting

Limitations ✓

Code

Image Sources: FlockLab https://www.flocklab.ethz.ch/wiki/chrome/site/wiki_public/observer/outdoor_1.jpg

Page 8: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Goal: Support the correct-by-construction

development of topology control algorithms

8

(i) Specification: Graph theory, …

(ii) Simulation:

C, Java, …

(iii) Testbed:

C, C++,…

Formalization, proofs,… Localization

</>

Constraints ✓

Limitations ✓ Model

CodeIteration

Extensible code gen.Extensible code gen.Level of

abstraction

How to specify

consistency

(declaratively)?

How to

operationalize

consistency

preservation?

How to ensure

transparency/

traceability?

Page 9: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

MAKI for a better Future InternetMulti-Mechanismen-Adaption für das Künftige Internet

9

Network topologies and topology adaptation

Specification languages

Software engineering

𝑀𝑗𝑀𝑖 Transition

A: Construction methods Our area(models, design patterns, languages)

https://www.maki.tu-darmstadt.de/

P2P Streaming

Mesh Hybrid Tree

C/S Streaming

DASH HLS ...

C: Communication systems (concrete self-adaptive systems)

Monitor Analyze Plan Execute

B: Adaptation mechanisms (reusable components for adaptive systems)

Knowledge

Page 10: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Unstructured consistency specification

Unstructured formulation

kTC: "Inactivate a link if (and only if) it is

(i) the weight-maximal link in a triangle and

(ii) at least k-times longer than the weight-minimal link in the triangle."

Structured formulation

Problem 1: Implicit, unstructured, or informal specification of constraints.

Spec. Sim. Test.

10

3

21

e13 e23

e12

Structural constraint

φ(e12, e13, e32) =

w(e12) > max(w(e13),w(e23)) ᴧ

w(e12) > k*min(w(e13),w(e23))

Attribute constraints

Page 11: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

213

θ

Spec. Sim. Test.

Topology control algorithms form families

─ Family: common structural pattern

─ Algorithm: refinement based onattribute constraints

Problem 2: Insufficient usage of relationships among topology control algorithms

kTC

LMST

Yao/CBTC

SϴGG LSϴGG

SYaoGG

RNG

GG

XTC

e-kTC

l-kTC l*-kTC

g-kTC

Cone-based

Triangle-based

Tree-based

Spec. Sim. Test.

11

builds on (uses/refines)

3

21

Page 12: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

TC Algorithm families are

Dynamic Software Product Lines

12

Sensor node

Topology control

Maxpower

kTC

l-kTCRNG

XTC GG

Aux.

e-kTC

Properties

Weight

Energy

Position

YaoMin.-Weight

Algorithm

Tie Breaking

Hops

Mandatory featureOptional featureXOR group

φ(e12, e13, e32) =

w(e12) > max(w(e13),w(e23)) ᴧ

w(e12) > k*min(w(e13),w(e23))

Spec. Sim. Test.Spec. Sim. Test.

Advantages: Reuse in of predicates, spec. of topology control reconfiguration

Triangle-Based

Page 13: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Graph constraints for specifying local

consistency properties

Ci

a b

eab

c

eac

ecb

φ(eab, eac, ecb)

ci

a beab

pi

"Each inactive link should be part

of a triangle for which φ holds"

Active

Inactive

Don't care

Spec. Sim. Test.

Advantages: expressiveness, formal + domain-specific + operationalizeable

13

Ca

a b

eab

c

eac

ecb

φ(eab, eac, ecb)

pa

"No active link should be part of

a triangle for which φ holds"

Violated if

match of pa

exists.

Page 14: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Example: Fulfilled and violated constraints

14

1

3

2

4

1

13

7

5

Ca

pa

a beab

ceac ecb

φ(eab, eac, ecb)

Ci

a b

eab

c

eac

ecb

φ(eab, eac, ecb)

ci

a beab

pi

Page 15: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Enforcing and preserving consistency

Consistency enforcement: Recover from any inconsistent state

2

3

2

2

2

3

1

4

TC

2

3

2

2

2

3

1

4

✘ ✔

2

3

2

2

2

3

1

4

TC

2

3

2

2

2

3

1

4

✔ ✔Active

Inactive

Unmarked

Chosen solution

Active

Inactive

Spec. Sim. Test.

15

Weakly consistent Strongly consistent

Consistency preservation: Weak and strong consistency

Page 16: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Recap on consistency preservation

Generic e.g., connectivity

Algorithm-specific e.g., "no φ-triangles"

Global consistency

properties

Local consistency

properties

(declarative)

implies

?

preserves

Topology control

algorithm specification

(operationalized)

Spec. Sim. Test.

16

Active

Inactive

Unmarked

Page 17: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Specifying algorithmic implementation using

Story-Driven Modeling [FNT+98]

e12

[Failure]

TCA()

[Success]

[Failure]

[Success]Rfind-u()

LHS = RHS

1 2e12

[Success], [Failure]

Ra (e12 : Link)

LHS

1 2 1 2

e12

Ri (e12 : Link)

RHS

LHS

1 2

e12

1 2

e12

RHS

Spec. Sim. Test.[FNT+98] Fischer et al.: "Story Diagrams: A New Graph Rewrite

Language Based on the UML and Java," 1998

17

1.Start

2. Find unmarked link

3. Try activating e124a. If successful, continue.

4b.If unsuccessful,

try inactivating e12

5. Continue in any case.

6.Terminate if no more

unmarked links exist.

Page 18: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Rule applications may violate consistency!

1

3

2

4

1

13

7

5

G

1

3

2

4

1

13

7

5

H

Ra(e12 : Link)

Apply

at link e13

LHS RHS1 2

e121 2

e12

Ca

pa

a beab

ceac ecb

φ(eab, eac, ecb)

Spec. Sim. Test.

18

Page 19: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Ensuring inductive consistency preservation

Pairwise refinement

Repeat for all (Rx, Cy) pairs

Example: Refining Ra based on Ca

[HW95] Heckel, Wagner: "Ensuring consistency of conditional graph grammars-a constructive approach," ENTCA, 1995

[DV14] Varró, Deckwerth: "Attribute Handling for Generating Preconditions from Graph Constraints," ICGT, 2014.

Ra Ri

Ca

Ci

[HW

95,

DV

14]

Cy

RxRx

ACx,y,1 ACx,y,2 …

?✔

Ra(e12 : Link)

LHS

1 2e12

1 2e12

RHS

? Ra(e12 : Link)

LHS

1 2e12

1 2e12

RHS NACa,a,1

NACa,a,2

NACa,a,8

✔[HW

95,

DV

14]

Spec. Sim. Test.

Advantages:

mechanical algorithm,

existing tool support

Synthesized

application conditions

19

Page 20: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Refined algorithm specification

[Failure]

TCA()

[Success]

[Failure]

[Success]Rfind-u()

LHS = RHS

1 2e12

[Success], [Failure]

Ra(e12 : Link)

LHS

1 2e12

1 2e12

Ri(e12 : Link)

RHS

LHS

1 2e12

1 2e12

RHS

NACa,a,1

NACa,a,2

NACa,a,8

PACi,a,1

NACi,a,2

NACi,a,8

Spec. Sim. Test.

Advantages: inductive invariant, strong consistency on termination

Required: proof of termination

20

Page 21: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Topologies are never stable:

Context events and dynamic topology control

Context events (CEs) reflect environmental influences

Example: Link removal rule

21

TC

2

3

2

2

2

3

1

4

✔2

3

2

2

2

3

1

4

R-e(e12 : Link)

1 2 1 2e12

LHS RHS

CE

2

3

2

2

3

1

4

Remove e12

Remove e21

Obstacle

TC ?

Page 22: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Context event handlers:

Anticipating consistency violation

22

Spec. Sim. Test.

R-e(e12 : Link)

1 2 1 2e12

LHS RHS

? R-e(e12 : Link)

1 2 1 2e12

LHS RHS PAC-e,i,2

PAC-e,i,6

[HW

95,

DV

14

]

[SoSyM 2017]

handle-R-e(e12 : Link)

[Failure]

[Success]

R-e(e12 : Link)

1 2 1 2e12

LHS RHSAnticipate a

violation of

PAC-e,i,2

[Success]

Anticipate a

violation of

PAC-e,i,1

[Failure]

Page 23: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Consistency preservation by context event

handling

─ Context event handler for R-e

─ Achieved consistency preservation

23

2

3

2

2

2

3

1

4

CE

2

3

2

2

3

1

4

Remove e12

Remove e21

Obstacle

2

3

2

2

2

3

1

4

✔ ✔ ✔

Antic

.

TC

handle-R-e(e12 : Link)

[Failure]

[Success]

R-e(e12 : Link)

1 2 1 2e12

LHS RHSAnticipate

PAC-e,i,6

[Success]

Anticipate

PAC-e,i,2

[Failure]

! !

! Pending context event

Inactivate e13

Inactivate e31

Page 24: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Recap on specification phase

Global consistency

properties

Local consistency

properties

(declarative)

Generic e.g., connectivity

Algorithm-specific e.g., "no φ-triangles"

implies

preserves

Topology control

algorithm specification

(operationalized)

Spec. Sim. Test.

24

[HW95, DV14]

handle-R-e(e12 : Link)

[Failure]R-e

[Success]

Anticipate

PAC-e,i,6

[Success]

Anticipate

PAC-e,i,2

[Failure]

Page 25: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Tool support for simulation and testbed

cMoflon[ECMFA17]

Java

API

eMoflon

SIMONSTRATOR

C

Code

CONTIKI

Spec. Sim. Test.[ECMFA17] Kluge et al: cMoflon: Model-Driven Generation of Embedded C

Code for Wireless Sensor Networks. In: ECMFA 2017. LNCS 10376.

[SoSyM17]

25

[HW95,DV14]

Simulation

Testbed

Page 26: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Ongoing Work: From centralized to distributed

topology control algorithm specifications

Centralized-global perspective of TC:

TC: sequential

Topology: global, consistent view

TC: distributed

Topology: local consistent view

Distributed-local perspective of TC:

TC: distributed

Topology: local, inconsistent + monitoring

Global topology

Read Write

Pglobal

P1 P2

Global topology

Monitoring

Sync

Protocol

P1 P2

Sync

Spec. Sim. Test.

Local views

26

Page 27: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Goal: Characterize concurrent execution + identify potential problems

Atomic actions: rule applications and synchronized view of topology

Interleaved execution: no two events at same point in time

Vertex-centric: A node has 1 process and 1 local-view model

Computation model

27

CE

Antic

.

TC

CE

Antic

.

CE

Antic

.

TC

TC

Cen

trali

zed

execu

tio

n

TT

Dis

trib

ute

d

exe

cu

tio

n

1

2

3

A

T

A AT A C

T

P1

Local view

Per-node

control flow

("happened-

before")

Global

control flow

Page 28: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Example: Non-termination of context handling

28

1

3

To

po

log

yC

on

tro

l F

low

2

T

"New unmarked link!"

Liveness problem due to

Mutual dependency (necessary)

Return to same state (sufficient)

!3

1 2

5 7

10

A"e32 will

disappear"!

!3

1 2

5 7

10

A!3

1 2

5 7

10

T

A

! Pending context event

Page 29: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

Take-Home Messages

Goal: Overcome curse of low abstraction in dev. of topology adaptations

Result: Correct-by-construction development methodology TC algorithm families

Onging work: Toward distributed-local topology control specifications

Thank you!

(i) Specification:

Graph theory, …

(ii) Simulation:

C++, Java,…

(iii) Testbed:

C, Assembler-like,…

Formalization, proofs,… Localization

</>

Constraints ✓

Limitations ✓ Model

CodeFeedback &

refinement Extensible code gen.Extensible code gen.Level of

abstraction

Supplementary material on GitHub

cMoflon

29

Page 30: Roland Kluge, ICGT 2018, A systematic approach to constructing … · 2018. 6. 29. · Roland Kluge roland.kluge@es.tu-darmstadt.de with Michael Stein, Gergely Varró, Andy Schürr,

Kluge et al. | Real-Time Systems Lab | Prof. Dr. Andy Schürr | A systematic approach to constructing families of incremental topology control algorithms using graph transformation

References

─ eMoflon/cMoflon logos: Work of the eMoflon developer team. Subject to Fair Use conditions.

─ Peerfact logo: Multimedia Communications Lab (KOM), TU Darmstadt, https://www.kom.tu-darmstadt.de

─ Henshin logo: https://www.eclipse.org/henshin/

─ EMF logo: https://www.eclipse.org/modeling/emf/

─ Android logo: https://developer.android.com/distribute/marketing-tools/brand-guidelines "The Android robot is reproduced or modified from work

created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License."

─ TelosB Sensor node: Wiki Commons, CC-BY-3.0, by Jbasic, https://commons.wikimedia.org/wiki/File:TelosB.jpg

─ Writing Hand: CC-BY-3.0 US, Rediffusion, https://thenounproject.com/search/?q=hand%20drawing&i=29383

─ Gears: CC-BY-3.0 US, Pedro Santos https://thenounproject.com/search/?q=gear&i=1030299

─ GitHub Logo: CC-BY-3.0, Dave Gandy, http://www.flaticon.com/free-icon/github-logo_25231

30

Department of Electrical Engineeringand Information TechnologyReal-Time Systems Lab

Roland Kluge, M.Sc.

[email protected] Phone: +49(0)6151 16-22354

Magdalenenstr. 4 Fax: +49(0)6151 16-22352

64289 Darmstadt www.es.tu-darmstadt.de

Germany