Course Unit Code | 460-4016/01 |
---|
Number of ECTS Credits Allocated | 4 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 delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| KOT06 | Ing. 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 Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Exercises evaluation and Examination | Credit and Examination | 100 (100) | 51 |
Exercises evaluation | Credit | 30 (30) | 10 |
First practical task (verification tool SPIN) | Other task type | 15 | 10 |
Second practical task (verification tool UPPAAL) | Other task type | 15 | 10 |
Examination | Examination | 70 | 25 |