Course Info

Schedule: Friday, 12:45pm - 15.45pm, room: L-2710 (Lassonde building)

Instructor & contact: Jerome Le Ny, Associate Professor, Electrical Engineering department

Office Hours: after class, or by appointment, or stop by my office to see if I'm available

Discussion forum: Piazza


Course Description

The "Internet of Things" refers to large networks of devices, such as sensors, actuators and computing devices, from microcontrollers and smartphones to mainframes and data centers, which interface the physical and cyber world, can communicate with with each other and often interact closely with humans. Application examples include smart buildings, smart energy grids, and even smart cities, consumer wearables and intelligent medical devices, or connected cars. Engineers have already been connecting physical devices through local or even large networks, but typically for specialized industrial applications and in controlled environments. The current trends are toward a much higher level of interconnections, deploying massive sensor and actuator networks outside of factories and around humans to enable smart infrastructures, integration with the standard internet of computers and mobiles, leveraging cloud computing platforms, etc. This raises many fundamental questions, from design (how to organize these networks, how and where to handle computations) to purpose (how do we make these connected machines more useful) to security (physical infrastructures now exposed to cyberattacks) and privacy (think "Big Brother is watching you"). The purpose of this course is to explore these issues and what the future of automation might look like. We introduce some modelling techniques to formally analyse these “Cyber-Physical Systems” (CPS) and present tools that can be used to design and deploy useful, reliable, safe and secure CPS, as well as limit their intrusiveness.


Course Philosophy, Prerequisites, and Grading

The course emphasis is on breadth rather than depth. That is, for most topics we will typically not discuss the absolute state of the art, and you will not necessarily be ready to start developing new results immediately. For some topics (ex: decentralized control), we will just give a very basic introduction via selected problems of interest. Indeed, many of the lectures could be worth developping further into a full course. However, this course will give you an idea of some types of issues that are currently being actively investigated by control theorists and engineers (ex: typical session topics at automation conferences). In addition, I will introduce during our discussions a number of analysis, design and computational tools that are broadly relevant and useful in systems and control, but not necessarily part of the standard curriculum yet. The target audience I have in mind is: MS or beginning PhD students in controls/automation looking for a research topic or interested in broadening their perspectives and knowledge of the field, and possibly senior undergraduate honors students specializing in this area. Given the small size of the class, I'll be happy to work closely with you while you learn, so feel free to stop by my office or after class to ask questions about the material, show me your current homework and project results, chat about other ideas, etc.

Prerequisites: previous exposure to dynamical system modeling and control, mathematical maturity, and a motivation to learn and explore further on your own as needed. This is a course focusing on models and fundamental theory for CPS applications, not on the engineering aspects of building (the necessary) computing and communication infrastructures. However, these aspects should by definition influence the models and abstractions of CPS that we study, so we will need to discuss them to some extent (in simplified ways), understand and manipulate toolkits, etc.

Grading: homework (40%), 15 minute mini-lecture and short accompanying notes on a technical paper (20%), final project (40%). The problem sets explore the class topics in more depth and generally require a computer. Students will also be responsible for teaching a mini-lecture, on a topic determined with the instructor, which includes the preparation of a few pages of lecture notes (this will be adjusted based on the number of participants). The project can be done alone or in pairs (recommended), exceptionally in groups of 3 (with permission of the instructor). It can be for example:

  1. Exploring in some details a topic by studying a paper or group of related papers, performing analysis and simulations on a reasonably complex original case study, leveraging available software tools, etc. For example, you could try to design a digital control system to illustrate one or several artifacts due to modern implementation platforms, with the goal of being as realistic as possible.
  2. Further exploring implementation issues and IoT software toolkits for distributed control systems. This could include hardware set-ups (physical implementation is not required; note that the course does not discuss embedded systems programming). Evaluate the effect of network delays, what is appropriate for edge vs. cloud computing, etc.
  3. A serious attempt at a novel contribution on a topic related to this class, which has the potential for example to lead to a publication (for advanced students, perhaps already doing research in this area).

Auditors: Auditors are welcome in the class. It is likely that student auditors will be required to give a class presentation as well.

Date Topic Course Material Suggested Additional Readings & Refs Assignments
  1. Fr. Jan 12
  1. Introduction
  2. Review of system modeling

