Designing and implementing Choices: an object-oriented system in C++
Communications of the ACM
Subcontract: a flexible base for distributed programming
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Open implementation design guidelines
ICSE '97 Proceedings of the 19th international conference on Software engineering
Data structures and algorithms with object-oriented design patterns in C++
Data structures and algorithms with object-oriented design patterns in C++
Dynamically reconfiguring multimedia components: a model-based approach
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
The Design of a Resource-Aware Reflective Middleware Architecture
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Applying patterns to develop extensible ORB middleware
IEEE Communications Magazine
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
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
Optimal policies based on QoS for adaptive communication systems with Markov decision process
CCDC'09 Proceedings of the 21st annual international conference on Chinese control and decision conference
An evaluation of the adaptation capabilities in programming languages
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Context-oriented programming: A software engineering perspective
Journal of Systems and Software
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
A number of researchers have recently suggested the use of reflection as a means of supporting dynamic adaptation of object-oriented software especially systems software including both middleware and operating systems. In order to evaluate the use of reflection in this context we have implemented a resource manager that can be adapted to use different resource management strategies on behalf of its clients using three distinct technologies: design patterns, dynamic link libraries, and reflection. In this paper we report on this experiment and compare the three approaches under performance, ability to separate functional code from code concerned with adaptation, and programming effort. We conclude that although the overhead of using reflection may be high, reflection offers significant advantages in terms of the ability to separate functional and adaptation code.