CIS 540: Principles of Embedded Computation, Fall 2009


Logistics


Introduction

This course is focused on principles underlying design and analysis of computational elements that interact with the physical environment. Increasingly, such embedded computers are everywhere, from smart cameras to medical devices to automobiles. While the classical theory of computation focuses on the function that a program computes, to understand embedded computation, we need to focus on the reactive nature of the interaction of a component with its environement via inputs and outputs, the continuous dynamics of the physical world, different ways of communication among components, and requirements concerning safety, timeliness, stability, and performance. Developing tools for approaching design, analysis, and implementation of embedded systems in a principled manner is an active research area. This course will attempt to give students a coherent introduction to this emerging area.

Prerequisites

This course assumes mathematical maturity, commensurate with either ESE 210 (Introduction to Dynamical Systems), or CIS 262 (Introduction to Theory of Computation). It is suitable for students who have undergraduate degree in computer science, or computer engineering, or electrical engineering. It is also suitable for Penn undergraduates in CIS or CE as an upper-level elective.

Topics


Grading

There will be periodic homework assignments consisting of theoretical problems. There will be a midterm and a final exam. A significant component of the evaluation will be the class project.

Tentative Schedule


Lecture Notes

This is a preliminary draft of a potential textbook on this subject. If you have any corrections or comments regarding either the exposition style or the technical topics, please email ( alur@cis).

Relevant Textbooks


Relevant Modeling and Analysis Software


Homeworks


Maintained by Rajeev Alur