Abstract

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 this chapter we present the Explicitly Integrated Architecture approach and its toolCodeling, 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.

Highlights

  • IntroductionIn the development of software systems, the software architecture [32] describes the software’s general building blocks, including structural and behavioral aspects

  • The approach has been applied in four use cases: The first use case translates the JEE program code of an e-assessment tool into a Unified Modeling Language (UML) model with components, interfaces, operations, and their interconnection and propagates changes in the model back to the code

  • For future work we develop a language for describing mappings between model elements and source code for the Model Integration Concept, especially considering integration mechanisms

Read more

Summary

Introduction

In the development of software systems, the software architecture [32] describes the software’s general building blocks, including structural and behavioral aspects. Software architecture is one of the main drivers for software quality. Software architecture is often modeled in some way, for communicating and analyzing the architecture. This includes a brief sketch on a sheet of paper and goes up to extensive specifications in formal languages.

Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call