Schedule: 19.02.2018 - 18.05.2018
Teaching Period (valid 01.08.2018-31.07.2020):
IV-V (autumn) 2018 - 2019
IV-V (autumn) 2019 - 2020
Learning Outcomes (valid 01.08.2018-31.07.2020):
After completing the course, a student will understand: benefits of formal methods application for automation systems analysis and synthesis; correctness of system's behaviour, compliance with performance and safety requirements; formal modelling of cyber-physical systems, including code-based model generation; formal synthesis of discrete event systems.
Content (valid 01.08.2018-31.07.2020):
The students will acquire theoretical background and practical experience of formal methods application for validation and synthesis of hardware, software and reactive embedded systems
Details on the course content (applies in this implementation):
- Formal methods in automation and the scope of their use, their application for safety-critical systems.
- Modelling of cyber-physical systems, including modelling of plants, controllers, distribution and modularity.
- Specifying safety and correctness of systems using finite-state machines.
- Formal specification languages: LTL, CTL.
- Formulating natural language requirements in LTL and CTL.
- Formal verification of safety and correctness by means of model checking, basic ideas behind model checking algorithms.
- Software tools to model and model-check automation systems: UPPAAL, NuSMV.
- User-friendly model checking.
- Advanced modelling of time: timed automata, timed temporal logics.
- Formal synthesis: supervisory controller synthesis, LTL synthesis (including work with the tool G4LTL-ST).
The course comprises lectures, exercise sessions and individual work.
The main aim of the course is to develop skills of ensuring safety and correctness of industrial automation systems using formal methods such as model checking and formal synthesis. After completing the course, a student will understand:
- the benefits of applying formal methods of automation systems analysis and synthesis;
- formal modelling of cyber-physical systems as modular systems composed of finite-state machines;
- means of formally specifying safety and correctness of automation systems;
- means of checking such formal specification automatically with software tools;
- means of automatic generation of formal models based on specification.
Assessment Methods and Criteria (valid 01.08.2018-31.07.2020):
The course is problem solving driven. The students will receive necessary knowledge for the problem solution via lectures and reading. The students will acquire practical skills of software tools during lab exercises. Exam.
Elaboration of the evaluation criteria and methods, and acquainting students with the evaluation (applies in this implementation):
The major part of the course grade is the result of completing individual assignments. These assignments are often based on practical skills (e.g. working with software tools, modelling) obtained on exercise sessions and theoretical knowledge given on lectures. The exam assesses both theoretical knowledge and practical skills.
Workload (valid 01.08.2018-31.07.2020):
Lectures 10. Reading 5. Individual problem solving 40. Laboratory sessions in small groups 5. Team work 20. Tutorials and other supervised activity in PC classroom, including audits 12. Report preparation and final audit 20. Reflection 20.
Contact hours: 30
Independent study: 100
Study Material (valid 01.08.2018-31.07.2020):
Slides and handouts
Course Homepage (valid 01.08.2018-31.07.2020):
Prerequisites (valid 01.08.2018-31.07.2020):
Required: Automation 1 and 2 or similar knowledge. Software development practice. Useful: Discrete mathematics
Grading Scale (valid 01.08.2018-31.07.2020):
Further Information (valid 01.08.2018-31.07.2020):
language class 3: English