From Architecture to Source Code — How to Ensure Architecture Compliance in the Implemented System
(Jens Knodel, Dirk Muthig)

Unternehmensweites Architektur- und Anforderungsmanagement

Datum und Uhrzeit:
Mittwoch, 27. Mai 2009 von 11:10 bis 11:50 Uhr

Software 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 architecture captures the envisioned structure of the system at development (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 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 from day one of the implementation phase. Whenever structural violation is detected, the particular developer receives live feedback on the violation allowing its prompt removal of the violations, ensures compliance of the implemented system with the architecture, and hence, sustains the investment made into architecting.


Jens Knodel is a scientist at the Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany. As an applied researcher in the department „Product Line Architectures” he works in several industrial and research projects in the context of product line engineering and software architectures. His main research interests are architecture compliance checking, software evolution, and architecture reconstruction.

Dirk Muthig


©2008 4Soft GmbH - http://www.4soft.de