Distribution and Mobility in Software Architectures Jos Luiz - - PowerPoint PPT Presentation

distribution and mobility in software architectures
SMART_READER_LITE
LIVE PREVIEW

Distribution and Mobility in Software Architectures Jos Luiz - - PowerPoint PPT Presentation

Distribution and Mobility in Software Architectures Jos Luiz Fiadeiro Research Context Software Architecture foundations design primitives evolution Joint work with Antnia Lopes Mathematical Framework (Univ. Lisbon,


slide-1
SLIDE 1

Distribution and Mobility in Software Architectures

José Luiz Fiadeiro

slide-2
SLIDE 2

Research Context

Software Architecture —foundations —design primitives —evolution

Joint work with —Antónia Lopes (Univ. Lisbon, Portugal) —Michel Wermelinger (UNL, Portugal) —Luís Andrade Mathematical Framework Category Theory Prototype Language CommUnity

slide-3
SLIDE 3

Software Architecture

A

Y X

C A

Y

C B B C

Components Connectors

A

Y X

Structural Models

slide-4
SLIDE 4

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

  • ut

x:nat prv rd: bool do prod:[rd Æ x:Œnat|| ||rd:=false] [] send:[ÿrd Æ rd:=true]

slide-5
SLIDE 5

CommUnity: Interaction and Composition

design prod-cons is

  • ut

x:nat prv y:nat, rdp,rdc: bool do prod:[rdp Æ x:Œnat || | rdp:=false] [] trans:[ÿrdpŸrdc Æ rdp:=true || || y:=x || || rdc:=false] [] use:[ÿrdc Æ rdc:=true] design producer is

  • ut x:nat

prv rd: bool do prod:[rd Æ x:Œnat||rd:=false] [] send:[ÿrd Æ rd:=true] design consumer is in x:nat prv y: nat, rdc: bool do rec:[rdc Æ y:=x || | rdc:=false] [] use:[ÿrdc Æ rdc:=true]

x¨iÆx sendÆac¨ ¨ rec

design cable is in i:nat do ac:trueÆskip

slide-6
SLIDE 6

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

traditional distributed computing paradigm

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Distributon and Mobility in SA

!!Architectures for Mobility !!FET/IST project, Global Computing Initiative !!!!LMU, DIPISA, DSIUF, IEI-CNR, ATX, FFCUL, IinfUW, ULEICES

Goal

to develop na architectural approach in which mobility aspects can be modelled explicitly as part of the application domain and mapped into to the distribution and communication topology made available at physical levels

slide-9
SLIDE 9

Motivation

Architecture-based approaches

A

Y X

C C

Y

A B B C

Computation Coordination

A

Y X

Distribution

slide-10
SLIDE 10

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,...}

slide-11
SLIDE 11

CommUnity with Distribution: Designs

  • Example. A design that models a producer — a centralised system that

does not control its own movement

design producer is inloclp

  • ut

x@lp:nat prv rd@lp: bool do prod@lp:[rd Æ x:Œnat|| ||rd:=false] [] send@lp:[ÿrd Æ rd:=true]

slide-12
SLIDE 12

CommUnity with Distribution: Designs

Another example. A design that models a distributed system that

partially controls its own movement

design prod-cons is inloc lp

  • utloc lc
  • ut

x@lp:nat prv y@lc:nat, rdp@lp,rdc@lc: bool do 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

slide-13
SLIDE 13

CommUnity with Distribution: Externalisation of Superposed Behaviour

  • producer

sync consumer

externalisation of communication

prod-cons producer sync consumer’ mov

externalisation of distribution and mobility

slide-14
SLIDE 14

CommUnity with Distribution: Externalisation of Distribution

  • design consumer’ is

inloc lr in x

  • ut y@lr:nat

do rec@lr:[trueÆy:=x] design mov is

  • utloc

l in y@l:nat, prv rd@l: bool do action@l:[rdÆrd:=false] [] move@l:[ÿrdÆl:=nattoloc(y) ||rd:=true] lr¨lÆl y¨iÆy recÆac¨ action design cable is inloc l in i:nat do ac:trueÆskip

consumer’ mov

externalisation of distribution and mobility

consumer

slide-15
SLIDE 15

Conclusions

l

Architectural techniques based on the separation of computation and coordination can be applied to mobile systems;

l

Distribution and Mobility patterns can be explicitly represented within architectural models through distribution connectors;

l

Distribution Connectors can also be used for modelling new forms of coordination that have emerged in mobile computing — coordination styles that are location-dependent Transient

Interaction

— coordination styles that involve the management of the locations

  • f the coordinated parties Remote Evaluation
slide-16
SLIDE 16

Future Work

l

Abstract a General Mathematical Characterisation of the properties underlying Distributed CommUnity, in order to make these ideas available to other formalisms and development platforms

l

Extend with the new distribution dimension the coordination technologies developed by ATX for managing system evolution