Software specification
B Durnota
4 points * 4 hours per week * First semester * Caulfield
The importance of formal methods in the development of software. Comparing property-based and model-based specifications. Algebraic specifications as a property-based formalism. Using predicate logic and set theory to codify statements about software properties. Model-based formal specification. Object-oriented formal specifications. Case studies in formal specification. Specifying abstract data types using formal specification. Refining high-level specifications into algorithms and data structures. Main algorithm design techniques. Analysing the complexity of algorithms. Using approximate algorithms. Review of important algorithms.
Assessment
Assignments: 100%
Prescribed texts
Diller A Z: An introduction to formal methods Wiley, 1990
Recommended texts
Brassard G Algorithmics. Theory and Practice Prentice-Hall, 1988
Cormen T H and others Introduction to algorithms MIT Press, 1990
Harel D Algorithics: The spirit of computing 2nd edn, Addison-Wesley, 1992
Horowitz E and Sahni S Fundamentals of computer algorithms Pitman, 1978
Potter B and others An Introduction to formal specifications and Z Prentice-Hall, 1991
van Horebeek I Algebraic specifications in software engineering Springer-Verlag, 1989
Wordsworth J B Software development with Z Addison-Wesley, 1992