CP
Cyber-Physical Programming
Objectives
The goal of this course unit is to thoroughly prepare the student to a disciplined way of developing and analysing cyber-physical systems; this requires going over their basic principles, adequate models of computation, and respective tools. At the end of the course the student will,
- be proficient in standard models of cyber-physical computation, namely (extensions of) hybrid automata and hybrid programming languages;
- understand the differences between the various notions of equivalence for these two models;
- be able to recognise and properly treat Zeno behaviour;
- be proficient in the tools Uppaal and Lince, which cover both model checking and testing/simulation of cyber-physical systems;
- understand in which ways the state-of-the-art is limited, and the potential outcomes of solving these limitations;
- be able to properly coordinate the previous learning outcomes in order to design and reason about complex cyber-physical systems.
Program
- Hybrid automata (and respective extensions) as models for cyber-physical computation; notions of simulation and bisimulation.
- The use of hybrid automata to address specific aspects of cyber-physical computation.
- The tool Uppaal; Case studies.
- Cyber-physical programming: algorithmic principles and compositionality.
- Operational and denotational semantics for cyber-physical computation.
- The tool Lince; Case studies.
Bibliography
- The theory of hybrid automata. T. A. Henzinger. Published in the Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science (LICS), 1996.
- Verification and control of hybrid systems. Paulo Tabuada. Published by Springer, 2009; ISBN: 978-1-4419-0223-8.
- Logical foundations of cyber-physical systems. AndreĢ Platzer. Published by Springer, 2018; ISBN: 978-3-319-63587-3. - The formal semantics of programming languages. Glynn Winskel. Published by MIT Press, 1993. ISBN: 978-0-262-23169-5.
- An adequate while-language for hybrid computation. Sergey Goncharov and Renato Neves. Proceedings of the 21st International Symposium on Principles and Practice of Programming Languages (PPDP), 2019