(Alur 2015, sec. 1.1 & 1.2) (Bullo 2017, ch. 1 & 13) (Alur 2015, sec. 9.1 & 9.2)

  1. Fr. Jan 19
  1. Review of system modeling (cont.)
  2. Review of sampled-data systems (SDS)

(Åström and Wittenmark 1997), (Chen and Francis 1995)

HW1 out

  1. Fr. Jan 26
  1. NECS implementation examples and gap with SDS (RTOS, network access, etc.)
  2. NECS: Basic aperiodic sampling model

(Alur 2015, ch. 8), (Zhang, Branicky, and Phillips 2001), (Hetel et al. 2017)

  1. Fr. Feb 2
  1. NECS: Input/output (robustness) view

(Hetel et al. 2017), (Mirkin 2007),

HW1 due

HW2 out

  1. Fr. Feb 9
  1. NECS: Finish discussion
  2. NECS: Self-triggered & event-triggered sampling

(Mirkin 2007), (Le Ny and Pappas 2010), (Heemels, Johansson, and Tabuada 2012)

  1. Fr. Feb 16
  1. MA: Consensus problems (examples)
  2. MA: Basic graph theory

(Bullo 2017), (Mesbahi and Egerstedt 2010)

  1. Fr. Feb 23
  1. MA: Distributed consensus and averaging algorithms

(Bullo 2017), (Mesbahi and Egerstedt 2010)

HW2 due

HW3 out

  1. Fr. Mar 2
  1. MA: Distributed consensus (cont.) and optimization
  2. MA: Formation control, rigidity, distributed localization
  • Notes (board)

(Bullo 2017), (Mesbahi and Egerstedt 2010)

Mar 5-9

Spring Break

  1. Fr. Mar 16
  1. DCS: Cloud computing and IoT
HW3 due HW4 part 1 out
  1. Fr. Mar 23
  1. DCS: Fault Diagnosis

(Sundaram 2012), (Blanke et al. 2016)

Tu. March 27


HW4 part 1 due

Th. March 29


HW4 part 2 out

Fr. Apr 30


  1. Fr. Apr 6
  1. DCS: Fault Diagnosis, Security
  • Notes (board)
  1. Fr. Apr 13
  1. DCS & Cyber-Physical Human Systems: Privacy
  • Slides
  • Notes (board)

Su. Apr 15


HW4 part 2 due

  1. Tu. Apr 17
  1. Student project presentations, wrap-up, end of classes
  • Notes (board)

Th. Apr 19


Article summary due

Fr. Apr 27


Project report due


NECS/Embedded Computing: Alur (2015), E. A. Lee and Seshia (2017), Hristu-Varsakelis and Levine (2005), Zhang, Branicky, and Phillips (2001), Hespanha, Naghshtabrizi, and Xu (2007), Mirkin (2007), Hetel et al. (2017), Heemels, Johansson, and Tabuada (2012)

Multi-Agent Systems: Bullo, Cortés, and Martínez (2009), Mesbahi and Egerstedt (2010), Bullo (2017)

ICS/SCADA/DCS/IoT: Galloway and Hancke (2013), Geng (2017)

Cloud/Parallel/Distributed Computing: GoogleU (2011), Armbrust et al. (2010)

Fault Detection & Security in CPS: Blanke et al. (2016), Slay and Miller (2007), Sundaram (2012), Pasqualetti, Dörfler, and Bullo (2013)

Privacy: Dwork and Roth (2014), Le Ny and Pappas (2014)

Fundamentals in control theory: Åström and Murray (2016) (basic concepts), Vidyasagar (2002), Jönsson (2001) (input/output modeling), Isidori (2017) (more advanced), van der Schaft (2017) (dissipativity), Åström and Wittenmark (1997) (sampled-data systems), Chen and Francis (1995) (sampled-data systems, more advanced), Scherer and Weiland (2015) (LMIs, dissipativity), Boyd et al. (1994) (more LMIs)

Some other courses on related topics: ASU, UPenn, Georgia Tech, Lund, UWaterloo, EdX: Data Science Ethics

Alur, Rajeev. 2015. Principles of Cyber-Physical Systems. MIT Press.

Armbrust, Michael, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, et al. 2010. “A View of Cloud Computing.” Communications of the ACM 53 (4).

Åström, Karl J., and Richard M. Murray. 2016. Feedback Systems: An Introduction for Scientists and Engineers. 2nd ed. Princeton University Press.

