Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Authoritative sources in a hyperlinked environment
Journal of the ACM (JACM)
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Supporting program comprehension using semantic and structural information
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Maintaining software through intentional source-code views
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
A Coupling-Guided Cluster Analysis Approach to Reengineer the Modularity of Object-Oriented Systems
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Software Architecture Recovery based on Pattern Matching
ICSM '03 Proceedings of the International Conference on Software Maintenance
Tracing Evolution Changes of Software Artifacts through Model Synchronization
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Model-Driven Software Development
Model-Driven Software Development
Tool Support for Architectural Decisions
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Cluster analysis of Java dependency graphs
Proceedings of the 4th ACM symposium on Software visualization
Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit
Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit
Comparison of Graph Clustering Algorithms for Recovering Software Architecture Module Views
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Using a Formal Language Constructs for Software Model Evolution
ICSC '09 Proceedings of the 2009 IEEE International Conference on Semantic Computing
Automated extraction of palladio component models from running enterprise Java applications
Proceedings of the Fourth International ICST Conference on Performance Evaluation Methodologies and Tools
An approach for architectural layer recovery
Proceedings of the 2010 ACM Symposium on Applied Computing
Domain Specific Languages
Beginning Hibernate, Second Edition
Beginning Hibernate, Second Edition
A Probabilistic Based Approach towards Software System Clustering
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
Combining clustering and pattern detection for the reengineering of component-based software systems
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
JITTAC: a just-in-time tool for architectural consistency
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
In this paper we present an approach for supporting the semi-automated abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and the implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semi-automatic abstraction of architectural knowledge from implemented systems and keeping the abstracted architectural knowledge up-to-date. In particular, we propose architecture abstraction concepts that are supported through a domain-specific language (DSL). Our main focus is on providing architectural abstraction specifications in the DSL that only need to be changed, if the architecture changes, but can tolerate non-architectural changes in the underlying source code. The DSL and its tools support abstracting the source code into UML component models for describing the architecture. Once the software architect has defined an architectural abstraction in the DSL, we can automatically generate UML component models from the source code and check whether the architectural design constraints are fulfilled by the models. Our approach supports full traceability between source code elements and architectural abstractions, and allows software architects to compare different versions of the generated UML component model with each other. We evaluate our research results by studying the evolution of architectural abstractions in different consecutive versions and the execution times for five existing open source systems.