The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB
IFIP/ACM International Conference on Distributed systems platforms
Reflection, self-awareness and self-healing in OpenORB
WOSS '02 Proceedings of the first workshop on Self-healing systems
Eclipse Modeling Framework
Runtime recovery and manipulation of software architecture of component-based systems
Automated Software Engineering
Discovering Architectures from Running Systems
IEEE Transactions on Software Engineering
Model-driven Development of Complex Software: A Research Roadmap
FOSE '07 2007 Future of Software Engineering
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Towards Instant Automatic Model Refinement Based on OCL
APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
Using components for architecture-based management: the self-repair case
Proceedings of the 30th international conference on Software engineering
Runtime software adaptation: framework, approaches, and styles
Companion of the 30th international conference on Software engineering
A survey of autonomic computing—degrees, models, and applications
ACM Computing Surveys (CSUR)
MobiPADS: A Reflective Middleware for Context-Aware Mobile Computing
IEEE Transactions on Software Engineering
Supporting Parallel Updates with Bidirectional Model Transformations
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Supporting automatic model inconsistency fixing
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Computer
A Model-Based Approach to Families of Embedded Domain-Specific Languages
IEEE Transactions on Software Engineering
Inferring meta-models for runtime system data from the clients of management APIs
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Incremental model synchronization for efficient run-time monitoring
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Generating synchronization engines between running systems and their model-based views
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Bidirectional model transformations in QVT: semantic issues and open questions
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
On the problems with evolving Egemin's software product line
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Towards architecture-level middleware-enabled exception handling of component-based systems
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Instant and incremental QVT transformation for runtime models
Proceedings of the 14th international conference on Model driven engineering languages and systems
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
Towards runtime model based integrated management of cloud resources
Proceedings of the 5th Asia-Pacific Symposium on Internetware
Model-based high availability configuration framework for cloud
Proceedings of the 2013 Middleware Doctoral Symposium
Uncertainty handling in goal-driven self-optimization - Limiting the negative effect on adaptation
Journal of Systems and Software
Hi-index | 0.00 |
Runtime software architectures (RSA) are architecture-level, dynamic representations of running software systems, which help monitor and adapt the systems at a high abstraction level. The key issue to support RSA is to maintain the causal connection between the architecture and the system, ensuring that the architecture represents the current system, and the modifications on the architecture cause proper system changes. The main challenge here is the abstraction gap between the architecture and the system. In this paper, we investigate the synchronization mechanism between architecture configurations and system states for maintaining the causal connections. We identify four required properties for such synchronization, and provide a generic solution satisfying these properties. Specifically, we utilize bidirectional transformation to bridge the abstraction gap between architecture and system, and design an algorithm based on it, which addresses issues such as conflicts between architecture and system changes, and exceptions of system manipulations. We provide a generative tool-set that helps developers implement this approach on a wide class of systems. We have successfully applied our approach on JOnAS JEE system to support it with C2-styled runtime software architecture, as well as some other cases between practical systems and typical architecture models.