An Automaton-Theoretic View of Algebraic Specifications

Elad Lahav · UWSpace (University of Waterloo) · 2005

I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii We compare two methods for software specification: algebraic specifications and automata. While algebraic specifications have been around since the 1970s and have been studied extensively, specification by automata is relatively new. Its origins are in another veteran method called trace assertions, which considers a software module as a set of traces, that is, a sequences of function executions. A module is specified by a set of canonical traces and an equivalence relation matching one of the canonical traces to each non-canonical trace. It has been recently shown that trace assertions is an equivalent method to specification by automata. In continuation of this work on trace assertions and automata, we study how automata compare with algebraic specifications. We prove that every specification using an automaton can be converted into an algebraic specification describing the same abstract data type. This conversion utilises a set of canonical words, representing states in the automaton. We next consider varieties of monoids as a heuristic for obtaining more concise algebraic specifications from automata. Finally, we discuss the opposite conversion of algebraic specifications into automata. We show that, while an automaton always exists for every abstract data type described by an algebraic specification, this automaton may not be finitely describable and therefore may not be considered as a viable method for software specification. iii Acknowledgements I would like to thank my supervisor, Prof. John Brzozowski, for his invaluable help in writing this thesis, as well as for supporting my work, both academically and financially. I would also like to thank the University of Waterloo, the School of Computer Science, for presenting me with the opportunity and the means to pursue my interests. Finally, I would like to thank the members of the committee: Daniel Berry,

Read the paper · More papers on PaperTik