Software complexity and maintenance costs
Communications of the ACM
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Manipulating recovered software architecture views
ICSE '97 Proceedings of the 19th international conference on Software engineering
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Applied software architecture
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Software architecture: a roadmap
Proceedings of the Conference on The Future of Software Engineering
A complementary approach to requirements engineering—software architecture orientation
ACM SIGSOFT Software Engineering Notes
Maintaining a legacy: towards support at the architectural level
Journal of Software Maintenance: Research and Practice
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Software architecture recovery and modelling: [WCRE 2001 discussion forum report]
ACM SIGAPP Applied Computing Review
Architecture recovery of web applications
Proceedings of the 24th International Conference on Software Engineering
Playing Detective: Reconstructing Software Architecture from Available Evidence
Automated Software Engineering
An Approach for Recovering Distributed System Architectures
Automated Software Engineering
The 4+1 View Model of Architecture
IEEE Software
An Architecture-Based Approach for Component-Oriented Development
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
ABC/ADL: An ADL Supporting Component Composition
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
The K-Component Architecture Meta-model for Self-Adaptive Software
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Reverse Architecting: An Industrial Experience Report
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
A Reflective Component-Based & Architecture Aware Framework to Manage Architecture Composition
DOA '01 Proceedings of the Third International Symposium on Distributed Objects and Applications
PKUAS: An Architecture-Based Reflective Component Operating Platform
FTDCS '04 Proceedings of the 10th IEEE International Workshop on Future Trends of Distributed Computing Systems
Towards Autonomic Computing Middleware via Reflection
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
APSEC '04 Proceedings of the 11th Asia-Pacific Software Engineering Conference
ICECCS '05 Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems
Towards a unified formal model for supporting mechanisms of dynamic component update
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
The Coordinated Recovery of Data Service and Transaction Service in J2EE
COMPSAC '05 Proceedings of the 29th Annual International Computer Software and Applications Conference - Volume 01
Towards Self-Healing Systems via Dependable Architecture and
WORDS '05 Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems
Exception handling in component composition with the support of middleware
SEM '05 Proceedings of the 5th international workshop on Software engineering and middleware
The Design and Implementation of Open ORB 2
IEEE Distributed Systems Online
Towards a unified formal model for supporting mechanisms of dynamic component update
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Development of software engineering: co-operative efforts from academia, government and industry
Proceedings of the 28th international conference on Software engineering
Post-development software architecture
ACM SIGSOFT Software Engineering Notes
ABCTool: a tool for architecture centric engineering of component based systems
Companion of the 30th international conference on Software engineering
Validating Access Control Configurations in J2EE Applications
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
An access control framework for reflective middleware
Journal of Computer Science and Technology
SM@RT: towards architecture-based runtime management of Internetware systems
Proceedings of the First Asia-Pacific Symposium on Internetware
Pattern-driven performance optimization at runtime: experiment on JEE systems
Proceedings of the 9th International Workshop on Adaptive and Reflective Middleware
Supporting runtime software architecture: A bidirectional-transformation-based approach
Journal of Systems and Software
Towards accuracy of role-based access control configurations in component-based systems
Journal of Systems Architecture: the EUROMICRO Journal
Towards architecture-level middleware-enabled exception handling of component-based systems
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Controlling software architecture erosion: A survey
Journal of Systems and Software
Generating synchronization engines between running systems and their model-based views
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Clustering methodologies for software engineering
Advances in Software Engineering
Model driven configuration of fault tolerance solutions for component-based software system
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Detecting anti-patterns in Java EE runtime system model
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
Recently, more attention is paid to the researches and practices on how to use software architecture in software maintenance and evolution to reduce their complexity and cost. The key in such architecture-based maintenance and evolution is to recover software architecture from existing systems. Almost all studies on architecture recovery focus on analyzing the source code and other documents. Such recovered software architecture can hardly capture runtime states and behaviors of the system. At the same time, current work pays little attention on how to change the system directly via manipulating the recovered software architecture. This paper presents a novel approach to recovering software architecture from component based systems at runtime and changing the runtime systems via manipulating the recovered software architecture. Containing much more details than the designed software architecture, the recovered software architecture can accurately and thoroughly describe the actual states and behaviors of the runtime system. It can be described formally with the extension of traditional architecture description language, which enables the recovered software architecture to absorb the semantics embedded in the designed software architecture. The recovered software architecture can be represented as multiple views so as to help different users to control the complexity from different concerns. Based on the reflective ability of the component framework, the recovered software architecture is up-to-date at any time and changes made on it will immediately lead to the corresponding changes in the runtime system. The approach presented in this paper is demonstrated on PKUAS, a reflective J2EE (Java 2 Platform Enterprise Edition) application server, and the performance is also evaluated.