Software Architecture for Pervasive Systems



Similar documents
Note concernant votre accord de souscription au service «Trusted Certificate Service» (TCS)

Introduction au BIM. ESEB Seyssinet-Pariset Economie de la construction contact@eseb.fr

Sun Management Center Change Manager Release Notes

Future Entreprise. Jean-Dominique Meunier NEM Executive Director Nov. 23, 2009 FIA Stockholm

"Internationalization vs. Localization: The Translation of Videogame Advertising"

FATMAS : A Methodology to Design Fault-tolerant Multi-agent Systems

Formation à l ED STIC ED STIC Doctoral education. Hanna Klaudel

SunFDDI 6.0 on the Sun Enterprise Server

Reusable Connectors in Component-Based Software Architecture

A web-based multilingual help desk

I will explain to you in English why everything from now on will be in French

Contracts over $10,000: 1 April 2013 to 30 September 2013 Contrats de plus de $ : 1er avril 2013 au 30 septembre 2013

Section des Unités de recherche. Evaluation report. Research unit : Troubles du comportement alimentaire de l adolescent. University Paris 11

Méthodes ensemblistes pour une localisation robuste de robots sous-marins

Archived Content. Contenu archivé

Solaris 10 Documentation README

Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203

Brief description of the paper/report. Identification

Personnalisez votre intérieur avec les revêtements imprimés ALYOS design

Qu est-ce que le Cloud? Quels sont ses points forts? Pourquoi l'adopter? Hugues De Pra Data Center Lead Cisco Belgium & Luxemburg

Sun Management Center 3.6 Version 5 Add-On Software Release Notes

Sun TM SNMP Management Agent Release Notes, Version 1.6

"Templating as a Strategy for Translating Official Documents from Spanish to English"

A Classification and Comparison Framework for Software Architecture Description Languages

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Optimizing Solaris Resources Through Load Balancing

THE CITY OF TORONTO S JOB DEMANDS ANALYSIS AND JOB MATCH SYSTEM

SUN SEEBEYOND egate INTEGRATOR RELEASE NOTES. Release 5.1.1

Audit de sécurité avec Backtrack 5

BILL C-665 PROJET DE LOI C-665 C-665 C-665 HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA

The Role of the Software Architect

Fondation Rennes 1. Atelier de l innovation. Fondation Rennes 1. Fondation Rennes 1 MANAGEMENT AGILE. Fondation Rennes 1 ET INNOVATION

Sun StorEdge Availability Suite Software Point-in-Time Copy Software Maximizing Backup Performance

System Requirements Orion

Il est repris ci-dessous sans aucune complétude - quelques éléments de cet article, dont il est fait des citations (texte entre guillemets).

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

Sun StorEdge A5000 Installation Guide

N1 Grid Service Provisioning System 5.0 User s Guide for the Linux Plug-In

AP FRENCH LANGUAGE AND CULTURE 2013 SCORING GUIDELINES

Factors hindering extension staffs efficiency in assisting maize farmers in western province in the agricultural reform era

10 mistakes not to make in France!


ESMA REGISTERS OJ/26/06/2012-PROC/2012/004. Questions/ Answers

Sun Management Center 3.5 Update 1b Release Notes

Sun Fire V20z Server Release Notes

Regulatory Compliance Statement

Sun SNMP Management Agent Release Notes, Version 1.5.5

An In-Context and Collaborative Software Localisation Model: Demonstration

Thursday, February 7, DOM via PHP

Interfaces de programmation pour les composants de la solution LiveCycle ES (juillet 2008)

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

ACP-EU Cooperation Programme in Science and Technology (S&T II) / Programme de Coopération ACP-UE pour la Science et la Technologie

Remote Method Invocation

L enseignement de la langue anglaise en Algérie; Evaluation de certains aspects de la réforme scolaire de 2003

AgroMarketDay. Research Application Summary pp: Abstract

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Service Level Definitions and Interactions

MANITOBA TRADE AND INVESTMENT CORPORATION ANNUAL REPORT 2012/13 SOCIÉTÉ DU COMMERCE ET DE L'INVESTISSEMENT DU MANITOBA RAPPORT ANNUEL 2012/13

