CS637: Embedded and Cyber-Physical Systems

Monsoon 2018 (July 30, 2018 - November 13, 2018)

Lecture Hours: Monday 3:30 pm - 5:00 pm, Tuesday 2:00 pm - 3:00 pm
Office Hour: Friday 4:00 pm - 5:00 pm

Lecture Venue: KD 102

Instructor: Indranil Saha (Email: isaha[at]cse[dot]iitk[dot]ac[dot]in)
Teaching Assistants: Tanmoy Kundu (Email: tanmoy[at]cse[dot]iitk[dot]ac[dot]in)
                                    Ratijit Mitra (Email: ratijit[at]iitk[dot]ac[dot]in)


Overview

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

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.


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, Model Checking, Timing Analysis

  • Grading Policy

    Homework Assignments - 20%
    Mid-Semester Examination - 20%
    End-Semester Examination - 30%
    Project - 30%

    Our department follows this anti-cheating policy strictly.


    Exam Schedule and Deadlines

    Homework
    Homework 1 (Deadline: August 28, 2018)
    Homework 2 (Deadline: September 4, 2018)
    Homework 3 (Deadline: October 2, 2018)
    Homework 4 (Deadline: October 30, 2018)
    Homework 5 (Deadline: November 13, 2018)

    Project
    Project Proposal Presentations (Scheduled on September 10, 2018 and September 11, 2018)
    Project Proposal Submission (Deadline: September 14, 2018)
    Final Project Presentation (Scheduled on November 6, 2018, November 12, 2018 and November 13, 2018)
    Final Report Submission (Deadline: November 16, 2018)

    Mid-Semester Examination
    September 17, 2018 (Monday) 10:30 pm to 12:30 pm in KD102

    Final Examination
    November 29, 2018 (Thursday) 9:00 pm to 12:00 Noon in KD102


    Lecture Schedule

    Lecture Date Topic References
    1July 30, 2018Introduction to the course[LS15 - Ch 1]
    2July 31, 2018Modeling Dynamic Behaviors - Continuous Dynamics[LS15 - Ch 2]
    3August 6, 2018Basics of Feedback Control Theory[AM09]
    4August 7, 2018Modeling Dynamic Behaviors - Discrete Dynamics[LS15 - Ch 3]
    5August 13, 2018Hybrid Systems[LS15 - Ch 4]
    6August 14, 2018Hybrid Systems[BK08 - Ch 10, RAS05]
    7August 20, 2018Composition of State Machines[LS15 - Ch 5]
    8August 21, 2018Composition of Timed and Hybrid Automata[BK08 - Ch 10, RAS05]
    9August 27, 2018Concurrent Models of Computation[LS15 - Ch 6]
    --August 28, 2018 No Lecture - Instructor's Personal Constraints
    --September 3, 2018 Holiday: Janmastami
    --September 4, 2018No Lecture - Instructor's Personal Constraints
    --September 8, 2018No Lecture - Instructor's Personal Constraints
    10September 10, 2018Sensors and ActuatorsLS15 - Ch 7]
    --September 11, 2018Project Proposal Presentation
    --September 17, 2018 Mid-Semester Examination
    --September 18, 2018 Mid-Semester Examination
    11September 24, 2018Embedded Processors [LS15 - Ch 8]
    12September 25, 2018Memory Architectures [LS15 - Ch 9]
    --October 1, 2018No Lecture - ESWeek 2018 Conference Travel
    --October 2, 2018 Holiday: Matatma Gandhi's Birthday
    13October 8, 2018Input and Output [LS15 - Ch 10]
    14October 9, 2018Multitasking[LS15 - Ch 11]
    --October 15, 2018 Mid-Semester Recess
    --October 16, 2018 Mid-Semester Recess
    15October 22, 2018Scheduling[LS15 - Ch 12]
    15October 23, 2018Scheduling[LS15 - Ch 12]
    16October 29, 2018Invariants and Temporal Logic[LS15 - Ch 13]
    17October 30, 2018Equivalence and Refinement[[LS15 - Ch 14]
    18November 5, 2018Reachability Analysis and Model Checking[LS15 - Ch 15]
    19November 6, 2018Quantitative Analysis[LS15 - Ch 16]
    20November 12, 2018Security and Privacy[LS15 - Ch 17]
    --November 13, 2018Course Feedback and Final Project Presentations (Class will be extended till 5pm)



    Projects

    1. A Planning Framework for Heterogeneous Swarm Robots (Tushar Gupta, Madhukant)
    2. A Survey on Home Automation Systems (Mukul Chaturvedi, Abhishek Kumar Choudhuri)
    3. Solar Tracker (Nikunj Jain)
    4. FPGA-Controlled Robot Arm (Rituj Beniwal)
    5. Privacy Preserving Motion Planning (Pankaj Siwan)
    6. Verification and Bug Localisation for Simulink Models (Nikhil Kumar Singh)


    References

    [Alur15] Rajeev Alur. Principles of Cyber-Physical Systems. The MIT Press, 2015.
    [AD94] Rajeev Alur, David L. Dill: A Theory of Timed Automata. Theor. Comput. Sci. 126(2): 183-235 (1994).
    [AM09] K. J. Astrom and R. M. Murray. Feedback Systems: An Introduction for Scientists and Engineers. Prince- ton University Press, 2009. http://www.cds.caltech.edu/~murray/amwiki/index.php/Main_Page.
    [ASK04] Aditya Agrawal, Gyula Simon, Gabor Karsai. mantic Translation of Simulink/Stateflow Models to Hybrid Automata Using Graph Transformations. Electronic Notes in Theoretical Computer Science 109 (2004) 43-56.
    [BK08] C. Baier and J.-P. Katoen. Principles of Model Checking. The MIT Press, 2008.
    [Harel87] D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8 (1987) 231-274.
    [Lee08] Edward A. Lee. Cyber-Physical Systems: Design Challenges. IRORC 2008.
    [LS15] Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, http://LeeSeshia.org, ISBN 978-1-312-42740-2, 2015.
    [OSS12] Sam Owre, Indranil Saha and Natarajan Shankar. Automatic Dimensional Analysis of Cyber-Physical Systems. FM 2012.
    [Ras05] Jean-François Raskin. An Introduction to Hybrid Automata. Handbook of Networked and Embedded Control Systems, pages 491-517, 2005.