Heterogeneous Synchronous/Reactive Systems for Embedded Control


Researchers: Stephen A. Edwards
Advisor:Edward A. Lee
Sponsor:

The objective of this project is a method for designing real-time embedded controllers using concurrently-executing communicating blocks. We adopt a heterogenous approach that allows the blocks to be specified in any language, provided their interface conforms. This allows subsystems to be written in the most suitable language, simplifying the designer's task. To make our systems deterministic and their real-time behavior predictable, we adopt the synchronous model of time used in the synchronous languages Esterel [1], Lustre [2], and Argos [3].

In the synchronous model, all computation is instantaneous, resulting in a model of time broken into discrete instants. The challenge with such a model of time is maintaining determinancy in the presence of zero-delay feedback loops, which arise naturally in heterogenous systems. We solve this problem by defining the semantics of these systems as a least fixed point, which can be shown to be always-defined and unique for all systems. Moreover, finding this fixed point is both computationally efficient and predictable, making it well-suited to embedded systems.

A preliminary version of this method has been implemented within the Ptolemy framework for heterogeneous systems, allowing the simulation of systems specified using dataflow, imperative, and other languages. Future work includes better scheduling algorithms, both exact and heuristic, and code generation.

[1]
G. Berry and G. Gonthier, "The Esterel Synchronous Programming Language: Design, Semantics, Implementation," Science of Computer Programming, Vol. 19, No. 2, November 1992.
[2]
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud, "The Synchronous Data Flow Programming Lustre," Proceedings of the IEEE, Vol. 79, No. 9, September 1991.
[3]
F. Maraninchi, "Operational and Compositional Semantics of Synchronous Automaton Compositions," Proceedings of CONCUR '92,