How to Make Algebraic Specifications More Understandable: An Experiment with the PLUSS Specification Language

Abstract This paper relates an experiment in writing an algebraic specification of a rather complex example, namely a subset of the UNIX 1 file system. The PLUSS specification language, which is used for this experiment, provides a set of linguistic features which allow the modularization of such specifications and the definition of a flexible and convenient syntax for expressions and axioms (such as mixfix operators, overloading, coercions). This experiment was a way for evaluating the adequacy of these features to several criteria: mainly legibility and understandability, but also reusability of specifications. The paper presents the specification and discusses it with respect to these important points.