Skip to main content
Skip header

Modeling and Verification

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4016/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory
Level of Course Unit *Second Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
KOT06Ing. Martin Kot, Ph.D.
Summary
Problem of correctness, i.e. the problem of verification that a given computer (hardware and/or software) system has the properties required by its specification, belongs to the fundamental problems of practical and theoretical computer science. The continuing development of information technologies leads to constructing systems with increasing complexity, and thus both research and industrial practice need solidly based verification procedures. Automated verification, comprising also so called `model checking', was established as a class of methods successfully applied in practice during the 1990s. In model checking, the property to be tested is expressed, e.g., in a simple temporal logic, and is verified by (semi)automatic methods on a system model. The aim of the course is to explain the basic principles of this (automated) verification, and to demonstrate them on models of concrete practical problems, for which suitable freely available software verification products exist.
Learning Outcomes of the Course Unit
On successful completion of the course, the student
- knows the basic notions in the area of modelling with the calculus
of communicating systems (CCS) and timed automata,
- understands the basic theory needed for modelling and verification of
systems, including the bisimulation equivalence,
- is able to express commonly tested properties of systems by temporal
logic formulas,
- manages to work with selected modelling and verification software
tools,
- is able to analyze, model and verify small practical systems (like
communication protocols).
Course Contents
Lectures:
1. Introduction. The notion of reactive systems, examples. Labelled transition systems as a basic model. Informal introduction into the language CCS (Calculus of Communicating Systems) for description of reactive systems.
2. Complete definition of the language CCS (syntax and sematics), examples. CCS with variables.
3. Behavioural equivalences (i.e., the notion of equivalent behaviour of systems). Trace equivalence. Bisimulation equivalence; bisimulation games.
4. Properties of strong bisimilarity. Internal actions. Weak bisimilarity. An example (a small communication protocol).
5. Modal logic HML (Henessy-Milner Logic); description of simple system properties.
6. The use of the abstract notion of fixpoints in complete lattices for defining semantics of recursive programs. Computation of bisimulation equivalence as a fixpoint. HM-logic with recursion; a game characterization. Correspondence of bisimulation equivalence and HM-logic.
7. Software tool CAAL (Concurrency Workbench, Aalborg Edition).
8. Solving a small project: modelling of the alternating bit protocol in CCS, and verification in CAAL.
9. Timed labelled transition systems. Timed CCS. Timed automata.
10. Timed and untimed bisimulation equivalence. Construction of regions at timed automata. HM-logic with time.
11. Software tool UPPAAL (based on timed automata). Modelling, specification, simulation and verification in UPPAAL on practical examples.
12. Solving a small project: modelling and analysis of chosen assignment in UPPAAL.
13. Information about other types of verifikation. Summary of the course. Information about the exam.

Exercises:
1. Construction of simple labelled transition systems and description in CCS.
2. Examples of small systems described in CCS. Informal discussion of (non)equivalence of their behaviours.
3. Exercising the notion of bisimilarity by bisimulation games on small transition systems.
4. Proofs of weak bisimilarity of small systems (with pencil and paper).
5. Expressing simple system properties in HM-logic.
6. Exercising semantics of recursive programs by help of fixpoint computations. Examples of HML-formulas with recursion.
7. Practical introduction of software tool CAAL. Preparation for the first small project (alternating bit protocol).
8. Finalising the project of modelling and verification of the alternating bit protocol (in CAAL).
9. Examples of small timed systems, described in timed CCS and by help of timed automata.
10. Examples of equivalent systems with respect to timed bisimulation equivalence. Computation of regions at timed automata.
11. Practical introduction of software tool UPPAAL. Preparation for the second small project.
12. Finalising the project of modelling and verification of a given problem in UPPAAL.
13. Summary of exercises and small projects; discussion regarding the exam.

Computer labs:
This is contained in the "normal" exercises.
Recommended or Required Reading
Required Reading:
1. Luca Aceto, Anna Ingólfsdóttir, Kim G. Larsen and Jiří Srba: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, August 2007.
2. Gerd Behrmann, Alexandre David, Kim G. Larsen: A Tutorial on Uppaal 4.0. Available online at https://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf [14.4.2021]
1. Luca Aceto, Anna Ingólfsdóttir, Kim G. Larsen and Jiří Srba: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, August 2007.
2. Gerd Behrmann, Alexandre David, Kim G. Larsen: A Tutorial on Uppaal 4.0. Dostupné online na https://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf [14.4.2021]

Recommended Reading:
1. Gerard J. Holzmann: The SPIN MODEL CHECKER: Primer and Reference Manual. Addison-Wesley, 2003
2. Christel Baier, Joost-Pieter Katoen: Principles of Model Checking. MIT Press, 2008.
1. Gerard J. Holzmann: The SPIN MODEL CHECKER: Primer and Reference Manual. Addison-Wesley, 2003
2. Christel Baier, Joost-Pieter Katoen: Principles of Model Checking. MIT Press, 2008.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Exercises evaluation and ExaminationCredit and Examination100 (100)51
        Exercises evaluationCredit30 (30)10
                First practical task (verification tool SPIN)Other task type15 10
                Second practical task (verification tool UPPAAL)Other task type15 10
        ExaminationExamination70 25