logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Automated Software Engineering

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Special Topics in Software Engineering:

Formal Specification and Development of Software

339.305 2KV Lightfoot Block

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.

Lecturer

David Lightfoot, Oxford Brookes University
DLightfoot@Brookes.ac.uk

Dates

Date Time Room
Mo, 10.5.2010 12:45 - 18:00 UC 5
Tu, 11.5.2010 12:45 - 18:00 KHG I
We, 12.5.2010 12:45 - 18:00 KHG I
Fr, 11.6.2010 13:45 - 15:15 HS 15 (Klausur)

Contents

  1. Introduction
  2. Example of a formal specification in Z
  3. Set theory
  4. Z schemas
  5. Cartesian products and relations
  6. Functions and sequences
  7. Example of specification
  8. Refinement
  9. Formal development introduction
  10. Specifying at program level: pre- and post-conditions
  11. Selections
  12. Repetitions and invariants
  13. Proving termination: bound functions
  14. Examples of formally developed programs
  15. Summary

Exam

In order to pass this course students have to do both a written exam and a project.

Downloads

Slides.zip
Project2009

Literature

  • Jim Woodcock, Jim Davies: Using Z. Prentice Hall International, 1996
  • David Gries: The Science of Programming. Springer, 1981
  • David Lightfoot: Formal Specification Using Z (2nd ed.), Palgrave, 2001