Survey on Conference Services provided by the United Nations Office at Geneva

"Simultaneous Consecutive Interpreting: A New Technique Put to the Test"

Detection of water leakage using laser images from 3D laser scanning data

DHI a.s. Na Vrsich 51490/5, , Prague 10, Czech Republic ( t.metelka@dhi.cz, z.svitak@dhi.cz )

A Document Visualization Tool Customized to Explore DRDC Reports. Peter Kwantes

Skills for Sustainability: Green Building accredited professionals networks in Europe

Langages Orientés Objet Java

Calcul parallèle avec R

The Need For Speed. leads to PostgreSQL. Dimitri Fontaine 28 Mars 2013

AIRBUS VHT Framework - Mascot-NuM presentation - Emmanuelle Garcia

FINAL DRAFT INTERNATIONAL STANDARD

A GREEN PARADISE AT THE GATES OF LISBON UN PARADIS VERT AUX PORTES DE LISBONNE

Java Dynamic Management Architecture for Intelligent Networks

CHAPTER 7 SUMMARY AND CONCLUSION

Solaris 9 9/05 Installation Roadmap

Towards harmonising quality assurance for postgraduate training and research in RUFORUM member universities

AD511 Active Iridium Antenna User Manual Mar 12 V4.0

Applying 4+1 View Architecture with UML 2. White Paper

Processed weight to live-weight conversion factors for Atlantic halibut (Hippoglossus hippoglossus) of the Scotian Shelf and Southern Grand Banks

Sun Cluster 2.2 7/00 Data Services Update: Apache Web Server

ISO xx STEP. Sommaire. étendue. STandard for the Exchange of Product model data. Hervé Panetto CRAN nancy.

Sun Management Center 3.6 Version 4 Add-On Software Release Notes

Comparing JavaServer Pages Technology and Microsoft Active Server Pages

Detection of Preference and Selection of Cloud Services for Dynamic Adaptation Based on the User Profile

Operations Management Capabilities Model

Guidance on Extended Producer Responsibility (EPR) Analysis of EPR schemes in the EU and development of guiding principles for their functioning

EPREUVE D EXPRESSION ORALE. SAVOIR et SAVOIR-FAIRE

Masters in Human Computer Interaction

Masters in Advanced Computer Science

Transcription:

Software Architecture for Pervasive Systems Rami YARED, Xavier DEFAGO JAIST Japan Advanced Institute of Science and Technology 1-1 Asahidai, Tatsunokuchi, Ishikawa, 923-1292 Japan Tel: (+81) 0761-51-1224 E-mail : defago@jaist.ac.jp rami_yared@yahoo.fr Résumé: Un défi des services mobiles et de l informatique ambiante «ubiquitous computing» est de permettre à l utilisateur d accéder aux informations sous plusieurs formes (voix, image, data), quelles que soient ses coordonnées, et à tout instant. L environnement peut être vu d une manière générale comme un grand réseau ad hoc distribué, avec un grand nombre de terminaux en mouvement, qui peuvent établir des communications entre eux. Il faut alors considérer plusieurs éléments dans la fourniture des services flexibles tels que l adaptabilité aux capacités du terminal de l utilisateur, et aussi aux capacités du réseau. L architecture logicielle à base de composants offre une grande possibilité de construire des systèmes logiciels, qui peuvent répondre aux exigences précédentes. Dans cet article, nous étudions les différentes caractéristiques de l architecture logicielle des systèmes dans un environnement de services mobiles, en particulier la reconfiguration dynamique de l architecture logicielle. Nous commençons par une introduction (partie 1), ensuite dans la (partie 2), nous déterminons les différents besoins de la mobilité ainsi que les caractéristiques des logiciels qui doivent être déployés dans un contexte de mobilité. Dans la (partie 3), nous allons expliquer les caractéristiques d un Langage de Description d Architecture ADL, adaptable à la mobilité. Les caractéristiques importantes pour évaluer la configuration d une architecture logicielle dans un contexte de mobilité seront traitées dans la (partie 4). Dans la (partie 5), nous présentons un framework basé sur composants logiciels qui permettra d effectuer la reconfiguration dynamique, dans un environnement mobile. Nous terminons cet article par une conclusion et perspective. (Partie 6). Abstract: Pervasive computing can be summarized by having access to computing and information anywhere, anytime and from any device. The whole environment can be seen as a large adhoc distributed system, with a multitude of devices moving from one place to another and cooperating with each other. It is then necessary to consider several elements in the supply of flexible services such as adaptability to capacities of user s terminals, and to network capacities. Component-based software architectures, offer a great possibility to build systems that fulfil the preceding requirements. In this paper, we study the characteristics of software architecture of systems in a mobile environment, particularly dynamic reconfiguration of software architecture for pervasive systems. This paper is organised as follows: (section 1) is the introduction, (section 2) 1

