distribution and mobility in software architecturespszgmh/appsem-slides/fiadeiro.pdf ·...
TRANSCRIPT
![Page 1: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/1.jpg)
Distribution and Mobilityin Software Architectures
José Luiz Fiadeiro
![Page 2: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/2.jpg)
Research Context
Software Architecture
—foundations
—design primitives
—evolutionJoint work with
—Antónia Lopes (Univ. Lisbon, Portugal) —Michel Wermelinger (UNL, Portugal)—Luís Andrade
Mathematical Framework
Category Theory
Prototype Language
CommUnity
![Page 3: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/3.jpg)
Software Architecture
A Y
XCA
Y CB
B
C
Components Connectors
A
Y
X
Structural Models
![Page 4: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/4.jpg)
CommUnity: Designs
CommUnity designs are defined in terms of a signature
— channels (input, output, private) and action names (shared,private)
and actions
Example. A design that models a producer
design producer is out x:natprv rd: booldo prod:[rd Æ x:Œnat||rd:=false][] send:[ÿrd Æ rd:=true]
![Page 5: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/5.jpg)
CommUnity: Interaction and Composition
design prod-cons is out x:natprv y:nat, rdp,rdc: booldo prod:[rdp Æ x:Œnat || rdp:=false][] trans:[ÿrdpŸrdc Æ rdp:=true || y:=x || rdc:=false] [] use:[ÿrdc Æ rdc:=true]
design producer is out x:natprv rd: booldo prod:[rd Æ x:Œnat||rd:=false][] send:[ÿrd Æ rd:=true]
design consumer is in x:natprv y: nat, rdc: booldo rec:[rdc Æ y:=x || rdc:=false][] use:[ÿrdc Æ rdc:=true]
x¨iÆxsendÆac¨ rec
design cable is in i:natdo ac:trueÆskip
![Page 6: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/6.jpg)
Motivation
Abstracted—the way the components are distributed over a network—the way the connections among the nodes of the
network are realized
Assumed—computations are performed in fixed hosts—hosts are linked by static connections—all forms of coordination are considered to be
realizabletraditional distributed computing paradigm
![Page 7: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/7.jpg)
Motivation
Abstracted—the way the components are distributed over a network—the way the connections among the nodes of the
network are realized
Assumed—computations are performed in fixed hosts—hosts are linked by static connections—all forms of coordination are considered to be
realizable
new forms of dist.systems
Mobile computing in ad-hoc networks
![Page 8: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/8.jpg)
Distributon and Mobility in SA
!!Architectures for Mobility !!FET/IST project, Global Computing Initiative
!!!!LMU, DIPISA, DSIUF, IEI-CNR, ATX, FFCUL, IinfUW, ULEICES
Goalto develop na architectural approach in which mobilityaspects can be modelled explicitly as part of theapplication domain and mapped into to the distribution andcommunication topology made available at physical levels
![Page 9: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/9.jpg)
Motivation
Architecture-based approaches
A Y
XCC
Y AB
B
C
Computation Coordination
A
Y
X
Distribution
![Page 10: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/10.jpg)
CommUnity with Distribution: Designs
CommUnity designs are defined in terms of a signature
— channels (input, output, private) and action names (shared,private)
— location variables (input, output)
and local actions
Position where code is executed
write frame
enabling condition
state changes
g@l [D(g)]: G(g) Æ R(g)
x@l
Position where the value is available
g@{l1,l2,...}
![Page 11: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/11.jpg)
CommUnity with Distribution: Designs
Example. A design that models a producer — a centralised system thatdoes not control its own movement
design producer is inloclpout x@lp:natprv rd@lp: booldo prod@lp:[rd Æ x:Œnat||rd:=false][] send@lp:[ÿrd Æ rd:=true]
![Page 12: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/12.jpg)
CommUnity with Distribution: Designs
Another example. A design that models a distributed system thatpartially controls its own movement
design prod-cons is inloc lpoutloc lcout x@lp:natprv y@lc:nat, rdp@lp,rdc@lc: booldo prod@lp:[rdp Æ x:Œnat||rdp:=false][] trans@lp:[ÿrdp Æ rdp:=true]
@lc:[rdc Æ y:=x||rdc:=false][] move@lc:[ÿrdc Æ lc:=nattoloc(y)||rdc:=true]
Self-inflicted mobility
![Page 13: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/13.jpg)
CommUnity with Distribution: Externalisation of Superposed Behaviour
o
producer sync consumer
externalisation of communicationprod-cons
producer sync consumer’ mov
externalisation of distribution and mobility
![Page 14: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/14.jpg)
CommUnity with Distribution: Externalisation of Distribution
o
design consumer’ is inloc lrin xout y@lr:natdo rec@lr:[trueÆy:=x]
design mov is outloc lin y@l:nat, prv rd@l: bool do action@l:[rdÆrd:=false][] move@l:[ÿrdÆl:=nattoloc(y) ||rd:=true]
lr¨lÆly¨iÆy
recÆac¨ action
design cable is inloc lin i:natdo ac:trueÆskip
consumer’ mov
externalisation of distribution and mobilityconsumer
![Page 15: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/15.jpg)
Conclusions
l Architectural techniques based on the separation of computation andcoordination can be applied to mobile systems;
l Distribution and Mobility patterns can be explicitly representedwithin architectural models through distribution connectors;
l Distribution Connectors can also be used for modelling new forms ofcoordination that have emerged in mobile computing
— coordination styles that are location-dependent TransientInteraction
— coordination styles that involve the management of the locationsof the coordinated parties Remote Evaluation
![Page 16: Distribution and Mobility in Software Architecturespszgmh/appsem-slides/fiadeiro.pdf · Self-inflicted mobility. CommUnity with Distribution: Externalisation of Superposed Behaviour](https://reader033.vdocuments.site/reader033/viewer/2022042310/5ed77c0f13e07a2ba27d9c27/html5/thumbnails/16.jpg)
Future Work
l Abstract a General Mathematical Characterisation of the propertiesunderlying Distributed CommUnity, in order to make these ideasavailable to other formalisms and development platforms
l Extend with the new distribution dimension the coordinationtechnologies developed by ATX for managing system evolution