Gestion de l’évolution au niveau langage dans les plates-formes d’ingénierie dirigée par les modèles
Keywords
Modèle, Méta-modèle, Evolution, OCL, typage des modèles.
Description
L’Ingénierie Dirigée par les Modèles (IDM) est une approche de développement qui cherche à automatiser le plus possible les processus de développement des logiciels [1]. Cette automatisation passe par la réification systématique dans des représentations formelles des données d’un projet ; données jusqu’alors informelles (des schémas incomplets de conception, etc.), implicites (la syntaxe et la sémantique de langages, etc.) ou absentes (des bonnes pratiques, etc.). L’ensemble des informations pertinentes d’un projet de développement est maintenant potentiellement représentable explicitement sous la forme de modèles. Les modèles peuvent devenir les entrées et sorties de processus outiller plus ou moins automatiser [2]. La puissance de l’approche IDM est liée à la réification explicite sous la forme de modèles précis de nombreux éléments qui étaient auparavant implicites ou absents. Il devient par exemple possible de générer automatiquement depuis des modèles décrivant la syntaxe abstraite et concrète d’un langage, un éditeur capable d’aider à l’écriture de mot pour ce langage. Cette puissance offerte par la manipulation de données de haut niveau devenues explicites a cependant sa contrepartie. Des données jusqu’alors immuables deviennent modifiables. Que faire lorsque le modèle de cette syntaxe abstraite évolue ? Une modification même mineure de ce modèle peut avoir des conséquences très importantes et coûteuses sur la plate-forme (les outils générés de type éditeur, analyseur statique, simulateur) et sur les modèles qui lui sont liés (souvent en très grand nombre et de grande taille). Il est important d’apporter des réponses aux problèmes que pose la mise à disposition de données nouvelles à haut niveau d’abstraction et potentiellement modifiables. De nombreux travaux de recherche sont en cours pour tenter d’apporter des réponses : co-évolution langage-mots [4], calcul de la différence de modèles [5,6,7], typage de modèle et inférence de type [8], transformation bidirectionnelle et évaluation incrémentale de modèles [9][10], etc. Les objectifs du stage portent sur trois points :
- Identifier les conséquences d'une modification sur un modèle, sur un méta-modèle et sur les contraintes OCL associés [3] ;
- Classer et comparer les approches existantes ;
- Proposer une approche unificatrice.
Bibliography
1. Schmidt, D. C. "Guest Editor's Introduction: Model-Driven Engineering," Computer, vol. 39, no. 2, pp. 25-31, Feb. 2006, doi:10.1109/MC.2006.58.
2. Fleurey, F. Langage et méthode pour une ingénierie des modèles fiable, Thèse an informatique à l'université de Rennes, 2006.
3. Object Management Group (OMG). The object constraint language specification, 2003, http://www.omg.org/docs/ptc/03-10-14.pdf.
4. Herrmannsdoerfer, M., Benz, S. et Juergens, E. Automatability of Coupled Evolution of Metamodels and Models in Practice. In Proceedings of the 11th international Conference on Model Driven Engineering Languages and Systems (Toulouse, France, September 28 - October 03, 2008).
5. Bendix, L. et Emanuelsson, P. Diff and merge support for model based development. In Proceedings of the 2008 international Workshop on Comparison and Versioning of Software Models (Leipzig, Germany, 2008).
6. Zhenchang, X. UMLDiff: an algorithm for object-oriented design differencing, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, SESSION: Maintenance and evolution,pp. 54 - 65, 2005.
7. Treude, C., et al. Difference computation of large models. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (Dubrovnik, Croatia, September 2007).
8. Steel, J. et Jézéquel, J.M. Model typing for improving reuse in model-driven engineering.Proceedings of MODELS/UML'2005, volume 3713 of LNCS, pages 84-96, (Montego Bay, Jamaica, 2005).
9. Hearnden, D., Lawely, M. et Raymond, K. Incremental model transformation for the evolution of model-driven systems. 9th International Conference on Model Driven Engineering Languages and Systems, volume 4199 of LNCS, pages 321-335, (Genova, Italy, October 2006).
10. Giese, H. et Wagner, R. From model transformation to incremental bidirectional model synchronization. Software and Systems Modeling, Volume 8, Number 1, pages 21-43, 2008.
Working Environment
- Laboratories:
- IRISA, EPI Triskell (Campus de Beaulieu, Université de Rennes 1, France)
- Scientific Advisors:
- Régis FLEURQUIN regis.fleurquin@univ-ubs.fr