contains an overview of various needs of mobility as well as the characteristics of software, which must be deployed in a context of mobility. Then in (section 3), we discus the essential specifications of an Architecture Description Language ADL, adaptable to mobility requirements. The important characteristics to evaluate the configuration of software architecture in a context of mobility are handled in (section 4). In (section 5) we describe a component-based framework that enables a software system to perform dynamic reconfiguration in a context of pervasive computing. Finally, in (section 6) we illustrate some related work and conclusions. 1. Introduction: Modern Software architectures have to deal with mobile components. Therefore, the structure of these systems is dynamic and continuously changing. Computing is no longer limited to a computer, there are different types of devices, such as personal digital assistants (PDAs) and mobile phones, taking advantage of wireless networks to connect to the Internet to provide services to the user. There is no doubt, a trend towards more and more networked small devices with wireless access present in living and working spaces. So, the future will see great emphasis on pervasive computing. [7] To meet pervasive computing requirements, we need dynamic reconfiguration, and dynamic component assembling. In this paper, we study the characteristics of software architecture in a mobile environment, then we present a component-based framework that offers a flexibility allowing a system to change its management protocol according to new specifications determined at run time. 2. Mobility Requirements & Constraints: More people are using mobile devices to access information or to communicate with each other. [7] 2.1. Context & Requirements for Mobility The most important characteristics of pervasive environments are: Heterogeneity: Computing will be carried out on a wide spectrum of client devices, each with different configurations and functionalities. Prevalence of "Small" Devices: Many devices will be small, not only in size but also in computing power, memory size, etc. Limited Network Capabilities: Most of the devices would have some form of connection. However, even with the new networking standards such as GPRS, Bluetooth, 802.11x, etc., the bandwidth is still relatively limited compared to wired network technologies. Besides, the connections are usually unstable. High Mobility: Users can carry devices from one place to another without stopping the services. User-Oriented: Services would be related to the user rather than a specific device, or specific location. Highly Dynamic Environment: An environment in which users and devices keep moving in and out of a volatile network. So, the whole environment can be seen as a large ad-hoc distributed system, with a multitude of small devices moving from one place to another and cooperating with each other. With this new environment, new approaches have to be used to build applications. Current approaches to build 2

distributed applications are not effective in a pervasive environment. The pervasive computing environment poses new requirements on the infrastructure [7]. These requirements are: Adaptation to Diversity: The infrastructure should provide the ability for applications to adapt their functionality according to the device requirements, networks,..etc. Increasing Interaction with Peers: Many of these devices will form ad-hoc networks among themselves in order to exchange information and to co-ordinate in order to provide services to users. Flexible Computation Model: In a pervasive computing environment, there are various ways of accessing different types of data according to different users needs. A combination of code and data mobility should be enabled to construct a flexible computation model. 2.2. Characteristics of a software deployed in a mobile environment An important requirement for pervasive computing systems is the ability to adapt themselves at run time to handle such things as user mobility, resource variability, changing user needs, and system faults (servers and networks going down, failure of external components, etc.). [8] The essential specifications of software deployed in pervasive environments are: Client-Dependent Adaptability: Such a changing environment necessitates applications to be dynamic, i.e. to dynamically change according to user's device configuration. User and Device Mobility: Users should be able to continue their work independent of their location or the device they are using. Peer-to-Peer Co-operative Computing: With increased interaction between peer users, direct communication links within user peer groups can be established to support computations without any central control. To achieve the above goals, combinations of software development techniques and infrastructural entities have to be used [1]. The traditional software architecture for application development has to be changed. Instead of being large modules, software should be made up of smaller components. In addition, the network should have some intelligence to enable adaptability and provide for user-oriented services. In addition, mobile code systems have to be incorporated in the software architecture, which utilize a combination of data and code mobility in order to realize a flexible computation model. Therefore, it is then necessary to consider several elements in the supply of flexible services such as adaptability to capacities of user s terminals, and to network capacities. Componentbased software architectures, offer a great possibility to fulfil the preceding requirements. To meet pervasive computing requirements, we need dynamic reconfiguration, and dynamic component assembling. Obviously, it is necessary in a mobility environment, to handle application s non-functional properties, such as security of communications, performance, and quality of service. 3. Characteristics of an Architecture Description Language ADL adaptable to mobility: Architecture Description Languages ADLs are tools for modelling and formalising different aspects of software architecture of systems. [4] They offer compilers, analyse tools, parsers, and simulators for architecture description. There are different ADLs such as: Acme, C2, Wright, Darwin, Rapide, SADL, Meta-H, Unicon, Aesop, and Adage. but every language has its own capacities. There are two important points of view: the first describes the organisation of software in modules, and the interaction between these modules, and the other describes the system at run 3

