Towards Containment Checking of Behaviour in Architectural Patterns
The behaviour of architectural patterns must be consistent in terms of the artefacts produced in the various activities of the software development process, such as requirements, software architecture, detailed design and implementation. In this context, high-level models are mainly used to convey the core concepts or principles of the reality they represent in an abstract and/or concise way (e.g., requirements or architecture design). If a specific architectural pattern like model-view-controller is used in such high-level models, the corresponding detailed designs and implementations are also based on the particular pattern. Low-level or detailed design models are used to provide a (more) precise specification of the source code. However, because of the involvement of different stakeholders and independent evolution of software systems, inconsistencies might occur in architectural patterns’ behaviour at those different abstraction levels. Previous studies have not considered the checking of architectural patterns’ behaviour. In this paper, we present a solution to the containment checking problem that verifies whether the behaviour described by a low-level model still is consistent with the pattern specifications provided in its high-level counterparts. Here, the interactions between architectural pattern elements are captured using UML2 sequence diagrams. This paper also aims at providing more informative and comprehensive feedbacks to the stakeholders for identification of violation causes and their resolutions. The applicability of the proposed solution is demonstrated by applying it on three architectural patterns, namely model-view-controller, layers, and pipe and filter. The proposed solutions can also be applied to other types of behaviour models, such as state machines, activity diagrams and BPMN models, as well as other architectural patterns.
Top- UL Muram, Faiz
- Tran, Huy
- Zdun, Uwe
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
22nd European Conference on Pattern Languages of Programs (EuroPLoP 2017) |
Divisions |
Software Architecture |
Subjects |
Software Engineering |
Event Location |
Irsee in Bavaria, Germany |
Event Type |
Conference |
Event Dates |
12-16 July 2017 |
Page Range |
pp. 1-19 |
Date |
2017 |
Export |