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,