The Specification and Execution of Heterogeneous Synchronous Reactive Systems

The Ph.D dissertation of Stephen Anthony Edwards
May 5, 1997

[PDF] [Postscript]


The need for new languages and paradigms for designing software for embedded computing systems continues to grow as general-purpose microcontrollers become faster and cheaper. Many of these system need precise control over when things happen, yet few languages provide this facility. Another major challenge is handling the growing complexity of these systems.

In this dissertation, I present a new model of computation for embedded system software that is the first to fuse precise control over timing with the ability to build systems from heterogeneous pieces. It combines the synchronous model of time (used in languages such as Esterel) with the hierarchical heterogeneity of the Ptolemy system. Heterogeneity addresses the complexity problem by allowing each subsystem to be designed using the best language.

My two major contributions are the formal semantics of this model and an efficient, predictable execution scheme for it. Dealing with zero-delay feedback loops, a side-effect of the zero-delay assumption needed for synchrony, is the semantic challenge, and I solve it with a fixed-point scheme that guarantees all systems are deterministic by construction. The execution scheme I present is provably correct and eliminates run-time scheduling overhead by making all decisions before the system is run.

I present results that show my model of computation is both efficient and can be used to implement practical systems. It is my hope that these ideas will be used in the future to make designing complex time-critical embedded software easier and less error-prone.

Bibliographic Information

Stephen Anthony Edwards.
The Specification and Execution of Heterogeneous Synchronous Reactive Systems.
PhD thesis, University of California, Berkeley, 1997.
Avaliable as UCB/ERL M97/31.

Send comments to Stephen Edwards at sedwards at alumni caltech edu .