460-4016/02 – Modeling and Verification (MaV)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Martin Kot, Ph.D. | Subject version guarantor | Ing. Martin Kot, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | 1 | Semester | summer |
| | Study language | English |
Year of introduction | 2015/2016 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
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).
Teaching methods
Lectures
Tutorials
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.
Compulsory literature:
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]
Recommended literature:
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.
Way of continuous check of knowledge in the course of semester
Solving and discussing the written tasks for each tutorial.
Elaborating two miniprojects with assistence, finished by creating files used as input for verification tools.
Final exam (oral, with a written preparation).
E-learning
Electronic materials underlying the lectures and tutorials, pointers to software tools, and futher information are accessible from the course web-page.
Other requirements
No additional requirements are placed on the student.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
Introduction. The notion of reactiveLectures:
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. systems, examples.
Labelled transition systems as a basic model.
Informal introduction into the language CCS (Calculus of
Communicating Systems) for description of reactive systems.
Complete definition of the language CCS (syntax and sematics),
examples. CCS with variables.
Behavioural equivalences (i.e., the notion of equivalent behaviour
of systems). Trace equivalence. Bisimulation equivalence; bisimulation
games.
Properties of strong bisimilarity. Internal actions. Weak
bisimilarity. An example (a small communication protocol).
Modal logic HML (Henessy-Milner Logic); description of simple system
properties.
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.
Software tool CAAL (Concurrency Workbench, Aalborg Edition).
Solving a small project: modelling of
the alternating bit protocol in CCS, and verification in CAAL.
Timed labelled transition systems.
Timed CCS. Timed automata.
Timed and untimed bisimulation equivalence.
Construction of regions at timed automata.
HM-logic with time.
Software tool UPPAAL (based on timed automata).
Modelling, specification, simulation and verification in UPPAAL on
practical examples.
Solving a small project: modelling and analysis of
chosen assignment in UPPAAL.
Information about other types of verifikation.
Summary of the course. Information about the exam.
Exercises:
Construction of simple labelled transition systems and description
in CCS.
Examples of small systems described in CCS.
Informal discussion of (non)equivalence of their behaviours.
Exercising the notion of bisimilarity by bisimulation games on
small transition systems.
Proofs of weak bisimilarity of small systems (with pencil and
paper).
Expressing simple system properties in HM-logic.
Exercising semantics of recursive programs by help of fixpoint
computations. Examples of HML-formulas with recursion.
Practical introduction of software tool CAAL.
Preparation for the first small project (alternating bit protocol).
Finalising the project of modelling and verification
of the alternating bit protocol (in CAAL).
Examples of small timed systems,
described in timed CCS and by help of timed automata.
Examples of equivalent systems with respect to timed bisimulation
equivalence. Computation of regions at timed automata.
Practical introduction of software tool UPPAAL.
Preparation for the second small project.
Finalising the project of modelling and verification
of a given problem in UPPAAL.
Summary of exercises and small projects; discussion regarding the
exam.
Computer labs:
This is contained in the "normal" exercises.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.