a framework for a framework for mobile systems mobile
play

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


  1. A Framework for A Framework for “Mobile Systems Mobile Systems” ” “ BCTCS BCTCS’ ’05 05 – – Nottingham Nottingham March 23, 2005 March 23, 2005 Cristó óvão Oliveira vão Oliveira – – PhD PhD Student Student Crist University of University of Leicester Leicester and and New New University University of of Lisbon Lisbon Supervisors: Supervisors : Jos José é Fiadeiro Fiadeiro – – University University of of Leicester Leicester Michel Wermelinger Wermelinger – – Open Open University University Michel Joint Joint work work with with: : Antó Ant ónia Lopes nia Lopes – – University University of of 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 1

  2. Motivation Motivation • Distribution • Distribution / / Mobility Mobility – A – A new new factor factor of of complexity complexity in in the the development development of of software systems software systems • Software • Software Architectures Architectures – Have – Have contributed contributed to to the the taming taming of of the the complexity complexity of of developing software developing software systems systems by by separating separating Coordination from Coordination from Computation Computation and and promoting promoting Connectors as Connectors as first first- -class class citizens citizens Motivation Motivation Separation of Concerns Separation of Concerns X A B B D Y W Y W Coordination C A B X D C C Computation SYSTEM SYSTEM 2

  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 architectural description language in which architectural description language in which paradigmatic 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 in Designs in CommUnity CommUnity 3

  4. Architectural Descriptions Descriptions in in Architectural Example: Example : A A simple simple user user- -printer printer system system work pr1 rec pr2 sync user printer print outf inf Categorical semantics semantics in in Categorical Example: : A Example A simple simple user user- -printer printer system system cable cable i ← • → inf outf ← • → i ac → • ← rec print_ps → • ← ac print_pdf → • ← ac user printer design sync is in i:enum(ps,pdf) do ac:true → skip Diagram in a Semantics given category of designs by the colimit 4

  5. Categorical semantics semantics in in Categorical Semantics given by the colimit (1) design sync is in i:enum(ps,pdf) do ac:true → skip G outf ← • → i i ← • → inf σ 1 σ n print_ps → • ← ac σ i ac → • ← rec print_pdf → • ← ac θ 1 θ i θ n µ 1 µ i µ n … … R 1 R i R n φ 1 φ i φ n … … P 1 P i P n user printer Categorical semantics semantics in in Categorical Semantics given by the colimit (2) sync G σ 1 σ n θ 1 θ n µ 1 µ n R 1 R n φ 1 φ n P 1 P n user printer Colimit 5

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

  7. New Example New Example Printer Communication User 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 Architectural Approach to Mobility X Y W A B B D F Y W Coordination G A B C D X C F C Computation F SYSTEM SYSTEM G Distribution 7

  8. Distribution / / Mobility Mobility Distribution • 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. design mobile_user design mobile_user outloc outloc locuser locuser out outfile out outfile@locuser @locuser : : enum enum ( (ps ps, , pdf pdf) ) prv state state@locuser @locuser : : bool bool prv do work work@locuser @locuser : state : state - -> state := ~state > state := ~state do [] [] print_ps print_ps@locuser @locuser : ~state : ~state - -> > outfile := outfile := ps ps || state := ~state || state := ~state [] print_pdf [] print_pdf@locuser @locuser : ~state : ~state - -> > outfile := := pdf pdf || state := ~state || state := ~state outfile [] prv prv move move@ @locuser locuser : : locuser locuser := := newLoc( newLoc() ) [] Future Work Future Work • Answer the problem of • Answer the problem of scalability scalability of of 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- -modelling, modelling, mobile systems (Meta Architectural Views (SA), following MDA Architectural Views (SA), following MDA approach, Coordination mechanisms, approach, Coordination mechanisms, … …) ) 8

Recommend


More recommend