=ADD= =reftype= 14 =number= 99-10 =url= ftp://ftp.risc.uni-linz.ac.at/pub/techreports/1999/99-10.ps.gz =year= 1999 =month= 04 =author= Caruso; Fabrizio + Schneider; Carsten + Van De Weyer; Geert + Schreiner; Wolfgang =title= A Student Dictionary System =abstract= In this paper we present a detailed case study of formal systems specification with the aid of the term rewriting system cafeOBJ. The software system we use for this case study is a rather straightforward and uncomplicated system that we call a "Student Dictionary System". This is basically an electronic dictionary that has some functions allowing its users to test their knowledge of the vocabulary of a certain language. We demonstrate, using this example, how an informal notion of the functionality of a software system is translated into a formal formulation of the functionality of this software system using notions from the theory of formal systems specification. Furthermore, we demonstrate how implementing this formal specification in a term rewriting language helps the software designer to test the current functionality of his or her system and in that way helps him or her to resolve ambiguities in the initial design of the system. =keywords= algebraic specifications, formal methods, software engineering, cafeOBJ