time and gives some snapshots of the system in action, which is very useful in analysing run time properties of a system, like: performance, reliability, and security. We studied some ADLs such as: Wright, Rapide, Darwin, C2 and XML-based ADLs. [5] Classical ADLs (Rapide, Darwin, Wright ) have many advantages, such as: - Possibility of hierarchical description of components. - Explicit description of connectors & interconnections, and - Existence of associated tools. However, these ADLs have some weak points such as: - Absence of abstraction, because many of them are similar to realization. - The approach proposed by these ADLs is rather structural, i.e. static; the dynamicity is not well handled. - Non-functional properties are not always considered. - No projection is proposed onto actual component-based platforms such as CCM, EJB. So, classical ADLs do not handle mobility problem, they model software architecture at design time. But, on the other hand mobile and pervasive computing environments needs dynamic reconfiguration, and adaptability. An important approach is to build an application in a context of mobility by assembling of components at run time. To insert a component in software architecture "plug-in" it is necessary that this component have certain specifications. The choices of a component that meet the requirements take place at run-time. 4. Dynamic reconfiguration of software architecture: The configuration of architecture is also called topology. This configuration defines architectural properties of connectivity, as well as concurrence and repartition properties. [4] Configuration defines the structure and the behavior of a system constructed using components. Structural configuration of an application in a mobile environment, determines components and connectors that form the application, and checks the correspondence between components interfaces (ports) and connectors interfaces (roles) at run time. Behavioural configuration models application s behavior by describing evolutions of the links between components and connectors, as well as the evolution of non-functional properties such as quality of service, security.[4] Configuration also defines the placement of components on the sites at starting instant of the system and their evolution at any instant of execution of the application. The important characteristics for evaluating configuration of an ADL in a pervasive computing environment are: a) Dynamic aspect of the application It is necessary that configuration specifies the dynamic behavior of the application, i.e. it must allow to architectural elements to be dynamically modified during execution time of the application. b) Evolution of the configuration Configuration should be capable of performing new functionalities implying a modification or an evolution of the system s structure. It is necessary that configuration allow modifying architecture by adding or eliminating components and/or connectors. c) Scalability An ADL adapts to mobility must propose a modelling of systems which size can be bigger. It is a question of expecting the number of instances and their placement in a mobile environment 4

d) Constraints Constraints related to configuration describe the dependencies between components and connectors, as well as characteristics concerning dynamic assembling of components. e) Non-functional properties Certain properties must be expressed at the level of configuration, because these non-functional properties are related to neither components nor connectors. These properties depend on the environment of execution. They must be specified at the level of configuration. f) Heterogeneity The configuration of an ADL adaptable to mobility must allow the development of great systems based on components of different characteristics. These characteristics can be operating systems, or programming languages, which can be heterogeneous. g) Composition The configuration of software architecture of a system must represent the composition at different levels of details. That means a hierarchical composition. This concept permits to specify the application using a descending approach with different levels of refinement, starting with the most general level formed by principal components and connectors, which defined themselves by groups of components and connectors. 5. Component-based framework: We proposed and implemented a component-based framework that enables a software system to perform dynamic reconfiguration in a context of pervasive computing. This framework offer a flexibility allowing a system to change its management protocol according to new specifications determined at run time. So, a software system can change its management techniques without any modifications to its internal structure. 5

