Vers un contrôle agile et dynamique des besoins applicatifs


Supervision

Lieu

ADAM Research Group
Inria Lille - Nord Europe
Parc Scientifique de la Haute Borne
40, avenue Halley - Bat. A, Park Plaza
59650 Villeneuve d'Ascq - FRANCE

Contexte

L'équipe-projet ADAM est une équipe de recherche mixte LIFL/Inria spécialisée dans la conception d'infrastructures permettant le déploiement de systèmes complexes à différentes échelles (depuis les environnements de type Cloud/Grid vers les environnements Mobiles/Ubiquitaires et les réseaux de capteurs). L'originalité des solutions logicielles développées par les membres de l'équipe-projet ADAM réside dans leurs capacités à évoluer «à chaud» pour répondre dynamiquement aux évolutions des besoins des utilisateurs et du contexte d'exécution. En particulier, la plateforme FraSCAti [1] propose un environnement de développement et d'exécution pour les architectures orientées services (SOA – Service-Oriented Architecture) en s'appuyant sur le paradigme de composant logiciel permettant la reconfiguration des applications et de leur substrat d'exécution à une granularité très fine.


Projet

Cependant, l'une des faiblesses de la plateforme FraSCAti réside dans son incapacité à garantir la validité des reconfigurations réalisées. En effet, certains changements opérés sur les applications peuvent aller à l'encontre des besoins initialement identifiés par les concepteurs de cette application. Par exemple, certaines de ces opérations de reconfiguration permettent de remplacer un protocole de communication sécurisé par une alternative moins sécurisée (e.g., SOAP). Bien que certains travaux récents offrent un socle technique pour fiabiliser ces reconfigurations [2], nous pensons que la source de ces problèmes se trouve en amont du cycle de conception des logiciels—i.e., lors de la phase d'expression des besoins. En effet, lors du passage de l'expression des besoins à la réalisation du logiciel, la sémantique des besoins identifiés a tendance à s'évaporer dans les artefacts logiciels définis par les développeurs. Or cette information semble être essentielle lors des phases d'évolution dynamique des logiciels pour garantir que les reconfigurations ne cassent pas les besoins identifiés par les utilisateurs.


Dans ce contexte, les lignes de production de logiciels apparaissent de plus en plus comme une démarche de conception élégante, intégrant non seulement les phases d'expression des besoins mais aussi l'expression de la variabilité des logiciels et de leurs possibles configurations. Les premiers résultats obtenus par l'équipe-projet ADAM dans ce domaine [3,4] permettent de faire le lien entre la notion de variabilité dans les lignes de production de logiciels et la notion de reconfiguration dynamique des logiciels. Cependant, la solution existante, CAPucine, ne permet pas de conserver la connaissance des besoins lors de l'exécution des logiciels pour mieux contraindre et vérifier les reconfigurations qui leurs sont appliquées.


L'objectif de ce projet sera donc d'étudier et d'évaluer les démarches et les mécanismes proposés par la communauté scientifique afin de mieux maîtriser l'évolution des logiciels. Les expériences réalisées dans le cadre de ce projet porteront sur l'extension du language FraSCAla (un language dédié à l'assemblage dynamique de composants) pour assurer une expression continue des besoins et des contraintes depuis la conception jusqu'à l'exécution des applications FraSCAti.


Agenda

1. Étudier et évaluer les approches proposées par l'état de l'art en identifiant leurs forces et faiblesses (10 heures),
1. Proposer et mettre en œuvre une extension de la plateforme FraSCAti pour réifier les besoins (ainsi que leurs contraintes) à l'exécution (30 heures),
2. Proposer et mettre en œuvre une extension du langage de description d'architectures FraSCAla pour exprimer les besoins lors de la conception de l'application (30 heures),
3. Intégrer les deux extensions dans un démonstrateur d'applications de type Cloud computing démontrant la fiabilité des reconfigurations dirigées par les besoins (30 heures).

References

1. A Component-Based Middleware Platform for Reconfigurable Service-Oriented Architectures. Lionel Seinturier, Philippe Merle, Romain Rouvoy, Daniel Romero, Valerio Schiavoni, Jean-Bernard Stefani. Software: Practice and Experience, Wiley, 2011.
2. Fiabilité des Reconfigurations Dynamiques dans les Architectures à Composants. Marc Léger. Ecole Nationale Supérieure des Mines de Paris. May 2008.
3. Feature-based Composition of Software Architectures. Carlos Parra, Anthony Cleve, Xavier Blanc and Laurence Duchien. In 4th European Conference on Software Architecture (ECSA'10), pp. 230-245, August 2010.
4. Reverse Engineering Architectural Feature Models. Mathieu Acher, Anthony Cleve, Philippe Collet, Philippe Merle, Laurence Duchien, Philippe Lahire. In 5th European Conference of Software Architecture (ECSA'11), Sep 2011.