Generating Reusable, Searchable and Executable "Architecture Constraints as Services"

Abstract : Architecture constraints are components of design documentation. They enable designers to enforce rules that architecture descriptions should respect. Many systems make it possible to associate constraints to models at design stage but very few enable their association to code at implementation stage. When possible, this is done manually, which is a tedious, error prone and time consuming task. Therefore, we propose in this work a process to automatically generate executable constraints associated to programs' code from model-based constraints. First, the process translates the constraints specified at design-time into constraint-components described with an ADL, called CLACS. Then, it creates constraint-services which can be registered and later invoked to check their embedded constraints on component-and service-based applications. We chose to target components and services in order to make architecture constraints reusable, searchable in registries, customizable and checkable at the implementation stage. The generated constraint-services use the standard reflective (meta) layer provided by the programming language to introspect elements of the architecture. We experimented our work on a set of 15 architecture constraints and on a real-world system in order to evaluate the effectiveness of the process.
Type de document :
Article dans une revue
Journal of Systems and Software, Elsevier, 2017, 127, pp.91-108. 〈10.1016/j.jss.2017.01.032〉
Liste complète des métadonnées

Littérature citée [36 références]  Voir  Masquer  Télécharger
Contributeur : Tibermacine Chouki <>
Soumis le : lundi 12 février 2018 - 10:21:16
Dernière modification le : vendredi 26 octobre 2018 - 11:32:09
Document(s) archivé(s) le : dimanche 6 mai 2018 - 11:25:44


Fichiers produits par l'(les) auteur(s)




Sahar Kallel, Bastien Tramoni, Chouki Tibermacine, Christophe Dony, Ahmed Kacem. Generating Reusable, Searchable and Executable "Architecture Constraints as Services". Journal of Systems and Software, Elsevier, 2017, 127, pp.91-108. 〈10.1016/j.jss.2017.01.032〉. 〈lirmm-01706634〉



Consultations de la notice


Téléchargements de fichiers