Skip to Main content Skip to Navigation
Journal articles

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.
Document type :
Journal articles
Complete list of metadata

Cited literature [36 references]  Display  Hide  Download
Contributor : Tibermacine Chouki Connect in order to contact the contributor
Submitted on : Monday, February 12, 2018 - 10:21:16 AM
Last modification on : Wednesday, November 3, 2021 - 7:44:49 AM
Long-term archiving on: : Sunday, May 6, 2018 - 11:25:44 AM


Files produced by the author(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⟩



Les métriques sont temporairement indisponibles