CMPE 117 - Embedded Software
Spring 2002


Instructor: Luca de Alfaro

3:30-4:40, MWF, Earth & Marine 214

Embedded software is the software that runs inside a wide range of products, from appliances such as cellphones, digital cameras, and microwave ovens, to digital control systems and safety-critical systems such as cars and aircrafts. Embedded software accounts for an increasingly large fraction of the functionality and development cost of a wide range of products ranging consumer products (where it is cheaper to add features to a VCR by enhancing its software than by adding a button to its faceplate) high-end systems such as cars and aircrafts, where software is becoming central in both their safe operation, and in obtaining competitive performance. Indeed, the future points to a world where mechanical, computer, and communication aspects will be tightly coupled at all levels of designs, so that mechanical components such as brake actuators will be sold already integrated with their embedded processor, software, and bus interface.

This course provides an introduction to the development of embedded software, with particular emphasis on real-time embedded software. The course starts with an overview of real-time scheduling theory, and presents the basic features of real-time operating systems. The trade-offs of the event-triggered and time-triggered approaches to embedded programming will be discussed. The course then discusses the implementation of distributed embedded systems: real-time communication protocols, synchronization, time distribution. Finally, the course will present high-level languages for embedded software development: Esterel, Lustre, and Giotto.

Prerequisite: CMPS 111, Operating Systems.


Office Hours

Mondays and Wednesdays, 5-6.

Textbooks

Homeworks

Midterms and Final

Lab Information

Class newsgroup

ucsc.classes.cmpe117
Please periodically look at it, and post there your questions for help with software setup, so others have a chance of helping. If the question is urgent, also email me.

Lectures

Reading and Resources

Giotto

Esterel

Language references

Other references

Lego Mindstorms


Luca de Alfaro