After successful completion of the course, students are able to...
After successful completion of the course, students will understand the subtleties of designing software that interacts with physical processes through sensors and actuators and is distributed across networks. Students will gain experience with techniques that can build confidence in such software designs, including learning the strengths and limitations of deterministic models, fundamental tradeoffs between availability and consistency, and reasoning about concurrency. Also, students will be able to critically analyze the strengths and weaknesses of a variety of approaches for managing concurrent and distributed software.
The lecturer of this course will be Prof. Edward Lee / University of California at Berkeley (eal@berkeley.edu).
Course abstract: Cyber-physical systems (CPSs) combine physical components (such as vehicles and robots) with software controllers and monitors. The overall behavior of the system arises from the combination and cannot be deduced from the individual components alone. Software components in such systems have properties that are not shared by many information technology applications, such as strong sensitivity to timing. This short course (18 hours) will introduce the principles behind CPS with a particular focus on models of computation. The course will study a relatively new programming framework called Lingua Franca that specifically addresses a number of the issues that arise with CPS design. Students will be asked to do a small project, which may be an application study in Lingua Franca or an analysis of another framework used for CPS (such as the Robot Operating Systems (ROS) or Adaptive AUTOSAR).
Outline Syllabus:
• Cyber-Physical Systems (CPS)
• Introduction to Lingua Franca
• Software Engineering Principles for CPS
• Concurrent and Timed Models of Computation
• The Role of Determinism
• Abstraction and Refinement
• Coordination of Distributed Software
• The Tradeoff Between Consistency and Availability
• Introduction to Semantics
Lee and Seshia, Introduction to Embedded Systems: A Cyber-Physical Systems Approach, MIT Press, 2017, also available at https://leeseshia.org.
Marten Lohstroh, Christian Menard, Soroush Bateni, and Edward A. Lee, "Toward a Lingua Franca for Deterministic Concurrent Systems," ACM Transactions on Embedded Computing Systems (TECS), May, 2021.
Edward A. Lee, Soroush Bateni, Shaokai Lin, Marten Lohstroh, Christian Menard, "Quantifying and Generalizing the CAP Theorem," arXiv:2109.07771 [cs.DC], September, 2021.
Edward A. Lee, "Determinism," ACM Transactions on Embedded Computing Systems (TECS), July, 2021.
Edward A. Lee and Marten Lohstroh, "Time for All Programs, Not Just Real-Time Programs," Int. Symp. on Leveraging Applications of Formal Methods (ISoLA) , October 17-29, 2021.
Some programming experience in any of C, C++, Python, JavaScript, or Rust.