Méthodes et outils pour la conception de systèmes logiciels auto-adaptatifs

par Franck Chauvel

Thèse de doctorat en Informatique

Sous la direction de Isabelle Borne.

Soutenue en 2008

à Lorient .


  • Résumé

    Avec l'avènement des systèmes mobiles, la plupart des systèmes logiciels doivent s'adapter à un environnement fluctuant en ressources matérielles et logicielles. Ce besoin d'adaptabilité survient à la fois dans des systèmes à large échelle tels que les systèmes paire-à-paire déployés sur Internet et dans des systèmes de taille plus modeste, voire dans des systèmes embarqués, téléphonie mobile, GPS, etc. Ces systèmes, dits « auto-adaptatifs », doivent donc observer les fluctuations de leur environnement dans le but d'offrir un service de qualité le plus longtemps possible. « Observation, décision, action » est alors naturellement le credo des systèmes auto-adaptatifs : observer l'environnement pour décider des modifications à apporter à la configuration ou à l'architecture. Le conception et le développement de tels systèmes fait converger plusieurs branches de l'informatique actuelle : le génie logiciel, l'intelligence artificielle, et les systèmes distribués. Les systèmes distribués et les systèmes sensibles traitent tout d'abord de problèmes liés à l'observation de l'environnement. L'intelligence artificielle et les systèmes de décision permettent ensuite de raisonner sur des données pour automatiser la prise de décision. Enfin, le génie logiciel et plus précisément les architectures à base de composants ont apporté un support technique permettant de modifier « à chaud » l'architecture d'un système logiciel en cours d'exécution. Pourtant, le développement et la conception de ces systèmes restent pour le moins difficile à cause d'un manque d'outils et de techniques dédiés. Si la plupart des plates-formes d'exécution récentes supportant le déploiement de systèmes à base de composant permettent effectivement d'adapter dynamiquement un système, les mécanismes mis en œuvre restent très rudimentaires et empêchent l'architecte de concevoir, en intention, le comportement lié à l'auto-adaptation. L'auto-adaptation reste donc une tâche annexe et ne fait pas encore l'objet des bonnes pratiques issues du génie logiciel. C'est pourquoi la contribution de cette thèse est de fournir à l'architecte des méthodes et des outils lui permettant d'exprimer, au bon niveau d'abstraction, l'auto-adaptation d'un système logiciel. Nous proposons de modéliser l'auto-adaptation sous la forme de règles qualifiant l'environnement et le système à l'aide d'un langage naturel contraint. Ces règles, par ailleurs composables, sont interprétées à l'aide d'un moteur de logique floue, soit lors de la conception via un moteur de simulation, soit dans le système réel à l'aide d'un moteur d'interprétation. La simulation des règles lors de la conception permet de valider, a priori et à moindre coût, des systèmes dont le test en situation réelle est excessivement complexe et coûteux. Ces différents outils ont été intégrés dans un outil nommé TanGraM permettant de concevoir et de simuler des systèmes auto-adaptatifs et une extension de la plate-forme d'exécution Fractal a été développée pour supporter l'intégration de règles d'adaptation floues dans un système réel. Cet outil a été utilisé pour concevoir un serveur HTTP susceptible d'adapter son architecture et sa configuration en fonction du nombre et de la dispersion des requêtes qu'il reçoit. Déployé ensuite sur la plate-forme Fractal, le système montre la pertinence d'une validation a priori lors de la conception de systèmes complexes. L'expression de l'adaptation sous la forme de règles de haut niveau n'est cependant que le premier pas vers des systèmes pleinement adaptatifs. La prise en compte des objectifs de qualité sous-jacents à l'adaptation, tels que la minimisation du temps de réponse par exemple, offre une perspective intéressante pour contrôler et simplifier encore la conception de systèmes auto-adaptatifs.

  • Titre traduit

    Techniques and tools for design of self-adaptative software systems


  • Pas de résumé disponible.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (122 p.)
  • Annexes : Bibliogr. p. 111-122

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université de Bretagne-Sud (Lorient). Bibliothèque universitaire.
  • Disponible pour le PEB

Cette version existe également sous forme de microfiche :

  • Bibliothèque : Université de Lille. Service commun de la documentation. Bibliothèque universitaire de Sciences Humaines et Sociales.
  • Non disponible pour le PEB
  • Cote : 2008LORIS118
  • Bibliothèque : Université Paris-Est Créteil Val de Marne. Service commun de la documentation. Section multidisciplinaire.
  • PEB soumis à condition
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.