The rapid advancement of mobile devices and wireless networking technologies and increasing use of embedded devices has extended the scope of traditional real-time systems. Such systems now include coordination among embedded components and dynamic reconfiguration of communication topologies among components. There are many challenges in such highly dynamic embedded hybrid control systems. Traditionally, the programming language community focused on modeling and reasoning about the semantics of interactions between distributed components. Meanwhile the real-time computing community focused on how to manage CPU and network communication resources so that real-time tasks can predictably meet their end-to-end timing constraints. This research seeks to bridge the two areas by abstracting orthogonal concerns in dynamic real-time systems, and then using these separately specified components to support runtime-integrated system behaviors.
This research is developing a framework to address key issues in asynchronous dynamic real-time embedded systems: coordination, real-time constraints, and re-configurability in a modular fashion that permits separation of concerns. A prototype implementation of the framework includes the defining language constructs for specifying real-time constraints and coordination requirements independent of the internal behavior of individual computational objects. It also provides runtime support that combines the components to achieve integrated system requirements. In particular, the language abstraction for timing constraints is used to the support run-time scheduler, while the language abstraction for interaction topology is used to support message routing. Such a runtime framework cannot only be used as a test-bed to validate the proposed model, but also can verify the practical aspects of the approach.
Successful results of the research techniques are expected to have a profound impact on the ease of development of future asynchronous distributed real-time embedded systems. The power of the coordination substrate for real-time embedded systems lies in the fact that it is designed to be modular and dynamically reconfigurable to suit the dynamic nature of distributed real-time embedded systems. The modularity and separation of concerns not only increases the software reusability in both computational domain and coordination domain, but also simplifies the design, development and analysis of large complex real-time embedded systems and hereby increases system dependability.