ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
Design erosion: problems and causes
Journal of Systems and Software
Software Architecture in Practice
Software Architecture in Practice
Acme: an architecture description interchange language
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
A comprehensive approach for the development of modular software architecture description languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using dependency models to manage complex software architecture
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Golden Age of Software Architecture
IEEE Software
Tool demonstration: a toolkit for architecture-centric software development
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Integrating requirements and design decisions in architecture representation
ECSA'10 Proceedings of the 4th European conference on Software architecture
Towards architectural information in implementation (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Towards supporting the software architecture life cycle
Journal of Systems and Software
Science of Computer Programming
Proceedings of the WICSA 2014 Companion Volume
Hi-index | 0.00 |
Software architectures are still typically defined and described independently from implementation. To avoid architectural erosion and drift, architectural representation needs to be continuously updated and synchronized with system implementation. Existing approaches for architecture representation like informal architecture documentation, UML diagrams, and Architecture Description Languages (ADLs) provide only limited support for connecting architecture descriptions and implementations. Architecture management tools like Lattix, SonarJ, and Sotoarc and UML-tools tackle this problem by extracting architecture information directly from code. This approach works for low-level architectural abstractions like classes and interfaces in object-oriented systems but fails to support architectural abstractions not found in programming languages. In this paper we present an approach for linking and continuously synchronizing a formalized architecture representation to an implementation. The approach is a synthesis of functionality provided by code-centric architecture management and UML tools and higher-level architecture analysis approaches like ADLs.