community on the move coordination in distributed and mobile systems josé luiz fiadeiro joint work...
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070306/55195d3a550346b9198b46cc/html5/thumbnails/24.jpg)
www.fiadeiro.org/jose/CommUnity