Objectives

This section gives an introduction to an algebraic approach to abstract data types and objects. It first presents an example of an algebraic specification and then deals with the notions of signature, generator universe and equivalence classes. The meaning of an algebraic specification is characterized as a collection of mathematical models, of which the initial model may be considered the preferred model. Finally, we explain how objects allowing for dynamic state changes may be characterized as algebras.

Points to emphasize

Hints

The intuition underlying an algebraic approach to abstract data types is simply that a type may considered to be a collection of related functions that define the elements of the type. These functions are defined by equations, that may operationally be regarded as rewrite rules.

Questions

  1. What is a signature? What distinction can you make between the various functions specified in a signature?
  2. What is an initial model? What properties does such a model satisfy?
  3. How would you characterize the meaning of an object with dynamic state changes in an algebraic fashion?

Comments

Abstract data types are an important topic in computer science and software engineering. Although objects may be given an algebraic interpretation, the distinction between ordinary data types and objects is clearly reflected in the additional formal machinery needed to model dynamic state changes.