SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Formal Foundations of Software Engineering - NTIN043
Title: Formální základy softwarového inženýrství
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Additional information:
Guarantor: doc. RNDr. Pavel Parízek, Ph.D.
Class: Informatika Mgr. - volitelný
Classification: Informatics > Software Engineering, Theoretical Computer Science
Annotation -
Last update: RNDr. Michal Kopecký, Ph.D. (26.04.2019)
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.
Literature -
Last update: Tajemník Katedry (29.04.2015)

I. Sommerville: Software Engineering. 8th ed., Pearson Education. ISBN 0-321-31379-8, 2007.

D. Bjorner et al.: Logics of Specification Languages. Springer, 2008.

J. Goguen et al.: Introducing OBJ3. SRI-CSL-88-9, SRI International, USA, 1988.

J.M. Spivey: The Z Notation: A Reference Manual. 2nd ed., Prentice Hall, 1992.

C.B. Jones: Systematic Software Development using VDM. Prentice Hall, 1990.

K. Jensen: Coloured Petri Nets. Springer Verlag.

The Maude System:

David Bednárek: Materiály k předmětu TIN043. 2006.

Syllabus -
Last update: Tajemník Katedry (29.04.2015)

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.

Charles University | Information system of Charles University |