Top Banner
CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon
24

CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Mar 30, 2015

Download

Documents

Ericka Matlock
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

CommUnity on the Move Coordination in Distributed and Mobile

Systems

José Luiz Fiadeiro

joint work with Antónia LopesUniversity of Lisbon

Page 2: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Architectures for Mobility

University of Munich

University of Pisa

University of Florence

University of Lisbon

ISTI-CNR

ATX Software SA

IST-2001-32747Architectures for Mobility

Jan 02 – Apr 05

        

Page 3: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Motivation

Mobility A new factor of complexity in the development of software systems

Software ArchitecturesHave contributed to the taming of the complexity of developing software systems by separating Coordination from Computation and promoting Connectors as first-class citizens.

Page 4: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Motivation

Architecture-based approaches

A Y Y AB

B

C

Computation

Coordination

A

Y

X

Compositionality wrt refinement

Y’

Y’

⊆ B’

B’

XC

C

wrt evolution

Page 5: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Architectural Descriptions in

Example. A simple sender-receiver system

bsender Sync breceiver

design bsender is out ob:bitprv w:array(N,bit), k:nat, rd:booldo neww:k=Nw:array(N,bit)k:=0[] newb:rdk<Nrd:=trueob:=word[k] k:=k+1[] send:rdrd:=false

ob

sendnewbneww

design breceiver is in ib:bitout w:array(N,bit), k:natprv recw:array(N,bit), rd:booldo rec:k<Nrecw[k]: ib k:=k+1rd:=false[] savew:rdk=Nrd:=truew:=recw[] neww:rdk=Nrd:=falsek:=0

ib

recsavewneww

Page 6: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Categorical semantics in

Example. A simple sender-receiver system

design sync is in i:bitdo ac:trueskip

breceiverbsender

cable

ob•isend•ac

cable

i•ibac•rec

Diagram in a category of designs

Semantics givenby the colimit

Page 7: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Colimit semantics

design sync-send-rec is out b:bit, wr:array(N,bit), kr:natprv rdr,rds: bool, recwr, ws:array(N,bit), ks:nat

do sendrec:rdskr<N rds:=false wordr[kr]: b kr:=kr+1rdr:=false

[] savew:rdrkr=Nrdr:=truewr:=word[] rneww:rdrkr=Nrdr:=falsekr:=0

[] sneww:ks=Nws:array(N,bit)ks:=0[] newb:rdsks<Nrds:=trueb:=ws[ks] ks:=ks+1

Page 8: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Key ideas for Mobility

New forms of coordination that have emerged in mobile computing sa transient interaction and remote evaluation can be modelled through connectors

Distribution can be separated from Coordination and Computation

Distribution connectors can be offered as architectural primitives

Location-aware architectural models can be developed incrementally through the refinement of higher-level descriptions that abstract from mobility

Page 9: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Motivation

Architecture-based approaches

A Y

XC

C

Y AB

B

C

Computation

Coordination

A

Y

X

Distribution

G

F

F

G

F

Architectural Approach to Mobility

: Goal

Page 10: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making designs location-aware

Designs are defined in terms of extended signatures

—channels and action names

—location variables (input, output) typed over Loc with a distinguished

and located actions

x@l

Position where the value is available

Position where code is executed

enabling condition

state changes

g@l : G(g) R(g)

g@{l1,l2,...}

On the move…

Page 11: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making designs location-aware

Example. A mobile bit receiver that once a word defining a location is received, moves to that location

design mobreceiver is outloc l in ib:bitout w@l:array(N,bit), k@l:natprv recw@l:array(N,bit), rd@l:booldo rec@l:k<Nrecw[k]: ib k:=k+1rd:=false[] savew@l:rdk=Nrd:=truew:=recw[] neww@l:rdk=Nrd:=falsek:=0l:=if(loc?(w),loc(w),l)

Page 12: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making designs location-aware

Example. A fixed sender i.e. placed at a fixed position

design mobsender is outloc l out ob@l:bitprv w@l:array(N,bit), k@l:nat, rd@l:booldo neww@l:k=Nw:array(N,bit)k:=0[] newb@l:rdk<Nrd:=trueob:=w[k] k:=k+1[] send@l:rdrd:=true

Page 13: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making architectures location-aware

Example. A location-aware version of the sender-receiver system with the previous mobile receiver and a fixed sender

mobreceivermobsender

cable cable

ob•isend•ac

i•ibac•rec

