Special Topics in Software Engineering:
Formal Specification of Software
Formal methods of software engineering are the application of mathematical concepts to the specification and development of software systems. The concepts used are those of discrete mathematics: set theory, logic and whole numbers.
Formally specifying an existing system can be valuable in uncovering inconsistencies and errors, while formally specifying a new system helps avoid such problems, since mathematical proof can be used to ensure that essential properties are maintained.
Formal development is the "refinement" of an abstract specification into a concrete implementation (program), hand in hand with proving that the implementation matches its specification.
David Lightfoot, Oxford Brookes University
In order to pass this course students have to do both a written exam and a project.
The project description can be found on KUSSS. The deadline for the project will be announced later. Hand it in by e-mail to (DLightfoot@Brookes.ac.uk); make sure to include "Linz" in the subject line.
The slides and other material can be downloaded from here.