Course: Modeling and Verification

» List of faculties » PRF » KMI
Course title Modeling and Verification
Course code KMI/MOVE
Organizational form of instruction Lecture + Exercise
Level of course Master
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Jančar Petr, prof. RNDr. CSc.
Course content
1. Introduction. Reactive systems, examples. Transition systems as the basic model. Calculus of communicating systems (CCS) informally. 2. Syntax and semantics of CCS, examples. CCS with variables. 3. Behavioural equivalences. Trace equivalence. Bisimulation equivalence. 4. Properties of strong bisimilarity. Internal actions. Weak bisimilarity. Example on a small communication protocol. 5. Software tool Concurrency Workbench, CWB (Edinburgh, UK). Modal logic HML (Henessy-Milner Logic); description of simple behavioural properties. 6. Further examples in CWB. Correspondence of bisimulation equivalence and HM-logic. Fixed points in complete lattices for semantics of recursive programs. 7. Bisimulation equivalence as a fixed point. HM-logic with recursion and its game characterization. 8. A small project: alternating bit protocol in CCS and its verification in CWB. 9. Timed transition systems. Timed CCS and timed automata. 10. Timed and untimed bisimulation equivalence. Regions at timed automata. HM-logic with time. 11. Software tool UPPAAL (based on timed automata). Modelling, specification, simulation and verification in UPPAALu on practical examples. 12. Small project: `gossiping girls' in UPPAAL. 13. Overview of other areas of verification.

Learning activities and teaching methods
Lecture, Laboratory Work
Learning outcomes
Students get concrete experience with program verification and knowledge of the respective theoretical background.
1. Knowledge Describe and comprehensively understand principles of verification of concurrent programs.
Prerequisites
unspecified

Assessment methods and criteria
Oral exam, Seminar Work

Active participation in class. Completion of assigned homeworks, in particular two small projects. Passing the oral (or written) exam.
Recommended literature
  • Volně dostupné tutoriály k verifikačním nástrojům (CWB, UPPAAL).
  • Aceto L., Ingólfsdóttir A., Larsen K.G., Srba J. (2007). Reactive Systems: Modelling, Specification and Verification. Cambridge University Press.
  • Baier C., Katoen J.-P. (2008). Principles of Model Checking. The MIT Press.
  • Clarke E.M., Henzinger T.A., Veith H., and Bloem R. (2018). Handbook of Model Checking. Springer.
  • Clarke M., Grumberg O. and Peled D. A. (2000). Model checking. The MIT Press.
  • Manna Z. (1981). Matematická teorie programů. SNTL Praha.
  • Peled D. (2001). Software Reliability Methods. Springer.
  • Schneider K. (2004). Verification of Reactive Systems: Formal Methods and Algorithms. Springer.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Science Study plan (Version): Applied Computer Science - Specialization in Software Development (2024) Category: Informatics courses 1 Recommended year of study:1, Recommended semester: Winter
Faculty: Faculty of Science Study plan (Version): Computer Science - Specialization in Artificial Intelligence (2020) Category: Informatics courses 1 Recommended year of study:1, Recommended semester: Winter
Faculty: Faculty of Science Study plan (Version): Applied Computer Science - Specialization in Computer Systems and Technologies (2024) Category: Informatics courses 1 Recommended year of study:1, Recommended semester: Winter
Faculty: Faculty of Science Study plan (Version): Computer Science - Specialization in General Computer Science (2020) Category: Informatics courses 1 Recommended year of study:1, Recommended semester: Winter