View this PageEdit this PageAttachments to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

PrésentationRechercheScorpioPublicationsDivers

Recherche

Sujet de la thèse : Adaptation de Composants Logiciels dans les Environnements Ubiquitaires et Mobiles

Sous la direction de : Pr. Chabane-Mourad Oussalah & Dr. Abdelhak-Djamel Seriai.

Mots-clés : Composants logiciels, Adaptation, Refactoring, Orienté-objet, informatique ubiquitaire et mobile.

KeyWords : Software component, structural adaptation, static adaptation, runtime adaptation, self-adaptation, restructuration, distribution, refactoring, composite-component, object-oriented.

Résumé : Dans la lignée des approches orientées objet, celles à base de composants visent à accroître la réutilisation du code et à faciliter le développement d’applications logicielles. L’objectif premier étant d’avoir à utiliser des composants disponibles sur étagères (COTS).
Par ailleurs, comme il est impossible de développer des composants répondant aux multiples variations concernant leurs utilisations, il était nécessaire de proposer des approches permettant d’adapter ces composants logiciels fournis sur étagères pour qu’ils puissent être ajustés à leurs contextes d’utilisation.
Suivant ces contextes et ces degrés de variabilité souhaités, la finalité de l’opération d'adaptation peut être différente. Nous distinguons notamment l’adaptation correctionnelle qui s’intéresse à la correction des défauts, l’adaptation adaptative dont l’objectif est la prise en compte des changements affectant l'environnement d’exécution, l’adaptation évolutive qui vise à assurer de nouvelles fonctionnalités et l’adaptation perfective où la finalité est d’améliorer les performances de l’application.
Dans le cadre de cette thèse, nous proposons d’étudier la problématique d’adaptation des composants logiciels, de manière générale. En particulier notre intérêt porte sur l’étude d’une nouvelle facette d’adaptation que nous appelons l’adaptation structurelle. L’adaptation structurelle consiste en la possibilité de modifier la structure d’un composant logiciel en fonction des besoins de son utilisation. Le changement de la structure des composants adaptés est réalisé de manière transparente sans aucune modification des services ou des comportements de ces composants. Il s’agit, par exemple, de mettre à jour la structure d’un composant existant en le décomposant en différents sous-composants où chacun de ces nouveaux sous-composants offre une partie des fonctionnalités offertes par le composant initial et où l’assemblage de ces derniers fournie les mêmes services que le composant adapté. Ainsi, l’objectif de cette adaptation pourrait être, par exemple, un déploiement flexible du composant adapté. Ceci consiste, par exemple, à pouvoir répartir suivant les besoins, les services de ce composant sur différents sites distribués. Cela est possible par le déploiement de chacun des nouveaux sous-composants de manière séparée sur des sites différents qui peuvent être suivant la configuration distribués ou non.
Différents problèmes sont ainsi à étudier dans le cadre de cette thèse. Nous citons à titre d’exemple, l’adaptation structurelle de manière statique, l’adaptation structurelle de manière dynamique, le problème de l’auto adaptation, etc. Ces problèmes sont à étudier en considérant des composants logiciels dits « boite blanche » ou « boite noire ».
Il serait intéressant de développer une approche permettant l’adaptation au niveau de l’application (niveau macro) comme au niveau des entités formant cette application (niveau micro) en assurant le passage entre les deux niveaux de spécification. Notre domaine d’application est celui des applications ubiquitaires et mobiles. Ce type applications pose de nombreuses questions liées à l’adaptation, en particulier dynamique, telles que la gestion des ressources limitées ou l’interfaçage avec différentes plate-formes hétérogènes.

Références bibliographiques

A) Composants logiciels

1. C. Szyperski: Component Software. Beyond Object-Oriented Programming - Addison-Wesley / ACM Press, 1998.

B) Adaptation

2. A. Brogi, C. Canal, E. Pimentel, Soft component adaptation, Electronic Notes Theoretical Computer Sciences. 85 (3), 2003.
3. A. Brogi, C. Canal, E. Pimentel : Measuring Component Adaptation, Coordination 2004: 71-86.
4. G.T Heineman, A model for Designing Adaptable Software Components. COMPSAC 1998: 121-127
5. M. Mezini and K. Lieberherr - Adaptive Plug-and-Play Components for Evolutionary Software Development. OOPSLA'98.
6. A. Ketfi, Automatic Adaptation of Component-based Software: Issues and Experiences, PDPTA, 2002.
7. Ralph Keller, Urs Hölzle: Binary Component Adaptation. ECOOP 1998: 307-329P. Tarr, H. Ossher, W. Harrison. N Degrees of Separation: Multi-Dimensional Separation of Concerns. ICSE'99.
8. Projet RNTL ARCAD, Etat de l’art sur l’adaptabilité, coordinateur Thomas Ledoux, école des mines de Nantes : http://www.emn.fr/x-info/ledoux/Publis/d1-1-last.pdf

C) Restructuration : refactoring, slicing, fragmentation

9. B. Morel, P. Alexander, A slicing Approach for Parallel Component Adaptation, ECBS 2003: 108-114.
10. M. Fowler, Refactoring: Improving The Design Of Existing Code, The Addison-Wesley Object Technology Series, ISBN 0201485672), 1999.
11. C.I. Ezeife, Ken Barker, A Comprehensive Approach to Horizontal Class Fragmentation in a Distributed Object Based System, Distributed and Parallel Databases 3(3) : 247-272 (1995).

D) Informatique ubiquitaire et mobile

12. M. Weiser, Hot Topics: Ubiquitous Computing, IEEE Computer, October 1993.
13. A. Ranganathan, S. Chetan, R. Campbell. Mobile Polymorphic Applications in Ubiquitous Computing Environments, Proceeding of MobiQuitous 2004, Boston, Massachusetts, USA.

E) Modèle et plate-forme à base de composants

14. E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, J-B. Stefani: An Open Component Model and Its Support in Java. CBSE 2004: 7-22.
15. Plate-forme Julia : http://fractal.objectweb.org/tutorials/julia/index.html.