Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
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
Support for Evolving Software Architectures in the ArchWare ADL
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
Dynamically discovering architectures with DiscoTect
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
SAVE: Software Architecture Visualization and Evaluation
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Architecture compliance checking at run-time
Information and Software Technology
A model for specifying rationale using an architecture description language
ECSA'11 Proceedings of the 5th European conference on Software architecture
Controlling software architecture erosion: A survey
Journal of Systems and Software
Hi-index | 0.00 |
The software architecture of a system is often used to guide and constrain its implementation. While the code structure of an initial implementation is likely to conform to its intended architecture, its dynamic properties cannot be fully checked until deployment. Routine maintenance and changing requirements can also lead to a deployed system deviating from this architecture over time. Both static and dynamic checks are thus required to ensure that an implementation conforms to its prescriptive architecture throughout its lifespan. However, runtime conformance checking strategies typically alter the implementation of an application, increasing its size and affecting its performance and maintainability. In this paper, we describe the design of a novel dynamic conformance-checking framework that is pluggable and non-intrusive, thereby limiting any overheads to those periods when checking is activated. An implementation of this framework with Java as the target language and its early evaluation are also presented.