The area of dependable embedded systems encompasses an increasingly larger and more important fraction of "intelligent" products made worldwide. For the purposes of this course, "dependable" systems include those that are safe, fault tolerant, robust, secure, timely, maintainable, and designed correctly. In addition, dependable embedded systems are usually created with small teams using lightweight design processes under extreme cost constraints. The focus of the course will be understanding the challenges of creating a truly dependable, yet affordable, embedded system. The areas covered will include software safety, software fault tolerance, safety critical networking, graceful degradation, system architecture approaches, ultra-dependable system assessment, "embedded Internet" issues, regulatory/societal issues, and best known practices. Students will gain familiarity with the core literature in this area as well as explore important areas in which literature is sparse or nonexistent.
Students will be expected to read multiple journal and conference papers for each class meeting. Grading will be based in large part on student ability to demonstrate understanding of the reading and relate ideas to problem areas discussed in class. Each student will make in-class presentations of varying lengths. Active class participation is required of each and every student.