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 metadatas

Cited literature [36 references]  Display  Hide  Download

https://hal-lirmm.ccsd.cnrs.fr/lirmm-01706634
Contributor : Tibermacine Chouki <>
Submitted on : Monday, February 12, 2018 - 10:21:16 AM
Last modification on : Friday, October 26, 2018 - 11:32:09 AM
Long-term archiving on : Sunday, May 6, 2018 - 11:25:44 AM

File

main.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

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⟩

Share

Metrics

Record views

168

Files downloads

159