Categorical Diagram

design sync is in i:bitdo ac:trueskip

Page 14: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making architectures location-aware

design mobsys is outloc ls, lr out b@ls:bit, wr@lr:array(N,bit), kr@lr:natprv rdr@lr,rds@ls: bool, recwr@lr, ws@ls:array(N,bit), ks@ls:nat

do sendrec@ls:rdsrds:=false @lr:kr<Nwordr[kr]: b kr:=kr+1rdr:=false

[] savew@lr:rdrkr=Nrdr:=truewr:=word[] rneww@lr:rdrkr=Nrdr:=falsekr:=0lr:=if(loc?(wr),loc(wr),lr)

[] sneww@ls:ks=Nws:array(N,bit)ks:=0[] newb@ls:rdsks<Nrds:=trueb:=ws[ks] ks:=ks+1

Page 15: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

CommUnity with Distribution: The Space of Mobility

Explicit representation, but we do not assume any specific notion:

— Location variables have sort Loc, a special data type

— The space is constituted by the set of possible values of Loc

Mobility is associated to the movement of channels and actions (unit of mobility)

Page 16: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

CommUnity with Distribution: Semantics

The semantics of CommUnity designs is defined in terms of

An algebra U for the data types

An infinite sequence of pairs of binary relations over ULoc  

(bti,reachi)iN

—n bt m : n and m are positions “in touch” with each other

—n reach m : position n is reachable from m

Coordination among components takes place only when they are in touch with each other

Movement of a component to a new position is possible only when this position is reachable from the current one

Page 17: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

addition of mobility aspects…

Superposition of distribution/mobility concerns is intrusive

Distribution and mobility aspects of the system are not explicitely represented in the architecture; they cannot be refined or evolved independently of the architectural elements

mobsender Sync mobreceiver

Page 18: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making designs location-aware

design mobsender is outloc l out ob@l:bitprv w@l:array(N,bit), k@l:nat, rd@l:booldo neww@l:k=Nw:array(N,bit)k:=0[] newb@l:rdk<Nrd:=trueob:=w[k] k:=k+1[] send@l:rdrd:=true

design bsender is out ob:bitprv w:array(N,bit), k:nat, rd:booldo neww:k=Nw:array(N,bit)k:=0[] newb:rdk<Nrd:=trueob:=word[k] k:=k+1[] send:rdrd:=false

design fixed is outloc l

cable2

Page 19: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Making designs location-aware

design mobreceiver is outloc l in ib:bitout w@l:array(N,bit), k@l:natprv recw@l:array(N,bit), rd@l:booldo rec@l:k<Nrecw[k]: ib k:=k+1rd:=false[] savew@l:rdk=Nrd:=truew:=recw[] neww@l:rdk=Nrd:=falsek:=0l:=if(loc?(w),loc(w),l)

design breceiver is in ib:bitout w:array(N,bit), k:natprv recw:array(N,bit), rd:booldo rec:k<Nrecw[k]: ib k:=k+1rd:=false[] savew:rdk=Nrd:=truew:=recw[] neww:rdk=Nrd:=falsek:=0

design move_to is outloc lin w:array(bit,N)do move@l: l:=if(loc?(w),loc(w),l)

cable3

move•neww l•lw•w

Page 20: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Externalisation of distribution

breceiverbsender

cable cable

ob•isend•ac

i•ibitac•rec

design sync is in i:bitdo ac:trueskip

cable2

design fixed is outloc l

l•l

cable3

move•neww l•lw•w

design move_to is outloc lin w:array(bit,N)do move@l: l:=if(loc?(w),loc(w),l)

Page 21: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Conclusions

Architecture-based approaches

A Y

XC

C

Y AB

B

C

Computation

Coordination

A

Y

X

Compositionality wrt refinement wrt evolution

Distribution

G

F

F

G

F

Architectural Approach to Mobility

Page 22: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Conclusions

Furthermore, our approach

- supports an incremental development (associativity) of location-aware architectural models ; this makes it easier to cope with the increase of complexity and promotes reuse

- there are principled-ways of making models location-aware; in this process designers can be assisted through libraries with location and distribution connectors modelling standard solutions

Page 23: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Other Work within

Making primitives for mobility available in the UML

Operational semantics in KLAIM

Reconfiguration with Hypergraph Rewriting

Refinement in Tyle Logic

Model-checking

        

Page 24: CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

www.fiadeiro.org/jose/CommUnity