RNTI

MODULAD
Processus pour la génération automatique de composants exécutables à partir de contraintes d'architecture
In CAL 2016, vol. RNTI-L-8, pp.61-78
Abstract
Architecture constraints are specifications defined by developers at design-time and checked on design artifacts (architecture descriptions, like UML models). They enable to check, after an evolution, whether an architecture description still conforms to the conditions imposed by an architecture pattern, style or any design principle. One possible language for specifying such constraints is the OMG's OCL. Most of these architecture constraints are formalized as "gross" specifications, without any structure enabling parameterization or reusability. In order to check them at the implementation stage, we propose in this work a method for translating automatically these specifications into executable components. In addition to making them checkable at the implementation stage, we chose to target software components in order to make these architecture constraints reusable, parametrizable and composable specifications. Since architecture constraints need to analyze architecture descriptions, the generated components use the standard reflective (meta) level provided by the programming language to introspect architectures. Our implementation takes as input OCL constraints specified on the UML metamodel. It produces components programmed in Compo, our “home-made” reflective component-oriented programming language.