Outil de détection de points de synchronisation et de cycles pour WComp

Motivations

Un grand nombre de nouvelles applications informatiques, dans le cadre de l'Informatique Ambiante, ne mettent plus seulement en oeuvre des ordinateurs de bureau en réseau mais utilisent des dispositifs communicants dans l'environnement quotidien des utilisateurs mobiles (ex. badge RFID, système de localisation, etc.). Une application logicielle doit donc non seulement évoluer dynamiquement mais ne peut plus être conçue comme s'appuyant sur un environnement matériel/logiciel connu a priori.

Cette forte dynamicité peut être traitée au travers de la variation spontanée de l'ensemble des services disponibles pour l'application (Service Oriented Archietcture: SOA). Ces services, qui peuvent être composés à partir d'autres services, sont alors découvrables et composables dynamiquement. Malheureusement, l'adaptation dynamique des applications et des assemblages correspondants peuvent déboucher sur des solutions mettant à mal la sûreté de fonctionnement de l'application (ex. accès à des services partagés parfois conflictuels).

Sujet

L'équipe Rainbow a développé une approche (WComp) à composants légers pour la composition de services qui permet de concevoir des applications d'Informatique Ambiante par assemblage de composants logiciels orchestrant des accès aux services interactifs de l'infrastructure ambiante. Les assemblages de composants sont décrits via un ADL nommé WCompADL

Mais des difficultés apparaissent lors de ce type de composition, dès lors que des accès concurrents non anticipés aux services peuvent provoquer un comportement inattendu de l'application. L'équipe Rainbow a développé SATIN, un outils de sûreté permettant de vérifier un certain nombre de propriétés telles que l'absence de cycles, d'accès concurrent non prévus, ... , dans des applications développées à base de composants. SATIN se base sur une description des assemblages de composants independante des plates-formes sous-jacentes et des adaptations correspondantes. Les descriptions utilisent le langage ASL.

Travail attendu

Dans le cadre de ce projet, les étudiants devront intégrer SATIN à WComp. En particulier, ils devront:

  • Etudier les travaux dans le domaine des plates-formes SOA et dans le domaine de la sûreté de composition.
  • Développer une application Wcomp dans l'Ubiquarium, introduisant dynamiquement cycles et points de synchronisation
  • Construire un transformateur prenant en entrée une description ADL/WComp d'assemblage de composants WComp et produisant la description ASL correspondant à cet assemblage et nécessaire à SATIN pour vérifier les propriétés de sûreté
  • Encapsuler SATIN comme un composant WComp et réaliser son integraton à la plate-forme WComp
  • Développer un outil graphique de visualisation des éventuels cycles et points de synchronisation permettant au programmeur de les interdire ou de les accepter selon les cas

Autres informations

Références

  • [2007] Daniel Cheung-Foo-Wo, Jean-Yves Tigli, Stéphane Lavirotte et Michel Riveill. « Self-adaptation of event-driven component-oriented Middleware using Aspects of Assembly ». Dans 5th International Workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC), California, USA, novembre 2007.
  • [2006] Audrey Occello "Capitalisation de la sûreté de fonctionnement des applications soumises aux adaptations dynamiques : le modèle exécutable Satin" Phd Thesis Universite de Nice - Sophia Antipolis, Sophia Antipolis, France, jun 2006
  • 2006] Daniel Cheung-Foo-Wo, Jean-Yves Tigli, Stéphane Lavirotte, Michel Riveill. /"Wcomp: a Multi-Design Approach for Prototyping Applications using Heterogeneous Resources"/ in Proceedings of the 17th IEEE International Workshop on Rapid System Prototyping (RSP), Chania, Crete, jun 2006
  • [2005] Daniel Cheung-Foo-Wo, Mireille Blay-Fornarino, Jean-Yves Tigli, Anne-Marie Pinna-Déry, David Emsellem, Michel Riveill. /"Langage d'aspects pour la composition dynamique de composants embarqués"/ dans les actes de la 2ème Journée Francophone sur le Développement de Logiciels par Aspects (JFDLPA) , 2005
  • [2004] Audrey Occello, Anne-Marie Pinna-Déry. "An Adaptation-safe Model for Component Platforms" in Proceedings of the 13th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE), Nice, France, 1-3 jul 2004
  • [2006 - 2007] Projet de recherche Région PACA/Polytech'Nice Ubiquarium Informatique: Une plate-forme pour l'étude des équipements informatiques mobiles en environnement simulé, confinancée Polytech Nice Sophia Antipolis - Région PACA.
  • [2006] Vincent Hourdin, Daniel Cheung-Foo-Wo, Stéphane Lavirotte, Jean-Yves Tigli. /"Ubiquarium/ In/formatique: Une plate-forme pour l'étude des équipements informatiques mobiles en environnement simulé"/ dans les actes des Troisièmes Journées Francophones Mobilité et Ubiquité (UbiMob), Paris, France, 5-8 sep 2006