Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Beyond objects: a software design paradigm based on process control
ACM SIGSOFT Software Engineering Notes
The Vision of Autonomic Computing
Computer
Java Reflection in Action (In Action series)
Java Reflection in Action (In Action series)
A generic instrumentation framework for collecting dynamic information
ACM SIGSOFT Software Engineering Notes
Towards Autonomic Computing Middleware via Reflection
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
Hierarchical model-based autonomic control of software systems
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Tracing Distributed Systems Executions Using AspectJ
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Queue - Workflow Systems
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Visibility of control in adaptive systems
Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems
Autonomic Computing Now You See It, Now You Don't
Software Engineering
Design patterns for developing dynamically adaptive systems
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
Continuous evolution is a key trait of software-intensive systems. Many research projects investigate mechanisms to adapt software systems effectively in order to ease evolution. By observing its internal state and surrounding context continuously using feedback loops, an adaptive system is able to analyze its effectiveness by evaluating quality criteria and then self-tune to improve its operations. The goals of these feedback loops range from keeping single variables in a prescribed range to satisfying non-functional requirements by regulating decentralized, interdependent subsystems. To be able to observe and possibly orchestrate continuous evolution of software systems in a complex and changing environment, we need to push monitoring of evolving systems to unprecedented levels. It has been established that security has to be built into a system from the ground up and cannot be added as an afterthought - the same is probably true for intensive monitoring. We propose to monitor adaptive systems with autonomic elements to enhance their assessment capabilities. In this paper, we discuss how to build monitoring into Java programs from the ground up with reflection technology to detect normal and exceptional system behavior.