The solution is to add a generic layer made up of software components (middleware) with an aim of separating between the specialities of the standard management protocols, and the structure of the system. Therefore, the system can add or remove protocols at run time. This goal will be carried out by changes in this layer without modifying the total system. This framework permits a coexistence of several standard management protocols, which is very useful for our problems: dynamic reconfiguration and adaptability, in a pervasive computing environment. Our framework offers large flexibility because it allows adding or removing protocols. This framework is based on generic software components, which permits the reusability of these components in many other applications. 6. Conclusion & Perspective: The software architecture supplies a simple syntax and a semantic that permits to simplify communications between different partners of software engineering, such as designers, developers, architects, and testers. The configuration of software architecture facilitates the comprehension of a system s structure without going into the details of each component and each connector. Finally, dynamic reconfiguration of software architecture specifies the dynamics of a system, i.e. the evolution of this system during its execution. Our future research aims to establish a distributed component-based software architecture, which satisfies the challenges of pervasive computing and mobile services, such as dynamic adaptability, tolerance to system failures, and the mobility of users. 6

References [1] Nalini Moti Belaramani, Yuk Chow, Cho-Li Wang, Francis C.M. Lau, A componentbased Software Architecture for Pervasive Computing Intelligent Virtual World: Technologies and Applications in Distributed Virtual Environments, World Scientific Publishing Co. [2] My T.Le, Srinivasan Seshan, Frederick Burghardt Software Architecture of the Infopad System Electrical Engineering & Computer Sciences Department, University of California, Berkeley [3] Robert Allen, Rémi Douence, and David Garlan Specifying and Analysing Dynamic Software Architectures, Proceedings of 1998 Conference on Fundamental approaches of Software Engineering Lisbon, Portugal (March 1998) [4] David Garlan, Software Architecture School of Computer Science Carnegie Mellon University, Encyclopaedia of Software Engineering. 2001 [5] Nenad Medvidovic and Richard N. Taylor, Member, IEEE Computer Society A Classification and Comparison Framework for Software Architecture Description Languages IEEE Transactions on Software Engineering, VOL.26, NO. 1, JANUARY 2000 [6] Robert J. Allen A formal Approach to Software Architecture May 1997 PhD thesis, in School of Computer Science Carnegie Mellon University [7] Pervasive Computing, IBM Systems Journal, Volume 38, Number 4, 1999. [8] Shang-Wen Cheng, David GARLAN, Joao Pedro Sousa, Bridget Spitznagel, Peter Steenkiste Software Architecture based Adaptation for Pervasive Systems School of Computer Science Carnegie Mellon University. 7

Remerciements J adresse mes remerciements les meilleures à Monsieur. Xavier DEFAGO, pour m avoir accepté au sein de son équipe, à JAIST (Japan Advanced Institute of Science and Technology), et pour son aide et ses encouragements précieux. J adresse également mes remerciements cordiaux à Monsieur. Elie NAJM, chef du groupe ingénierie du logiciel et des réseaux à l Ecole Nationale Supérieure des Télécommunications (E.N.S.T-PARIS) pour m avoir intégré dans son groupe de recherche, et pour son aide que je l apprécie énormément, et ses conseils très importants. Je tiens à remercier particulièrement l'ambassade de France à Tokyo pour organiser ce workshop qui est nécessaire pour l avancement des recherches scientifiques. Je remercie également M. Philippe GODLEWSKI, pour son aide et ses conseils. Je tiens à remercier aussi, Mme Sylvie Vignes, les ingénieurs, les doctorants et les chercheurs à l ENST. Avant de finir ce mot de remerciements, je voudrais remercier mes amis : Ali, Bernard, Céline, Cyril, Dany, Habib, Hazar, Ibrahim, Jacques, Mohamad, Mai Trang, Mejdi, Ouahiba, Pascal, Rana, Rani, Rola, Salim, et Taha. 8