A Framework for A Framework for Mobile Systems Mobile Systems - - PDF document

a framework for a framework for mobile systems mobile
SMART_READER_LITE
LIVE PREVIEW

A Framework for A Framework for Mobile Systems Mobile Systems - - PDF document

A Framework for A Framework for Mobile Systems Mobile Systems BCTCS BCTCS 05 05 Nottingham Nottingham March 23, 2005 March 23, 2005 Crist vo Oliveira vo Oliveira PhD PhD Student Student


slide-1
SLIDE 1

1

A Framework for A Framework for “ “Mobile Systems Mobile Systems” ”

BCTCS BCTCS’ ’05 05 – – Nottingham Nottingham March 23, 2005 March 23, 2005

Crist Cristó óvão Oliveira vão Oliveira – – PhD PhD Student Student

University University of

  • f Leicester

Leicester and and New New University University of

  • f Lisbon

Lisbon

Supervisors Supervisors: :

Jos José é Fiadeiro Fiadeiro – – University University of

  • f Leicester

Leicester Michel Michel Wermelinger Wermelinger – – Open Open University University

Joint Joint work work with with: :

Ant Antó ónia Lopes nia Lopes – – University University of

  • f Lisbon

Lisbon

Introduction Introduction

  • Topics:

Topics:

– – Software Architecture Software Architecture

  • Separation of concerns

Separation of concerns

  • Distribution

Distribution

  • Mobility

Mobility

– – Coordination Coordination

  • Interactions

Interactions

  • Synchronizations

Synchronizations

– – Category Theory Category Theory

  • Mathematical Foundation

Mathematical Foundation

  • Synchronization Sets

Synchronization Sets

slide-2
SLIDE 2

2

Motivation Motivation

  • Distribution

Distribution / / Mobility Mobility

– – A A new new factor factor of

  • f complexity

complexity in in the the development development of

  • f

software software systems systems

  • Software

Software Architectures Architectures

– – Have Have contributed contributed to to the the taming taming of

  • f the

the complexity complexity of

  • f

developing developing software software systems systems by by separating separating Coordination Coordination from from Computation Computation and and promoting promoting Connectors Connectors as as first first-

  • class

class citizens citizens

Motivation Motivation

Separation of Concerns Separation of Concerns

A

Y W

D B B C Computation Coordination A

Y X W

D B

X

C C

SYSTEM SYSTEM

slide-3
SLIDE 3

3

Approach Approach

  • CommUnity was born as a language for parallel program

CommUnity was born as a language for parallel program design in the style of design in the style of Unity Unity, but based on action sharing; , but based on action sharing; Its semantics are based on Category Theory; Its semantics are based on Category Theory;

  • CommUnity

CommUnity supports the complete separation of supports the complete separation of “ “coordination coordination” ” and and “ “computation computation” ” concerns; Providing a concerns; Providing a paradigmatic paradigmatic architectural description language in which architectural description language in which connectors are first connectors are first-

  • class entities;

class entities;

  • Moreover, the CommUnity Workbench is a tool support

Moreover, the CommUnity Workbench is a tool support for the approach, providing a graphical integrated for the approach, providing a graphical integrated development environment in which CommUnity designs development environment in which CommUnity designs can be written in the core language, run, can be written in the core language, run, and debugged; and debugged;

Example Example

Designs Designs in in CommUnity CommUnity

slide-4
SLIDE 4

4

Architectural Architectural Descriptions Descriptions in in Example Example: : A

A simple simple user user-

  • printer

printer system system

user sync printer

  • utf

pr1 work inf rec print pr2

Categorical Categorical semantics semantics in in

Example Example: : A

A simple simple user user-

  • printer

printer system system

design sync is in i:enum(ps,pdf) do ac:true→skip printer user cable

  • utf←•→i

print_ps→•←ac print_pdf→•←ac

cable

i←•→inf ac→•←rec

Diagram in a category of designs Semantics given by the colimit

slide-5
SLIDE 5

5

Categorical Categorical semantics semantics in in

design sync is in i:enum(ps,pdf) do ac:true→skip printer user

  • utf←•→i

print_ps→•←ac print_pdf→•←ac i←•→inf ac→•←rec

Semantics given by the colimit (1)

G σ 1 σ n σ i θ 1 θ i θ n µ1

µi

µn R1 R i R n φ 1

φ i

φ n P 1 P i P n

Categorical Categorical semantics semantics in in

sync printer user

Semantics given by the colimit (2)

G σ 1 σ n θ 1 θ n µ 1 µ n R 1 R n φ 1 φ n P 1 P n

Colimit

slide-6
SLIDE 6

6

Example again Example again

The user is sometimes printing documents. the printer doesn’t print a document before receiving a new one… User Communication Printer

slide-7
SLIDE 7

7

New Example New Example

User Communication Printer The User is sometimes moving, and wants to print documents. When the printer is not accessible for a while the user wait until the communication is available again…

Separation of Concerns: Separation of Concerns: Distribution Distribution

A

Y W

D B B C Computation Coordination A

Y X W

D B

X

C C

SYSTEM SYSTEM

Distribution

G F F G F

Architectural Approach to Mobility

slide-8
SLIDE 8

8

Distribution Distribution / / Mobility Mobility

design design mobile_user mobile_user

  • utloc
  • utloc locuser

locuser

  • ut
  • ut outfile
  • utfile@locuser

@locuser : : enum enum ( (ps ps, , pdf pdf) ) prv prv state state@locuser @locuser : : bool bool do do work work@locuser @locuser : state : state -

  • > state := ~state

> state := ~state [] [] print_ps print_ps@locuser @locuser : ~state : ~state -

  • >

>

  • utfile
  • utfile :=

:= ps ps || state := ~state || state := ~state [] [] print_pdf print_pdf@locuser @locuser : ~state : ~state -

  • >

>

  • utfile
  • utfile :=

:= pdf pdf || state := ~state || state := ~state [] [] prv prv move move@ @locuser locuser : : locuser locuser := := newLoc( newLoc() )

  • The designs are distributed over different Locations through

The designs are distributed over different Locations through the mapping of their constituents to location variables the mapping of their constituents to location variables

  • The mobility is achieved while changing the value of a

The mobility is achieved while changing the value of a location variable. location variable.

Future Work Future Work

  • Answer the problem of

Answer the problem of scalability scalability of

  • f

modelling systems; modelling systems;

  • Difference between Static analyses and

Difference between Static analyses and Dynamic analyses; Dynamic analyses;

  • Definition of a

Definition of a Methodology Methodology to use the to use the CommUnity approach in order to model CommUnity approach in order to model mobile systems (Meta mobile systems (Meta-

  • modelling,

modelling, Architectural Views (SA), following MDA Architectural Views (SA), following MDA approach, Coordination mechanisms, approach, Coordination mechanisms, … …) )