Same but Different: Consistently Developing and Evolving Software Architecture Models and Their Implementation [chapter]

Marco Konersmann, Michael Goedicke
2020 Ernst Denert Award for Software Engineering 2019  
AbstractAs software architecture is a main driver for the software quality, source code is often accompanied by software architecture specifications. When the implementation is changed, the architecture specification is often not updated along with the code, which introduces inconsistencies between these artifacts. Such inconsistencies imply a risk of misunderstandings and errors during the development, maintenance, and evolution, causing serious degradation over the lifetime of the system. In
more » ... his chapter we present the Explicitly Integrated Architecture approach and its tool Codeling, which remove the necessity for a separate representation of software architecture by integrating software architecture information with the program code. By using our approach, the specification can be extracted from the source code and changes in the specification can be propagated to the code. The integration of architecture information with the code leaves no room for inconsistencies between the artifacts and creates links between artifacts. We evaluate the approach and tool in a use case with real software in development and with a benchmark software, accompanied by a performance evaluation.
doi:10.1007/978-3-030-58617-1_6 fatcat:wmbdvz4z2na3hfiluxqe7rimrq