Content area
Real-time systems play a vital role in our society. The next generation of real-time systems will have to be distributed and flexible. One of the most difficult aspects of their development is the capacity to reach better performance without compromising time constraints and their ability to dynamically adapt to their environments.
A reactive system is a real-time system that can dynamically adapt its behavior in reaction to events produced by an application. Our reactive and reflective model proposes a mechanism that can change its own behavior and dynamically adapt to its environment. This model adds a missing flexibility to traditional reactive systems at runtime.
The implementation of a reactive system is generally supported by a real-time kernel. Most real-time kernels and languages are large, complex, and not very flexible, making them hard to understand, develop, maintain and use. The availability of object-oriented languages and the recently developed microkernel approach provide new methodologies that can be applied in modelling of real-time kernel architectures for distributed processors. These microkernels should have efficient basic mechanisms and should offer subsystems with interchangeable policies at the user level.
In order to fulfill the requirements of flexibility and reusability, a new model for reactive, reflective, and distributed systems is proposed. This model allows the definition of finite meta state machines (MSM) based on an object-oriented design which facilitates their development and reuse. The purpose of this model is to make soft real-time applications simpler and more flexible for reactive cases.
An MSM is a task which reacts to its environment. A reactive system was implemented by one or more MSMs running on different processors. Our research focuses on the development of a model that integrates two fundamental properties: reactivity and reflection. The reactive aspect of the model allows an MSM to be activated in response to events that are internal or external to the system. The reflective aspect allows the user to modify the internal behavior of an MSM and its interface with the external environment. This model is particularly useful for reactive applications where each MSM has the ability to react to events and to dynamically adapt its behavior or impose a behavior onto the system. We achieve this reflective aspect by dynamically replacing the policies at hand in the MSMs and the microkernel.
Our model is applied to soft real-time systems. This model is supported by a language and a microkernel. Our React language ensures flexibility by allowing dynamic modification of the application and the microkernel behavior during compilation and runtime. Our open microkernel OpenKernel provides support to the React language in these types of applications. It offers several subsystems with different policies. Each subsystem specifies a uniform interface supporting the necessary reflective operations that replace policies in response to the needs of the application.