Formal Specification of Abstract Data Types
326.511, WS 2000/2001
Thu 16:30-18:00, Start: 9.11.2000
The goal of this course is to teach students of computer science and
mathematics methods for the formal specification of abstract data types and
their application in practical examples. No prerequisites apart from basic set
theory are required.
We concentrate on the approach of algebraic program specification where
concepts from universal algebra (many-sorted algebras) are used to formalize
the semantics of specifications. For rapid prototyping, we use the
in public domain for any Unix or Linux computer) in which specifications can
be directly executed. We put the presented techniques into context by
contrasting them with the alternative approach of
state-oriented specifications in the language Z.
Students are expected to elaborate exercises and to present them in class.
Because of the
late starting date, some additional classes will be scheduled.
- Many-sorted algebras
- Algebra logics
- Specifications in the small
- Specification languages
- Modularization and parameterization
- Case studies
- State-oriented specifications
- Jacques Loeckx and Hans-Dieter Ehrich and Markus Wolf
Specification of Abstract Data Types, Wiley & Teubner,
Chichester, UK, 1996.
- Ivo van Horebeek and Johan Lewi
Algebraic Specifications in Software Engineering, Springer,
Berlin, Germany, 1989.
- Narain Gehani and Andrew McGettrick (eds)
Software Specification Techniques, Addison Wesley, Wokingham, UK, 1986.
- Ataru T. Nakagawa and Toshimi Sawada and Kokichi Futatsugi
CafeOBJ User's Manual -- ver.1.4,
CafeOBJ Homepage (Romania).
- Joseph A. Goguen et al.
Introducing OBJ, Technical Report,
Programming Research Group, Oxford University, UK, October 1993.
- Ben Potter and Jane Sinclair and David Till
An Introduction to Formal Specification and Z, Second Edition, Prentice
Hall International Series in Computer Science, London, UK, 1996.
Maintainer: Wolfgang Schreiner
Last Modification: January 17, 2001