Åström, Karl J., and Bjorn Wittenmark. 1997. Computer-Controlled Systems : Theory and Design. Prentice Hall.

Blanke, Mogens, Michel Kinnaert, Jan Lunze, and Marcel Staroswiecki. 2016. Diagnosis and Fault-Tolerant Control. Springer.

Boyd, Stephen, Laurent El Ghaoui, Eric Feron, and Venkataramanan Balakrishnan. 1994. Linear Matrix Inequalities in System and Control Theory. SIAM.

Bullo, Francesco. 2017. Lectures on Network Systems. Version 0.95.

Bullo, Francesco, Jorge Cortés, and Sonia Martínez. 2009. Distributed Control of Robotic Networks. Princeton University Press.

Chen, Tongwen, and Bruce Francis. 1995. Optimal Sampled-Data Control Systems. Springer.

Dwork, Cynthia, and Aaron Roth. 2014. The Algorithmic Foundations of Differential Privacy. Now Publishers Inc.

Galloway, Brendan, and Gerhard P. Hancke. 2013. “Introduction to Industrial Control Networks.” IEEE Communications Surveys & Tutorials 15 (2): 860–80.

Geng, Hwaiyu, ed. 2017. The Internet of Things and Data Analytics Handbook. John Wiley & Sons.

GoogleU. 2011. “Introduction to Distributed System Design.”

Heemels, W.P.M.H., K. H. Johansson, and P. Tabuada. 2012. “An Introduction to Event-Triggered and Self-Triggered Control.” In Proceedings of the 51st Conference on Decision and Control.

Hespanha, Joao P., Payam Naghshtabrizi, and Yonggang Xu. 2007. “A Survey of Recent Results in Networked Control Systems.” Proceedings of the IEEE 95 (1): 138–62.

Hetel, Laurentiu, Christophe Fiter, Hassan Omran, Alexandre Seuret, Emilia Fridman, Jean-Pierre Richard, and Silviu Iulian Niculescu. 2017. “Recent Developments on the Stability of Systems with Aperiodic Sampling: An Overview.” Automatica 76 (February): 309–35.

Hristu-Varsakelis, Dimitrios, and Willam S. Levine, eds. 2005. Handbook of Networked and Embedded Control Systems. Birkhäuser.

Isidori, Alberto. 2017. Lectures in Feedback Design for Multivariable Systems. Springer.

Jönsson, Ulf. 2001. Lectures on Input/Output Stability and Integral Quadratic Constraints.

Le Ny, Jerome, and George J. Pappas. 2010. “Robustness Analysis for the Certification of Digital Controller Implementations.” In Proceedings of the First International Conference on Cyber-Physical Systems (ICCPS). Stockholm, Sweden.

———. 2014. “Differentially Private Filtering.” IEEE Transactions on Automatic Control 59 (2): 341–54.

Lee, Edward A., and Sanjit A. Seshia. 2017. Introduction to Embedded Systems, a Cyber-Physical Systems Approach. 2nd ed. MIT Press.

Mesbahi, Mehran, and Magnus Egerstedt. 2010. Graph Theoretic Methods in Multiagent Networks. Princeton University Press.

Mirkin, Leonid. 2007. “Some Remarks on the Use of Time-Varying Delay to Model Sample-and-Hold Circuits.” IEEE Transactions on Automatic Control 52 (6): 1109–12.

Pasqualetti, Fabio, Florian Dörfler, and Francesco Bullo. 2013. “Attack Detection and Identification in Cyber-Physical Systems.” IEEE Transactions on Automatic Control 58 (11): 2715–29.

Scherer, Carsten, and Siep Weiland. 2015. Linear Matrix Inequalities in Control.

Slay, Jill, and Michael Miller. 2007. “Lessons Learned from the Maroochy Water Breach.” In Proceedings of the International Conference on Critical Infrastructure Protection.

Sundaram, Shreyas. 2012. “Fault-Tolerant and Secure Control Systems.”

van der Schaft, Arjan. 2017. L2-Gain and Passivity Techniques in Nonlinear Control. 3rd ed. Springer.

Vidyasagar, Mathukumalli. 2002. Nonlinear Systems Analysis. SIAM.

Zhang, Wei, Michael S. Branicky, and Stephen M. Phillips. 2001. “Stability of Networked Control Systems.” IEEE Control Systems 21 (1): 84–99.