Architecture Constraints
Chouki Tibermacine · 2014
This chapter introduces an additional concept for describing software architectures: architecture constraints. It explains the precise role of these entities and their importance in object-oriented, component-based or service-oriented software engineering. The chapter then describes the way in which they are specified and interpreted. These constraints enable to enforce adherence to particular architecture pattern or style so as to ensure a certain level of maintainability. By interpreting these constraints, the author checks whether these patterns/styles are respected, after the evolution of architecture descriptions. The author presents a state of the art on the current architecture techniques and languages for expressing these constraints. The chapter then introduces author's recent research, where they author develops languages for expressing these constraints on architectures of object-oriented, component-based and service-oriented applications. It finally concludes with a summary of some of the open questions which have given rise to ongoing research about this concept of architecture constraints.