Monitoring of Real Time Systems: a case for Reflection?
Ref: HURRAY-TR-0413 Publication Date: 1, Apr, 2004
Monitoring of Real Time Systems: a case for Reflection?Ref: HURRAY-TR-0413 Publication Date: 1, Apr, 2004
As industry evolves, embedded software becomes an intrinsic part of any system. Examples of this type of systems spread out from dish washing machines to advanced combat airplanes. As it is obvious, some systems have more critical requirements than others in terms of failure consequences. This is the main reason why all these kinds of systems must be monitored at all times, both during the development process and especially after deployment. Hard real time systems are very difficult to monitor, either intrusively or non-intrusively, not only due to their inherent timeliness requirements, but also because of their embedded nature. In order to adequately observe its run-time behaviour it is necessary to give particular attention to the impact of any additional monitoring instrumentation placed inside the system, so that it does not interfere with the system’s behaviour (or at least that this interference is deterministic). In this paper we discuss several approaches developed to deal with this problem, paving the way to introduce the use of Reflection as a prime technology for this purpose. Reflection allows a component to provide observation and control of its own internal structure and behaviour to the outside world, thus limiting the impact that the monitoring mechanisms may have in the monitored system. We discuss the different approaches that can be used for this purpose, presenting its advantages and impairment, leading to a concrete propose for a Reflection-based monitoring framework.