CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.

Slides:



Advertisements
Similar presentations
3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
Advertisements

2nd Open Archives Forum Workshop – Lisbon, 5th-7th December 2002 Open Access to Hidden Resources Donatella Castelli ISTI-CNR Pisa.
Open Archives Forum IST Leona Carpenter UKOLN, University of Bath UKOLN is funded by Resource: The Council.
CoreGRID: European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies.
Relating Problem & Solution Structures
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
Architecture-based Evolution of Software Systems José Luiz Fiadeiro Architecture-based Evolution of Software Systems Luís Andrade João Gouveia Georgios.
INTERNATIONAL INSTITUTE FOR GEO-INFORMATION SCIENCE AND EARTH OBSERVATION Towards quality-aware Infrastructures for Geographic Information Services Richard.
1. What number does the following array represent?
HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering.
Software Architecture Research and Practice Nenad Medvidovic University of Southern California
Opportunities for Cooperation IAB Kick-off Leicester, 8 June 2005.
ESPACES “ Establishing a Pan-European Service Centric 3/4G mobile communications environment”. An Integrated Project Proposal Co-ordinator: Telecommunications.
New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro.
1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
Презентація за розділом “Гумористичні твори”
Центр атестації педагогічних працівників 2014
Галактики і квазари.
Характеристика ІНДІЇ.
Процюк Н.В. вчитель початкових класів Боярської ЗОШ І – ІІІ ст №4
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
ICT for Enterprise Networking ICT for Enterprise Networking WP Opportunities in the 5th Call Alain JAUME IST Programme. DG INFSO/ D5.
Rogério de LemosDEFINE – Pisa, November 2002 – 1 Proactive Computing: Artificial Immune Systems Rogério de Lemos University of Kent at Canterbury  Brian.
computer
1 SAM ‘08 © 2008, Dewayne E PerryICSE ’08 – Leipzig, Germany Composable Context-Aware Architectural Connectors Christine Julien Dewayne Perry.
CYCLADES IST CYCLADES: A Personalised Collaborative Digital Library Environment Umberto Straccia I.S.T.I. - C.N.R. Pisa (ITALY)
Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber,
Agency for International Science and Technology Development Programmes in Lithuania IST IN FP6: COVERAGE AND MAIN TARGETS Dr. Rimantas Skirmantas International.
Духовні символи Голосіївського району
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
An Object-Z / CSP Based Approach for the Specification of Architectural Connectors Mourad Maouche Philadelphia University Jordan Mohamed Bettaz MESRS Algeria.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on: Global Computing (GC) Proactive.
1 A Multi-Paradigm Approach to Describe Software Systems presented by Adel Smeda.
Experience in managing service portfolio: OpenAIRE, BlueBridge
NEGST January 2006-(may 2007)-December 2008 Serge G. Petiton, CNRS/LIFL The objective of the NEGST project is to promote the collaborations of Japan and.
Cooperative Mobility Lisbon
GF and RS, Dept. of CS, Mangalore University
Software Connectors.
Coordination Contracts, Evolution and Tools
Software Connectors – A Taxonomy Approach
Проф. д-р Васил Цанов, Институт за икономически изследвания при БАН
ЗУТ ПРОЕКТ на Закон за изменение и допълнение на ЗУТ
О Б Щ И Н А С И Л И С Т Р А П р о е к т Б ю д ж е т г.
Електронни услуги на НАП
Боряна Георгиева – директор на
РАЙОНЕН СЪД - БУРГАС РАБОТНА СРЕЩА СЪС СЪДЕБНИТЕ ЗАСЕДАТЕЛИ ПРИ РАЙОНЕН СЪД – БУРГАС 21 ОКТОМВРИ 2016 г.
Сътрудничество между полицията и другите специалисти в България
Съобщение Ръководството на НУ “Христо Ботев“ – гр. Елин Пелин
НАЦИОНАЛНА АГЕНЦИЯ ЗА ПРИХОДИТЕ
ДОБРОВОЛЕН РЕЗЕРВ НА ВЪОРЪЖЕНИТЕ СИЛИ НА РЕПУБЛИКА БЪЛГАРИЯ
Съвременни софтуерни решения
ПО ПЧЕЛАРСТВО ЗА ТРИГОДИШНИЯ
от проучване на общественото мнение,
Васил Големански Ноември, 2006
Програма за развитие на селските райони
ОПЕРАТИВНА ПРОГРАМА “АДМИНИСТРАТИВЕН КАПАЦИТЕТ”
БАЛИСТИКА НА ТЯЛО ПРИ СВОБОДНО ПАДАНЕ В ЗЕМНАТА АТМОСФЕРА
МЕДИЦИНСКИ УНИВЕРСИТЕТ – ПЛЕВЕН
Стратегия за развитие на клъстера 2015
Моето наследствено призвание
Правна кантора “Джингов, Гугински, Кючуков & Величков”
Безопасност на движението
The Most In-Demand Skills for Cloud Computing.
From Use Cases to Implementation
Presentation transcript:

CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon

