Model-based Architecture Evolution and Evaluation
The architecture of software systems directly influences crucial quality attributes and therefore should be considered whenever important decisions regarding their evolution must be taken. However, up-to-date descriptions that correctly reflect the system’s architecture rarely exist. Architecture descriptions are usually elaborated at the beginning of a software project. After the initial version of the system has been constructed, the system tends to evolve independently from its architecture description. Changes to the system are rarely documented properly and originally imposed rules are gradually violated.
Within this project, to help architects manage this situation, we have developed ARAMIS, – the Architecture Analysis and Monitoring Infrastructure. Its main goal is to support the understanding and architectural evaluation and evolution of software systems. With the advent of new architectural styles (component-based architectures, micro-services, etc.) there is a clear shift from mere structural towards behavior-based complexity. Consequently, ARAMIS focuses on the analysis and monitoring of the run-time of complex systems, pursuing to answer questions such as: “how do the architecture units interact with each other upon performing a certain scenario (e.g., running a test-case, interacting with the graphical user interface, etc.)?”, “which are the architecture units that need to be redesigned?”, “which are the various hot spots of the system (e.g., in terms of received calls, outgoing calls, caused violations, etc.)?”, “are there violations against the architecture description?”, etc.
To achieve this, ARAMIS validates the communication inside a software system during the execution of some scenarios of interest. The resulted calls are mapped on architecture units and checked against predefined architecture rules. The analysis results can then be holistically visualized and/or further explored, by creating and applying behavior-centered views, viewpoints and perspectives. Furthermore, the architect can simulate changes to the prescriptive architecture description, observe their impact and compare various evolution strategies to make trade-offs explicit and support the choice of the most suitable ones.
- A. Nicolaescu (2018): Behavior-Based Architecture Conformance Checking. Shaker, Aachen.
- J. Thomas, A. Nicolaescu, H. Lichter (2017): Static and Dynamic Architecture Conformance Checking: A Systematic, Case Study-Based Analysis on Tradeoffs and Synergies. In Proceedings of the 5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017) co-located with APSEC 2017, Nanjing, China, December 4, 2017, CEUR-WS.org, Vol. 2017, 6-13.
- A. Nicolaescu, H. Lichter, V. Hoffmann (2017): On Adequate Behavior-based Architecture Conformance Checks. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC), 446-455.
- A. Dragomir, H. Lichter (2016): Behavior-based Architecture Reconstruction and Conformance Checking. In 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, Venice, Italy, April 5-8, IEEE, New York, NY, USA, 152-157.
- L. Dung, A. Nicolaescu, H. Lichter (2015): Adapting heterogeneous ADLs for software architecture reconstruction tools. In 10th International Conference on Software Engineering Advances (ICSEA 2015) November 15-20, Barcelona, Spain, 52-55.
- P. Alexander, A. Nicolaescu, H. Lichter (2015): Model-Based Evaluation and Simulation of Software Architecture Evolution. In 10th International Conference on Software Engineering Advances (ICSEA 2015) November 15-20, Barcelona, Spain, 153-156.
- A. Nicolaescu, H. Lichter, A. Göringer, P. Alexander, D. Le (2015): The ARAMIS Workbench for Monitoring, Analysis and Visualization of Architectures Based on Run-time Interactions. In SAEroCon, 2nd Workshop on Software Architecture Erosion and Architectural Consistency, co-located with the 9th European Conference on Software Architecture (ECSA 2015),Cavtat/Dubrovnik, Croatia, September 8, 2015, ACM, New York, NY, USA, 57:1–57:7.
- A. Nicolaescu, H. Lichter, Y. Xu (2015): Evolution of Object Oriented Coupling Metrics: A Sampling of 25 Years of Research. In 2nd International Workshop on Software Architecture and Metrics associated with the 37th International Conference on Software Engineering (ICSE 2015), 16 May 2015, Florence, Italy, 48-54.
- A. Dragomir, H. Lichter (2014): Towards an Architecture Quality Index for the Behavior of Software Systems. In 2nd International Workshop on Quantitative Approaches to Software Quality (QuASoC), in conjunction with 21th Asia-Pacific Software Engineering Conference (APSEC 2014), Jeju, South Korea, December 1-4, 2014, Vol. 2, 75-82.
- A. Dragomir, H. Lichter, J. Dohmen, H. Chen (2014): Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures. In 21th Asia-Pacific Software Engineering Conference (APSEC 2014), Jeju, South Korea, December 1-4, 2014, Vol. 1, 191-198.
- A. Dragomir, F. Harun, H. Lichter (2014): An Architecture for Toolbox-based Software Architecture Reconstruction Solutions. In Softwaretechnik-Trends, GI, Bonn, Vol. 34 (2), 36-37.
- A. Dragomir, F. Harun, H. Lichter (2014): On Bridging the Gap between Practice and Vision for Software Architecture Reconstruction and Evolution- A Toolbox Perspective. In SAEroCon, First Workshop on Software Architecture Erosion and Architectural Consistency, co-located with the Working IEEE/IFIP Conference on Software Architecture (WICSA) 2014, Sydney, Australia, April 8, 2014, ACM, New York, NY, USA, 10:1–10:4.
- A. Dragomir, H. Lichter, T. Budau (2014): Systematic Architectural Decision Management – A process-oriented Approach. In WICSA 2014, Proceedings of Working IEEE/IFIP Conference on Software Architecture, Sydney, Australia, April 7-11, 2014, IEEE, 291-299.
- A. Dragomir, H. Lichter (2013): Run-time Monitoring and Real-time Visualization of Software Architectures. In 20th Asia-Pacific Software Engineering Conference (APSEC 2013), Pullman Bangkok King Power Hotel, Bangkok, Thailand, December 2-5, 2013, Vol. 1, 396-403.
- A. Dragomir, H. Lichter (2012): Model-Based Software Architecture Evolution and Evaluation. In Software Engineering Conference (APSEC), 2012 19th Asia-Pacific, Vol. 1, 697-700.
- S. Jeners, H. Lichter, A. Dragomir (2012): Towards an Integration of Multiple Process Improvement Reference Models Based on Automated Concept Extraction. In Systems, Software and Services Process Improvement / Winkler, Dietmar and O’Connor, RoryV. and Messnarz, Richard, Springer [u.a.], Berlin ; Heidelberg, 205-216.