CS683: Embedded and Cyber-Physical Systems
Credits: 3-0-0-0-9
Instructor:
Dr. Indranil Saha
· Major, Measurable Learning Objectives
A cyber-physical system is a collection of interconnected computing devices interacting with the physical world. The computing devices together constitute a cyber system that regulates the behavior of the physical world. The cyber system closely monitors the physical world through sensors, computes required control laws based on the current state of the physical world, and applies the computed control law to the physical world through actuators. The sensors, the controllers, and the actuators are developed on top of an embedded platform. Thus, the cyber component of a cyber-physical system is often termed as an embedded control system.
Developing an embedded control system requires the understanding of the physical world with which the system has to interact. The understanding of the physical world is captured in a faithful model that is used for synthesizing feedback control laws using control theoretic methods. Implementing the feedback control law on the embedded computing platform requires addressing the challenges of embedded computing, for example, the availability of limited resources in terms of computing power and memory, stringent timing requirements, and so on. Moreover, most cyber-physical systems are safety-critical. Thus, it is essential that the correctness of such systems is established through the use of formal verification techniques.
The course will cover the modeling, implementation and verification issues related to developing a cyber-physical system. Through the discussion of the implementation of an embedded control system, the course will cover the basic design principles of an embedded system.
· Prerequisites and Co-requisites
The course does not have any formal prerequisites. The students are expected to have mathematical maturity of the level of an undergraduate degree in engineering.However, some familiarity with finite state machines and ordinary differential equations, and programming experience will be helpful.
· Texts and Special Teaching Aids
Course notes, lecture slides, man pages, and other documentations will be provided to students by
the instructor. Self-study would be an important component of this course. Useful video tutorials will also be provided to students for self-learning. Project component is very important in this course.
· Syllabus
The students will be exposed to the following topics:
Modeling Dynamic Behaviors and Control:
- Continuous Dynamics
- Feedback Control,
- Discrete Systems
- Hybrid Systems,
- Composition of State Machines
- Concurrent Models of Computation
Design and Implementation:
- Sensors and Actuators
- Embedded Processors
- Memory Architectures
- Input and Output Interface
- Multitasking
- Scheduling
Analysis and Verification:
- Invariants and Temporal Logic
- Equivalence and Refinement
- Rechability Analysis and Model Checking
- Timing Analysis
- Embedded Security
The course will consist of 3 hours of lectures per week, homework assignments, and a course project.
· Grading
Semester grades will be based on the following weights.
- HomeWorks 20% (4 at-home exercises)
- Midterm Exam 20%
- Final Exam 30%
- Course Project 30%
Semester grades will be determined after all work is completed and graded. Point ranges for letter grades will be based on several factors, including absolute and relative performance. Letter grades will not be based on a fixed, predetermined curve or point range.
Coverage of Topics
Topics |
Hours |
Course Introduction |
1 |
Continuous Dynamics |
1 |
Feedback Control |
2 |
Discrete Systems |
1 |
Hybrid Systems |
1 |
Composition of State Machines |
1 |
Concurrent Models of Computations |
1 |
Sensors and Actuators |
1 |
Embedded Processors |
1 |
Memory Architectures |
1 |
Input and Output Interface |
1 |
Multi-tasking |
1 |
Scheduling |
1.5 |
Invariants and Temporal Logic |
1 |
Equivalence and Refinement |
1 |
Reachability Analysis and Model Checking |
1 |
Timing Analysis |
1 |
Embedded Security |
1.5 |
Total |
20 hours |