What's Ahead for Embedded Software?

Edward A. Lee

IEEE Computer Magazine, September 2000, pp. 18-26.

Prepublished version
Published version


Most of today's gadgets and cars use embedded software, which, in many cases, has taken over what mechanical and dedicated electronic systems used to do. Indeed, embedded software appears in everything from telephones and pagers to systems for medical diagnostics, climate control, and manufacturing. Its main task is to engage the physical world, interacting directly with sensors and actuators.

Research computer scientists have largely ignored embedded software because it has not been sufficiently complex or general to warrant the effort. There are many research questions, but most center around one issue: how to reconcile a set of domain-specific requirements with the demands of interaction in the physical world. How do you adapt software abstractions designed merely to transform data to meet requirements like real-time constraints, concurrency, and stringent safety considerations? The answer to this question has given rise to some promising research angles, including novel ways to deal with concurrency and real time and methods for augmenting component interfaces to promote safety and adaptability.