Monitoring Behavioral Compliance with Architectural Patterns based on Complex Event Processing
Architectural patterns assist in the process of architectural decision making as they capture architectural aspects of proven solutions. In many cases, the chosen patterns have system-wide implications on non-functional requirements such as availability, performance, and resilience. Ensuring compliance with the selected patterns is of vital importance to avoid architectural drift between the implementation and its desired architecture. Most of the patterns not only capture structural but also significant behavioral architectural aspects that need to be checked. In case all properties of the system are known before runtime, static compliance checks of application code and configuration files might be sufficient. However, in case aspects of the system dynamically evolve, e.g., due to manual reconfiguration, compliance with the architectural patterns also needs to be monitored during runtime. In this paper, we propose to link compliance rules to architectural patterns that specify behavioral aspects of the patterns based on runtime events using stream queries. These queries serve as input for a complex event processing component to automatically monitor architecture compliance of a running system. To validate the practical feasibility, we applied the approach to a set of architectural patterns in the domain of distributed systems and prototypically implemented a compliance monitor.
Top- Krieger, Christoph
- Breitenbücher, Uwe
- Falkenthal, Michael
- Leymann, Frank
- Yussupov, Vladimir
- Zdun, Uwe
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
28th European Conference on Service-Oriented and Cloud Computing (ESOCC 2020) |
Divisions |
Software Architecture |
Subjects |
Software Engineering |
Event Location |
Heraklion, Greece |
Event Type |
Conference |
Event Dates |
April 01-03, 2020 |
Date |
2020 |
Export |