Computing for Embedded Systems

Edward A. Lee

IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001.

Prepublished version
Published version


Embedded software is increasingly a composition of concurrent components. Components in such systems interact in a rich variety of ways, not limited to the simple transfer of control of method calls in object-oriented design. I describe a view where the systems are modeled as assemblages of components within one of several models of computation, where components with well-defined interfaces are composed. The declaration of these component interfaces becomes a central problem, and the composition of properties becomes the central benefit. Unlike object-oriented interfaces, these interfaces must declare dynamic properties such as communication protocols and temporal properties. The model of computation must include shared information, such as time (a total ordering constraint), or causality (a partial ordering constraint). The properties of a model of computation strongly determine the problems that it matches, and frequently, practical systems are forced to use multiple models of computation. I briefly describe how this can be done systematically.