Foundations of Information Systems Specification and Design, H.-D. Ehrich, A. Sernadas, and J.A. Goguen (eds.), Dagstuhl Seminar Report No. 35, International Conference and Research Center for Computer Science, Wadern, Germany (1992)

Functional Object-Oriented Design (FOOD) 1

T.H. Tse 2 and Joseph A. Goguen 3


Object-oriented analysis and design methodologies are considered as the most popular software development methods for the 1990s. The informal graphical notations, mostly based on structured methodologies popular in the 1980s, are widely accepted by practitioners. On the other hand, a number of formal object-oriented specification languages have been proposed, helping users to verify the correctness of the specification and implementation. They are, however, far from popular to systems designers in the industry.

Functional Object-Oriented Design (FOOD) is an attempt to provide a bridge between the popular object-oriented graphical notations and Functional Object-Oriented Programming System (FOOPS), which is a formal object-oriented programming language with formal algebraic semantics. We propose a set of graphical notations and methodology guidelines. The static relationships in a system, such as classes, data types, methods, attributes, functions, modules and inheritance, are specified in a notation based on data flow diagrams and enhanced entity-relationship diagrams. Behavioral properties of the system are defined by state-transition diagrams, multi-level data flow diagrams and object structure charts. All of these representations can be mapped directly into the corresponding declaration statements and axioms in FOOPS.

1. Part of this research was done at the Programming Research Group, University of Oxford under an SERC Visiting Fellowship. The research was also supported in part by a Research and Conference Grant of The University of Hong Kong.
2. Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong.
3. Deceased. Formerly with the Programming Research Group, University of Oxford.


  Cumulative visitor count