Charles Explorer logo
🇬🇧

Formal Foundations of Software Engineering

Class at Faculty of Mathematics and Physics |
NTIN043

Syllabus

1. The role of formal specifications and models in software engineering, their benefits and limitations.

2. Algebraic methods, many-sorted algebras, initial models.

3. Rewriting systems, OBJ3, Maude.

4. Model oriented methods.

5. Z language and its extensions (Objective-Z).

6. VDM method and its extensions (VDM++).

7. Introduction to Alloy language.

8. Formal foundations of UML.

9. Specification language OCL.

10. Petri nets and CPN.

11. Temporal logic. Dynamic logic.

12. Domain-specific languages.

Annotation

The role of formal specification and models in software engineering. Overview of selected methods and tools for formal description of system architecture and behavior. Examples of their usage especially in the design and validation.

Knowledge in extent of NSWI041 - Introduction to Software Engineering - is supposed.