The most visible use of computers and software is processing information for human
consumption. We use them to write books (like this one), search for information
on the web, communicate via email, and keep track of financial data. The vast
majority of computers in use, however, are much less visible. They run the engine,
brakes, seatbelts, airbag, and audio system in your car. They digitally encode your
voice and construct a radio signal to send it from your cell phone to a base station.
They control your microwave oven, refrigerator, and dishwasher. They run printers
ranging from desktop inkjet printers to large industrial high-volume printers. They
command robots on a factory floor, power generation in a power plant, processes in
a chemical plant, and traffic lights in a city. They search for microbes in biological
samples, construct images of the inside of a human body, and measure vital signs.
They process radio signals from space looking for supernovae and for extraterrestrial
intelligence. They bring toys to life, enabling them to react to human touch and to
sounds. They control aircraft and trains. These less visible computers are called
embedded systems, and the software they run is called embedded software.
This book strives to identify and introduce the durable intellectual ideas of embedded systems as a technology and as a subject of study. The emphasis is on modeling, design, and analysis of cyber-physical systems, which integrate computing, networking, and physical processes.