Algebraic specification

For describing design specifications in an algebraic style the kernel language ASL [Sann 83] and their dialects RAP [Gese 86] and OS [Breu 91] are used. ASL provides a few simple but powerful specification operators for writing specifications in a structured way and posesses a well developed theory for transforming specification expressions and proving properties in a structured way. RAP allows to write hierarchical specifications and is embedded in a convenient development environment. OS integrates object oriented features into ASL and is well-suited for specifying object oriented programs.

Algebraic specifications do not support dependent types and therefore are less expressive than type theoretic descriptions. Advantages of algebraic specifications are that they are abstract, easy to manipulate and that they have a well-developed theory together with good programming environments.