Carleton University
Technical Report TR-108
February 1987

Designing Families of Data Types Using Exemplars

Wilf R. LaLonde

Abstract

With the increasing availability of object-oriented languages and processors, a small but expanding community of users is gaining experience with the object-oriented paradigm. Since designing classes is often viewed as synonymous with designing abstract data types, there is every expectation that users experienced with abstract data type design will adapt easily to designing classes. Unfortunately, there is a growing awareness that the realty is contrary to the expectation; i.e., data type designing in a system with
inheritance is far more difficult than traditional books on data structures and data types have suggested. In object-oriented systems, designing is sometimes (but only rarely) concerned with the development of individual data types. It is more often concerned with the development of highly integrated families of data types and more generally communities of totally different but cohesive collections of data types that support specific applications; e.g., a compiler to pick a well-studied example.

TR-108.pdf