Knodel, Jens2023-04-252023-04-252009https://dl.gi.de/handle/20.500.12116/41282Software architecture is the key factor for efficient communication, planning, development, maintenance, and hence, the overall success of the development project. Architecting is an upfront investment made by development organizations to assure that the resulting system(s) will meet the required quality criteria in time and effort. Among others, the software architecture captures the envisioned structure of the system at development time (i.e., the decomposition of the system in manageable units like components). Verifying this planned decomposition late in the lifecycle of the software system reveals – too often – that the implemented system is not compliant to the specified structure. Consequently, efforts spent for architecting were made in vain because the decision and assumption made are no longer reliable and useful. To pro-actively prevent this structural decay, we propose constructive architecture compliance checking, which constantly monitors the modifications made by several (teams of) developers starting at day one of the implementation phase. Whenever structural violations are detected, the particular developer receives live feedback on the violations. Thus, a prompt removal of violations is possible, which ensures compliance of the implemented system with the architecture. Hence, the investments made into architecting are sustained over time.enFrom Architecture to Source Code – How to Ensure Architecture Compliance in the Implemented SystemText/Journal Article0720-8928