An Oxford survey of order sorted algebra (abstract)


Types are a fundamental organising principle in modern Computing Science, including not only programming and specification languages, but also database languages, knowledge representation languages, and more. Algebraic specification techniques model types through the systematic use of sorts, and in this context, it is natural to model subtypes with subsorts. Following earlier works, the study of algebras with subsorts is called order sorted algebra (abbreviated OSA). Many different variants of OSA have been developed, and here we compare some of the main approaches, emphasising motivation and intuitions, rather than proofs, and pointing out issues that distinguish the original ``overloaded'' OSA approach from some later developments. We have deliberately given an unusually large of number of examples, in the belief that this can greatly help the reader who is not an expert in this area. These illustrations use the OBJ3 language, and in fact, all the OBJ code in the source file for this paper has actually been executed, and most of the output is also included. In addition, we present some new results about overloaded OSA and about Mosses's unified algebra.

We emphasize the following points: (1) overloaded OSA can be developed with minimal assumptions on signatures and algebras, and in particular, without monotonicity or regularity; (2) it is useful to distinguish between strong and weak forms of overloading; in the latter, a given expression can have at most one value in a given algebra, even though it may have several distinct parses; (3) strong overloading is needed for certain important Computing Science applications of OSA, including dynamic binding in object oriented programming, and operations on data with multiple representations; (4) it seems to be much more difficult to establish certain basic mathematical properties of (what we call) universe OSA than of overloaded OSA; for example, it is not currently known whether or not universe OSA satisfies the Birkhoff variety theorem; and (5) sort constraints and retracts greatly increase the expressive and computational power of OSA.
back to Selected Publications