• No results found

Software Architecture for Pervasive Systems

N/A
N/A
Protected

Academic year: 2021

Share "Software Architecture for Pervasive Systems"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

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 ad-hoc 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)

(2)

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

(3)

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 infra- structural 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. Component-based 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

(4)

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

(5)

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.

(6)

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.

(7)

References

[1] Nalini Moti Belaramani, Yuk Chow, Cho-Li Wang, Francis C.M. Lau, “ A component-based 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 ArchitectureMay 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.

(8)

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.

References

Related documents

The criteria for selecting security controls to be monitored post deployment and for determining the frequency of such monitoring is established by the information system owner

(2013) [ 28 ] DM To evaluate the effectiveness of an intervention on community disaster preparedness in Iran, as delivered by primary healthcare system General Public

Associate Advocate. Attendees were provided Publication 1546, Taxpayer Advocate Service Is Here to Help. Taxpayer Advocate’s mission is to help taxpayers resolve problems with the

REFERENCE A.K leinf eld 7 REquIREMEntS foR SuCCESSful IMPlEMEntatIon of knoWlEdgE ManagEMEnt comPaNy‘s PersPective inFormation in % comPaNy culture emPloyee maNagemeNt

Estimated bull ratios (i.e., corrected for incomplete sightability) were highest in the Lower Arrow and Salmo/Pend d’Oreille units, followed by the Nakusp-Monashee and Slocan

[32] Saira Kanwal, Muhammad Uzair, Habib Ullah, Sultan Daud Khan, Mohib Ullah, and Faouzi Alaya Cheikh, “An image based prediction model for sleep stage identification,” in 2019

Additionally, the findings from this study provided a correspondence of strategies, ideas, and philosophies that will embrace the goals of instructors working together to