Architectures for Mobility University of Munich University of Pisa University of Florence University of Lisbon ISTI-CNR ATX Software SA IST Architectures for Mobility Jan 02 – Apr 05

Motivation Mobility A new factor of complexity in the development of software systems Software Architectures Have contributed to the taming of the complexity of developing software systems by separating Coordination from Computation and promoting Connectors as first-class citizens.

Motivation Architecture-based approaches A Y Y A B B C Computation Coordination A Y X Compositionality wrt refinement Y Y B B X C C wrt evolution

Architectural Descriptions in Example. A simple sender-receiver system bsender Sync breceiver design bsender is out ob:bit prv w:array(N,bit), k:nat, rd:bool do neww:k=N w: array(N,bit) k:=0 [] newb: rd k<N rd:=true ob:=word[k] k:=k+1 [] send:rd rd:=false ob sendnewbneww design breceiver is in ib:bit out w:array(N,bit), k:nat prv recw:array(N,bit), rd:bool do rec:k<N recw[k]: ib k:=k+1 rd:=false [] savew: rd k=N rd:=true w:=recw [] neww:rd k=N rd:=false k:=0 ib recsavewneww

Categorical semantics in Example. A simple sender-receiver system design sync is in i:bit do ac:true skip breceiver bsender cable ob i send ac cable i ib ac rec Diagram in a category of designs Semantics given by the colimit

Colimit semantics design sync-send-rec is out b:bit, w r :array(N,bit), k r :nat prv rd r, rd s : bool, recw r, w s :array(N,bit), k s :nat do sendrec:rd s k r <N rd s :=false word r [k r ]: b k r :=k r +1 rd r :=false [] savew: rd r k r =N rd r :=true w r :=word [] rneww:rd r k r =N rd r :=false k r :=0 [] sneww:k s =N w s : array(N,bit) k s :=0 [] newb: rd s k s <N rd s :=true b:=w s [k s ] k s :=k s +1

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

Motivation Architecture-based approaches A Y X C C Y A B B C Computation Coordination A Y X Distribution G F F G F Architectural Approach to Mobility : Goal

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 Position where the value is available Position where code is executed enabling condition state changes : G(g) R(g) 1,l 2,...} On the move…

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:bit out prv do recw[k]: ib k:=k+1 rd:=false [] rd k=N rd:=true w:=recw [] k=N rd:=false k:=0 l:=if(loc?(w),loc(w),l)

Making designs location-aware Example. A fixed sender i.e. placed at a fixed position design mobsender is outloc l out prv do w: array(N,bit) k:=0 [] rd k<N rd:=true ob:=w[k] k:=k+1 [] rd:=true

Making architectures location-aware Example. A location-aware version of the sender-receiver system with the previous mobile receiver and a fixed sender mobreceiver mobsender cable ob i send ac i ib ac rec Categorical Diagram design sync is in i:bit do ac:true skip

Making architectures location-aware design mobsys is outloc l s, l r out s :bit, w r :array(N,bit), k r :nat prv rd r, rd s : bool, recw r, w s :array(N,bit), k s :nat do s :rd s rd s r :k r <N word r [k r ]: b k r :=k r +1 rd r :=false [] r : rd r k r =N rd r :=true w r :=word [] r :rd r k r =N rd r :=false k r :=0 l r :=if(loc?(w r ),loc(w r ),l r ) [] s :k s =N w s : array(N,bit) k s :=0 [] s : rd s k s <N rd s :=true b:=w s [k s ] k s :=k s +1

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)

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 U Loc (bt i,reach i ) i N 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

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

Making designs location-aware design mobsender is outloc l out prv do w: array(N,bit) k:=0 [] rd k<N rd:=true ob:=w[k] k:=k+1 [] rd:=true design bsender is out ob:bit prv w:array(N,bit), k:nat, rd:bool do neww:k=N w: array(N,bit) k:=0 [] newb: rd k<N rd:=true ob:=word[k] k:=k+1 [] send:rd rd:=false design fixed is outloc l cable2

Making designs location-aware design mobreceiver is outloc l in ib:bit out prv do recw[k]: ib k:=k+1 rd:=false [] rd k=N rd:=true w:=recw [] k=N rd:=false k:=0 l:=if(loc?(w),loc(w),l) design breceiver is in ib:bit out w:array(N,bit), k:nat prv recw:array(N,bit), rd:bool do rec:k<N recw[k]: ib k:=k+1 rd:=false [] savew: rd k=N rd:=true w:=recw [] neww:rd k=N rd:=false k:=0 design move_to is outloc l in w:array(bit,N) do l:=if(loc?(w),loc(w),l) cable3 move neww l w

Externalisation of distribution breceiver bsender cable ob i send ac i ibit ac rec design sync is in i:bit do ac:true skip cable2 design fixed is outloc l l cable3 move neww l w design move_to is outloc l in w:array(bit,N) do l:=if(loc?(w),loc(w),l)

Conclusions Architecture-based approaches A Y X C C Y A B B C Computation Coordination A Y X Compositionality wrt refinement wrt evolution Distribution G F F G F Architectural Approach to Mobility

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

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