Formal Specification of Software Systems (Z)



Prof. Dr. Maritta Heisel

Jens Leicht

  • Videos + Consultation hours
  • Exercises

As empirical studies have shown, software projects often fail because of unclear requirements. Therefore, software systems should be specified precisely before they are implemented. Since natural language is not precise enough for an exact specification, formal languages should be used for software specification.

In this lecture we deal with the formal specification language Z (zed), which is a model-oriented specification language, i.e. the specification consists of a model of the system under development. The construction of Z specifications follows a defined method. The lecture also deals with the refinement of data structures to reach the ones that are available in programming languages. Finally, an object-oriented extension of Z is introduced, which can formally specify classes and their interactions.

Material/Information You can find further information in the Moodle course:
Contact jens.leicht[at]