Sites Inria

English version

Equipe de recherche ADAM

Adaptive Distributed Applications and Middleware

  • Responsable : Lionel Seinturier
  • Centre(s) de recherche : CRI Lille - Nord Europe
  • Domaine : Réseaux, systèmes et services, calcul distribué
  • Thème : Systèmes et services distribués
  • Partenaire(s) : Université des sciences et technologies de Lille (Lille 1)
  • Collaborateur(s) : Laboratoire d'informatique fondamentale de Lille (LIFL) (UMR8022)

Présentation de l'équipe

L'équipe-projet ADAM (Adaptive Distributed Applications and Middleware) a pour objectif de travailler sur les concepts et les outils permettant l'adaptation des applications et des intergiciels dans des environnements répartis multi-échelles.

Avec le besoin croissant des systèmes auto-gérés et l'émergence des environnements multi-échelles, les développeurs ont besoin de prendre en compte la variabilité des environnements et des contextes d'exécution des logiciels. Les logiciels doivent être développés pour être adaptés et reconfigurés automatiquement sur des plates-formes hétérogènes en accord avec l'inévitable évolution des technologies de l'information et de la communication. Par conséquent, l'adaptation est maintenant considérée comme un problème de première classe qui doit être pris en compte tout au long du cycle de vie du logiciel.

Un système adaptatif est un système à logiciel prépondérant qui doit s'ajuster et répondre aux changements de son environnement, aux nouveaux besoins des utilisateurs, ainsi qu'au retrait des technologies obsolètes et à l'introduction des nouvelles technologies. L'objectif de l'équipe-projet ADAM est de définir un ensemble de paradigmes, d'approches et de canevas logiciels fondés sur des techniques de l'ingénierie logicielle avancée telles que l'ingénierie logicielle à base de composants (CBSE pour Component-Based Software Engineering), le développement logiciel par aspects (AOSD pour Aspect-Oriented Software Development) et la conscience du contexte (CAC pour Context-Aware Computing). Ces paradigmes, approches et canevas logiciels auront pour but de permettre la construction de systèmes logiciels adaptatifs et répartis qui évoluent sur des environnements multi-échelles et qui prennent en compte l'adaptation tout au long de leur cycle de vie, des phases de modélisation aux phases de déploiement et d'exécution. Nous proposons pour cela de suivre deux directions de recherche : la définition de canevas de composants adaptables pour les intergiciels et la conception d'applications réparties pour des plates-formes adaptatives.

Axes de recherche

  • Canevas de composants adaptables pour les intergiciels : Le premier défi que nous proposons est de définir et développer des intergiciels et des services associés qui pourraient être adaptés à une large gamme d'environnements, allant de la grille de calcul aux serveurs d'applications pour les applications Internet, aux systèmes fonctionnant sur des assistants numériques ou téléphones cellulaires et aux systèmes embarqués. Notre objectif est de proposer ici un déploiement efficace et aisé d'applications dans des environnements différents en tirant profit d'une base commune constituée par des intergiciels adaptables. En second lieu, l'intergiciel est un domaine où les nouvelles technologies apparaissent et disparaissent très rapidement. Jusqu'ici, chaque nouveau décalage technologique a imposé une reconstruction complète de l'intergiciel. Avoir une base commune sur laquelle l'intergiciel pourra être construit et adapté aiderait en stimulant la réutilisation lors des transitions technologies. En termes de rendement industriel, l'impact de ces résultats sera important pour les éditeurs et les entreprises du logiciel qui pourront adapter leurs produits plus facilement et plus rapidement aux technologies nouvelles et émergeantes des intergiciels.

  • Conception d'applications réparties pour des plates-formes adaptives : le second défi consiste à tenir compte de l'adaptation dès les premières étapes de la conception d'une application, ceci afin de permettre une meilleure intégration des adaptations. Les paradigmes de l'ingénierie logicielle tels que la notion de composant, le développement par aspect ou la conscience du contexte sont autant de moyens qui aident déjà dans la conception de logiciels adaptables via des techniques de composition, de réflexion ou encore de modélisation et programmation générative. Nous souhaitons donc, dans ce second défi, étudier des points de variations dynamiques des applications et leur modélisation. Notre objectif sera de proposer des processus de modélisation et de description d'architecture prenant en compte la notion d'adaptation. Cela permettra, dès les premières phases de conception du logiciel, de prendre en compte la dimension de l'évolution des besoins ou des techniques, évolution prévue ou non prévue. Cette prise en compte passe à la fois par la modélisation du contexte, contexte de localisation, d'exécution, ou encore d'utilisation, dans lequel l'application sera exécutée, mais également des mécanismes de l'adaptation eux-mêmes. Le second objectif sera de mettre en application des processus de conception qui maintiennent une cohérence entre les diverses étapes de modélisation dans un processus d'ingénierie dirigée par les modèles, aussi bien que la cohérence entre les phases de modélisation et d'exécution. Pour cela, nous prévoyons de concevoir et de réaliser des outils de traçabilité et de vérification de la cohérence entre modèles et entre modèles et exécution.

Relations industrielles et internationales

  • L'équipe associée CALA qui a pour thème le développement par aspects dans les langages, les modèles à composants et les architectures avec les équipes Prog-ssel de la Vrije Universiteit Brussel (VUB)
  • Les projets et collaborations :
    • Le réseau d'excellence européen AOSD (Aspect-Oriented Software Development)- IST-FP6,
    • Le projet belge IAP ( Interuniversity Attraction Poles) MoVES ( Fundamental Issues in Software Enginnering : Modeling, Verification and Evolution of Software) qui regroupe les principales universités belges et trois partenaires européens (INRIA, Imperial College et Université de Delft),
    • Le projet ITEA S4ALL (Services-for-All) dont l'objectif est la construction d'un monde centré sur les services aux utilisateurs,
    • Le groupe de travail ERCIM sur l'évolution du logiciel,
    • L'ICT-Asia qui est une coopération entre l'Asie et la France sur les intergiciels ouverts pour les environnements ubiquitaires,
    • Le consortium Objectweb qui promeut la qualité des intergiciels open source,
    • Le projet CPER (Contrat Plan-Etat Région) MOSAIQUES (MOdèles et InfraStructures pour Applications ubIQItairES),
    • Le projet ARA SI (Sécurité, Systèmes embarqués et Intelligence Ambiante) REVE (safe Reuse of Embedded components in heterogenous in EnVironmEnts),
    • Le projet RNTL FAROS (composition de contrats pour la Fiabilité d'ARchitectures Orientées Services),
    • Le projet RNTL JonES qui développe un bus logiciel open source pour l'entreprise,
    • Le projet RNTL Flex-eWare qui définit une plate-forme middleware pour des applications à base de composants dans le domaine des systèmes embarqués,
    • Le projet RNTL SCOrWare qui étudie les complémentarités entre les architectures orientées services et les approches à base de composants
  • Les collaborations industrielles : avec France Telecom R&D, Grenoble pour le tissage de composants et d'aspects.

Suivez Inria tout au long de son 50e anniversaire et au-delà !