Discrete-Event Modeling and Design of Embedded Software
Edward A. Lee
Professor, UC Berkeley

Embedded software is that which resides in devices that are not first-and-foremost computers. It is pervasive, appearing in vehicles, communications devices, aircraft, security systems, weapons systems, consumer electronics, toys, trains, printers, modems, copiers, thermostats, manufacturing systems, appliances, etc. It differs from desktop software in its interaction with the physical world, its real-time constraints, its pervasive concurrency, its requirement for safety, and its requirement for liveness. Much of our deeply rooted view of computation is at odds with these properties, and certainly our experience with desktop software is.

Discrete-event systems, unlike more traditional computational models, embrace concurrency and time, and thus are better suited to embedded software modeling and design. I will explore variants of these models with totally and partially ordered models of time, focusing on their practical applicability in design of systems. These models can be interpreted as concurrent 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. I will show how at least some of these variants can be heterogeneously combined with tractable sequential models such as finite state machines, and with continuous-time models to get mixed-signal and hybrid systems.