Skip to Main content Skip to Navigation
Journal articles

Specification and Automatic Checking of Architecture Constraints on Object Oriented Programs

Abstract : Context: Architecture constraints are specifications of conditions to which an architecture model must adhere in order to satisfy an architecture decision imposed by a given design principle. These constraints can be specified with predicate languages like OCL at design time and checked on design artifacts. Objective: Many works in the literature studied the importance of checking these constraints to guarantee quality on design models, and to prevent technical debt and maintenance difficulties. In this paper, we propose a process whose ultimate goal is to enable the checking of these constraints in the implementation stage. Method: The proposed process takes as input a textual specification of an architecture constraint specified at design stage. It translates this specification into meta-programs and then it uses them with aspect-oriented programming to check constraints at the implementation stage and at run-time on object-oriented programs. Results: We experimented an implementation of this process on a set of 12 architecture constraints. The results of this experimentation showed that our process is able to statically and dynamically detect architecture constraint violations on toy object-oriented applications, but also on real-world ones. at source code level and at runtime. It avoids the disappearance of architecture decision knowledge in implementation artifacts, and facilitates later their maintenance.
Document type :
Journal articles
Complete list of metadata

Cited literature [31 references]  Display  Hide  Download
Contributor : Tibermacine Chouki <>
Submitted on : Friday, October 26, 2018 - 11:52:46 AM
Last modification on : Thursday, November 8, 2018 - 1:15:30 AM
Long-term archiving on: : Sunday, January 27, 2019 - 1:39:33 PM


Files produced by the author(s)




Sahar Kallel, Chouki Tibermacine, Slim Kallel, Ahmed Kacem, Christophe Dony. Specification and Automatic Checking of Architecture Constraints on Object Oriented Programs. Information and Software Technology, Elsevier, 2018, 101, pp.16-31. ⟨10.1016/j.infsof.2018.05.002⟩. ⟨hal-01905953⟩



Record views


Files downloads