Reflection Mechanisms in Real-Time Embedded Systems
(Reflect)

Proposal: POSI/EIA/60797/2004

Last modification: 19-07-2004

 

Abstract

The current use of software as the key component of any real-time embedded system is increasing the demand for attributes such as reliability and availability, which are more prevalent on systems based on rather static approaches and offline analysis. At the same time, there is an eagerness for future systems to be more evolutionary in nature, other than the totally pre-designed ones, which are currently widespread. Nevertheless, the design practices followed in current real-time systems are quite inadequate to address issues such as flexibility and adaptability.

These different types of requirements are very difficult to integrate in a common framework, due to the inherent timeliness requirements and embedded nature of real-time systems. A prevalent notion is that introducing requirements which are orthogonal to the main functionality intended for the system will introduce additional stress on the determinism and reliability of the real-time application.

It is thus a foreseen perspective that real-time systems software will have to incorporate advanced programming techniques, already being applied in other areas of computer science and engineering, which are able to separate the functional part of the application from its dynamic monitoring and control, without precluding the determinism of the system. In this area, there is a current eagerness for new technologies which are able to provide this separation and determinism.

Therefore, the main goal of this project is to provide real-time systems with a generic framework for dynamic application monitoring and control, which uses the advantages offered by advanced programming paradigms, with a particular focus on reflection technologies (although it is foreseen to also consider aspect-oriented programming). The correct use of this technology will allow building systems where the functional aspects are guaranteed to be reliable and deterministic, whilst providing the required flexibility.

In an initial phase, the project will analyse current and future systems, and their reliability vs. flexibility requirements will be evaluated in order to roadmap the required developments. The second phase of the project will develop, based on these requirements, a generic high-level model of a reflection framework, whilst studying the impact of the necessary low-level mechanisms on the determinism of both the real-time application and the underlying platform. In parallel, a study will be performed to identify and review existent platforms which can be used by reflection-based real-time applications.

The third phase of the project will constitute on the implementation of this framework on one of the identified platforms, which will require not only implementing libraries and tools, but also to adapt a compiler and an operating system for this purpose. The final phase of the project will then evaluate the framework, using a prototype of a real-time application, integrating the reflection-based framework for monitoring and control purposes. 
 

 

Articles

 Year

Authors Title

 Publication

2001 Pinho, L., Vasques, F. An Architecture for Reliable Distributed Computer-Controlled Systems "Architecture and Design of Distributed Embedded Systems", B. Kleinjohann (Ed.), Kluwer Academic Publishers, Boston, April 2001, ISBN 0-7923-7345-6, pp. 43-52.
2002 Pinho, L., Vasques, F. Transparent Environment for Replicated Ravenscar Applications  7th International Conference on Reliable Software Technologies - Ada-Europe 2002, Vienna, Austria, June, 2002. Lecture Notes in Computer Science, nš 2361, Springer, pp. 297-308.
2003 Maia, R., Moreira, F., Barbosa, R., Costa, D., Rodriguez, P., Hjortnaes, K., Pinho, L., Verifying, Validating and Monitoring the Open Ravenscar Real Time Kernel  12th International Real-Time Ada Workshop, Viana do Castelo, Portugal, September 2003. Published in ACM Ada Letters, Volume XXIII, Number 4, Dec 2003, pp. 70-77.
2003 Pinho, L., Vasques, F. Reliable Real-Time Communication in CAN Networks IEEE Transactions on Computers, December 2003 (vol. 52, no. 12, pp. 1594-1607).
2004 Pinho, L., Vasques, F., Wellings, A. Replication Management in Reliable Real-Time Systems Kluwer Journal of Real-Time Systems, 26, 261-296, April 2004.