CyPhyComp2425

MSc unit course on Cyber Physical Computation at the U.Minho, Portugal


Introduction and objectives

Cyber-physical systems are networks of computational devices that closely interact with physical processes in order to reach a prescribed goal; for example a desired velocity, temperature or, more generally, an energy level. They range from small medical devices, such as pacemakers and insulin pumps, to networks of autonomous vehicles and district-wide smart grids. This course is devoted to such systems.

Our main goal is to make the student an adept of the engineering discipline of cyber-physical systems – by presenting the respective basic principles, computational models, tools, and current limitations. The course will involve several pedagogical illustrations extracted from real world-scenarios involving e.g. cruise controllers, sampling algorithms, and timed variants of concurrent algorithms.

Summaries

Date Description
04 feb. 2025 Introduction to the module and its logistics (slides)
06 feb. 2025 NA
11 feb. 2025 Introduction to CCS (slides)
13 feb. 2025 NA
18 feb. 2025 Jornadas da Física
20 feb. 2025 Semantics of CCS (slides)
25 feb. 2025 Introduction to timed automata (slides)
04 mar. 2025 Carnival
06 mar. 2025 UPPAAL (the semaphore, the philosophers, the lamp, and the adventurers)
11 mar. 2025 Continuation of the previous lecture
13 mar. 2025 Verification of timed automata (slides)
18 mar. 2025 Operational semantics of simple languages (slides)
20 mar. 2025 Recalling Haskell (code)
25 mar. 2025 Implementation of an operational semantics (code)
01 apr. 2025 Hands-on approach to Lince (code)
03 apr. 2025 Revisions
08 apr. 2025 Introduction to the simply-typed lambda-calculus (slides)
10 apr. 2025 Continuation of the previous lecture (slides)
22 apr. 2025 Lambda-calculus with effects (slides)
06 may 2025 Monads in practice (code)

Assessment

Two individual assignments:

Contacts

The day and time for appointments is Wednesday afternoon. Please email me the day before if you wish to meet. If you prefer you can also send an email with your questions to me or we can have an online meeting.

Bibliography

Rajeev Alur and David L Dill. A theory of timed automata. Theoretical computer science, 126(2):183--235, 1994. [ bib ]

Thomas A Henzinger. The theory of hybrid automata. In Verification of digital and hybrid systems, pages 265--292. Springer, 2000. [ bib ]

Glynn Winskel. The formal semantics of programming languages: an introduction. MIT press, 1993. [ bib ]

Sergey Goncharov, Renato Neves, and José Proença. Implementing hybrid semantics: From functional to imperative. In International Colloquium on Theoretical Aspects of Computing, pages 262--282. Springer, 2020. [ bib ]

Miran Lipovaca. Learn you a haskell for great good!: a beginner's guide. no starch press, 2011. [ bib ]

Philip Wadler. Monads for functional programming. In International School on Advanced Functional Programming, pages 24--52. Springer, 1995. [ bib ]

Supplementary bibliography

Bart Jacobs. Introduction to coalgebra, volume 59. Cambridge University Press, 2017. [ bib ]

Chucky Ellison and Grigore Rosu. An executable formal semantics of c with applications. ACM SIGPLAN Notices, 47(1):533--544, 2012. [ bib ]