Actor-Oriented Design of Embedded Hardware and Software Systems

Edward A. Lee, Stephen Neuendorffer and Michael J. Wirthlin

Invited paper, Journal of Circuits, Systems, and Computers , Version 2, November 20, 2002.

Prepublished version
Published version

ABSTRACT

In this paper, we argue that model-based design and platform-based design are two views of the same thing. A platform is a set of designs. Model-based design is about using platforms with useful modeling properties to specify designs, and then synthesizing implementations from these specifications. A design language, such as SystemC or VHDL, defines a platform. Any valid expression in the language is an element of the set. Viewed from below, the language provides an abstraction of implementation capabilities. Viewed from above, the language provides a set of constraints together with benefits that flow from those constraints. It provides a conceptual framework within which a design is crafted. An actor-oriented platform lies above the program-level platforms that are widely used today. It orthogonalizes the actor definition language and the actor assembly language, enabling domain-polymorphic actor definitions, multiple models of computation, and hierarchical heterogeneity. Actor-oriented platforms offer compelling modeling properties. Synthesis into program-level descriptions is possible. We illustrate these concepts by describing a design framework built on Ptolemy II.