Monitoring in adaptive systems using reflection

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.

[1]  Zhao Liu,et al.  Towards autonomic computing middleware via reflection , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[2]  Ira R. Forman,et al.  Java reflection in action , 2005 .

[3]  Duncan Johnston-Watt Under New Management , 2006, ACM Queue.

[4]  Guy A. Dumont,et al.  Concepts, methods and techniques in adaptive control , 2002, Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301).

[5]  Ira R. Forman,et al.  Java Reflection in Action (In Action series) , 2004 .

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Mary Shaw,et al.  Beyond objects: a software design paradigm based on process control , 1995, SOEN.

[8]  Luc Steels,et al.  Beyond Objects , 1994, ECOOP.

[9]  H K Bean,et al.  Under new management. , 1997, Health systems review.

[10]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[11]  Alessandro Orso,et al.  A generic instrumentation framework for collecting dynamic information , 2004, SOEN.

[12]  Douglas C. Schmidt,et al.  Ultra-Large-Scale Systems: The Software Challenge of the Future , 2006 .

[13]  Mary Shaw,et al.  Visibility of control in adaptive systems , 2008, ULSSIS '08.

[14]  Jacques Malenfant,et al.  Reflection in logic, functional and object-oriented programming: a Short Comparative Study , 1995 .

[15]  Lionel C. Briand,et al.  Tracing distributed systems executions using AspectJ , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[16]  Marin Litoiu,et al.  Hierarchical Model-based Autonomic Control of Software Systems , 2005 .

[17]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).