##
CIS 540: Principles of Embedded Computation, Spring 2019

### Logistics

- Instructor: Rajeev Alur
(alur@cis)
- Lectures: Monday, Wednesday, 3 -- 4.30
- Teaching Assistant: Kishor Jothimurugan
- Office Hours: Rajeev Alur: Tuesday, 4-5pm (Levine 609)

### Introduction

This course is focused on the 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 CSCI and CMPE as an upper-level elective.

### Textbook

** Principles of Cyber-Physical Systems**; R. Alur, 2015, MIT Press.

### Grading

- Six Homeworks (30%): Each such homework will consist of theoretical problems.
- Projects (20%): There will be two project homeworks that will
focus on design, modeling, and formal analysis of representative
problems using modeling tools
- Midterm (20%)
- Final Exam (30%)

Maintained by Rajeev Alur