Un métamodèle pour coupler application et détection des design patterns
Les design patterns (ou patrons de conception) sont reconnus comme une des bonnes
techniques du génie logiciel à objets. Cette technique améliore le cycle de vie du logiciel en
facilitant la conception, la documentation, la maintenance et la rétroconception. Peu
d’environnements de développement intégrés (EDIs) sont à la fois outillés pour inciter
l’utilisateur à appliquer un catalogue de patterns et pour l’aider à améliorer ses programmes
en y extrayant automatiquement des micro-architectures correspondant à celles de patterns.
Ce papier présente une partie de nos travaux visant à outiller l’EDI Visual Age pour Java en
lui adjoignant un catalogue recensant l’ensemble des patterns du GoF et deux assistants
dédiés à l’application et à la détection de patterns. Nous proposons un métamodèle
permettant de décrire ces différents patterns, de les manipuler, de les synthétiser et de les
reconnaître dans des programmes existants. Nous discutons les limites de ce métamodèle
apparues après expérimentation et suggérons comment l’améliorer pour prendre en charge
l’aspect intentionnel des patterns et supporter la reconnaissance de micro-architectures
voisines de celles de patterns déjà répertoriés.
Design patterns are a good technique of OO software engineering: They improve
the life cycle of software systems by easing the conception, the documentation, and the
maintenance. Few integrated development environments (IDEs) propose tools instigating the
user to apply patterns and to improve existing programs by extracting patterns. This paper
presents a part of our research to add two assistants to the Visual Age for Java IDE: An
assistant to apply patterns, An assistant to detect patterns. Both assistants work with a
common meta-model describing the patterns, to manipulate them, to generate source code,
and to detect them. We discuss the limitations of this meta-model, and we suggest enriching it
to include pattern intent and to detect proximal pattern micro-architectures.
H.ALBIN-AMIOT, P.COINTE, Y.GUÉHÉNEUC
Patrons de conception, métamodélisation, génération de code, détection, EDI.
Design patterns, meta-modelling, code generation, detection, IDE.
Français
|