Formal Foundations of Software Engineering

Basic information

Lectures

Labs

Assignments

Formal Foundations of Software Engineering

Semester winter 2018/2019
Lecturers Martin Nečaský
Pavel Parízek
Time and Location lecture: Fri 9:00 S9
lab: Fri 10:40 S9
Information in SIS NTIN043

The goal of this course is to provide an overview of methods and tools for the formal specification of requirements, architecture and behavior of software systems. We will show practical examples focusing especially on the design phase and validation.

This course is intended for students enrolled to the Master's programme in computer science.

Lectures

Date Topic Examples
5.10.2018 Organization & Introduction to Formal Methods  
12.10.2018 Algebraic Specification Methods and Languages  
19.10.2018 Rewriting Systems Maude examples
26.10.2018 Model-Oriented Specifications & Language Z Syntax of Z | Bank account
9.11.2018 Advanced Usage of Z: Objects & Refinement Syntax of Object-Z | Refinement
16.11.2018 Model-Based Specification in VDM Public Transport System | VDM reference
23.11.2018 Alloy: Language & Tool Factory (dynamic) | Alloy reference
30.11.2018 UML: Introduction & Class Diagrams (part 1, part 2)  
14.12.2018 Object Constraint Language (part 1, part 2)  
4.1.2019 Petri Nets  
11.1.2019 Temporal Logics | Summary  

Labs

Date Topic Examples
12.10.2018 Algebraic Specification Methods  
19.10.2018 Executable Specifications Using Maude Maude programs
26.10.2018 Model-Oriented Specifications with Z File system
9.11.2018 Realistic Case Study  
16.11.2018 Tools for VDM  
23.11.2018 Practical Experience with Alloy  
4.1.2019 Petri Nets: Tools & Examples  

Homework Assignments

Topic Deadline
Maude: ATM 23.11.2018
VDM or Alloy: smart home 31.12.2018
UML and OCL  
Colored Petri Nets or TLA+/PlusCal: online shopping 15.2.2019
Logo of Faculty of Mathematics and Physics
  • Phone: +420 951 554 267, +420 951 554 236
  • Email: info<at-sign>d3s.mff.cuni.cz
  •  
  • How to find us?
Modified on 2019-01-11