CHI '95 ProceedingsTopIndexes
Doctoral ConsortiumTOC

Conflicting Class Structures between the Object Oriented Paradigm and Users Concepts

Charles M Hymes


C.R.E.W: 701 Tappan
Room 2420 BusAd.
Ann Arbor, MI, 48109-1234, USA
Tel: 1-313-764-6715
E-mail: chymes@crew.umich.edu

© ACM

Abstract

The computer science design goals of the object- oriented paradigm may fundamentally conflict with the goal of modeling an application domain as users see it. I propose a research strategy to explore this question.

Keywords:

Object-oriented, categories, abstraction, reuse.

Introduction

It is claimed that object-oriented (OO) technology is the "Silver Bullet" that can be used to solve the software crisis [1] . Proponents of object oriented analysis, design, and programming describe how these approaches lead to systems which are faster to design, easier to build and maintain, are less complex and are more readily understood [2] . These qualities emerge from the interaction of the core features of the paradigm: encapsulation, binding data & behavior, and classification and inheritance. OO is a computer science discipline and the tools, methodologies and goals of object oriented design reflect computer science values. At the same time, OO is meant to create systems that are models of users' application domains. The increasingly popular object-oriented design techniques based on object modeling are centered on this design goal [2-5] . The domain-based object model has a "stronger equivalence" than traditional approaches [6] and hypothetically allows, systems developed using OO methods to be more easily comprehended and communicated [7] .

Most literature on the OO paradigm merely implies a relationship to cognitive structures, however, there are relevant psychological data. A good deal is known about the structure and functionality of categories and concepts people normally use [8] and other issues that are at the core of the object oriented paradigm [9-11] . But when one digests a consensus set of guidelines and recommendations from the OO literature, and builds a picture of the form well-designed object classes are supposed to take, there are substantial differences between what object classes should be, and the observed properties of the corresponding psychological structures. Given these differences, what happens when a designer is faced with the task of designing in the object oriented paradigm?

This is the focus of my dissertation research. The design constraints of OO classes should structure them differently than psychological categories. I am exploring the consequences of these differences. I expect the differences between the nature of normal human categories and concepts to create tensions wherever these differences exist. I am proposing a research program to investigate if and how those tensions manifest themselves in OO design.

DIFFERENCES BETWEEN OO CLASSES AND PSYCHOLOGICAL CATEGORIES

The categorization literature clearly shows that object classes are different from psychological categories. They differ in the rigidity of their definitions, the nature of category membership, and the distribution of the most important attributes over levels of abstraction.

Object Classes are formal categories in the classic sense, where membership in a class is completely determined by the presence or absence of features of an object. In object classes, these features are attributes which are the data structures of an object, or defined behaviors which are the internal methods or external operations the object can perform [1, 3, 6, 7] . During the design of new systems, designers are encouraged to constantly move features up in the hierarchies they design and to construct abstract generic classes which perform general operations [12] . To actually meet system goals, designers should create descendants of the generic classes and the descendants should have particular specialized values in their attributes which override their ancestors defaults [3, 7] . When adding to an existing hierarchy, designers should not edit existing classes, but should create new specialized classes that override existing features [7] . Both of these tactics will tend to generate deep and narrow object class hierarchies, with the most important attributes at high levels of abstraction. Compared to the well-defined, rigid classes of current object oriented paradigms, the psychological categories and concepts explored in research are very different. These categories are largely ill-defined and vague, organized around clusters of correlated attributes, and strongly shaped by the reasoner's goals and the context in which the reasoning occurs [8, 13] . People have "basic level" categories wherein most of the attributes of the category are found. In hierarchies of related objects, these basic level categories are an anchoring level of abstraction in which the most concrete image of the category as a whole is found. Both superordinate and subordinate classes have fewer features [11] .

RESEARCH QUESTIONS

To follow OO reuse guidelines, OO designers must create classes that are more generic by abstracting out the general attributes shared by existing specific classes, and create classes that are more specific by refining the attributes of the formerly most specific classes. According to cognitive psychology, generating new classes that are not base level categories will be difficult, especially when the new classes are more abstract than the base level. I intend to discover if this is true, and if so, what effect this difficulty has on the design of class hierarchies.

My experiments will test the hypotheses that in the design task of partitioning domain objects into class hierarchies, a) the generation of new classes that are not base level categories will be more difficult than the generation of classes that are base level categories; b) the assignment of behaviors and properties for classes that are not base level categories will also be more difficult; and c) these effects will be more pronounced for classes that are more abstract than base level categories than for classes that are more specific than base level categories.

METHODOLOGY

The first experiments will test these hypotheses by comparing the effort required for generating a more abstract class to the effort required for generating a less abstract class, independently of the effort for generating any novel class. I will assess effort by measuring how quickly and accurately subjects generate classes and assign attributes (behaviors and properties), given sample domains and specified levels of abstraction. I will also determine the implemented structure of various object oriented systems by running object oriented software metrics on existing class libraries and systems, and determining where which levels of abstraction have the most attributes.

STATUS

I have already prepared and run OO software metrics on an object library of 400 objects, and will analyze the preliminary data. I have also repeated several iterations of a training and data collection procedure I will use as my experimental method.

References

  1. 1. Cox, Brad There is a Silver Bullet. Byte , 16 , (1991). 108-110.
  2. 2. Yourdon, Edward, Object-Oriented systems design: an integrated approach. 1994, Englewood Cliffs, New Jersey: Prentice Hall.
  3. 3. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W., Object-oriented modeling and design. 1991, Englewood Cliffs, NJ: Prentice Hall.
  4. 4. Shlaer, S. and Mellor, S. J., Object-Oriented Systems Analysis: Modeling the World in Data. 1988, Englewood Cliffs, NJ: Prentice Hall.
  5. 5. Jacobson, I., Christerson, M., Johnsson, P. and Overgaard, G., Object-Oriented Software Engineering: A Use Case Driven Approach. 1992, Reading, MA: Addison- Wesley.
  6. 6. Martin, James; Odell, James, Object Oriented Analysis and Design. 1992, Englewood Cliffs: Prentice-Hall.
  7. 7. Meyer, B., Object-oriented software construction. 1988, Englewood Cliffs, NJ: Prentice-Hall.
  8. 8. Medin, Douglas L. Concepts and conceptual structure. American Psychologist , 44 , (1989). 1469-1481.
  9. 9. Johnson, Kathy E. The effect of expertise on hierarchical systems of categorization. Dissertation, Emory University, 1992
  10. 10. Adelson, Beth Comparing natural and abstract categories: A case study from computer science. Cognitive Science , 9 (4), (1985). 417-430.
  11. 11. Rosch, E., Mervis, C.B., Gray, W., Johnson, D. and Boyes-Braem, P. Basic objects in natural categories. Cognitive Psychology , 8 , (1976). 133-156.
  12. 12. Love, Tom Timeless Design of Information Systems. Object Magazine (November-December), (1991). 46.
  13. 13. Rosch, Eleanor; Mervis, Carolyn Family Resemblences: Studies in the internal structure of categories. Cognitive Psychology , 7 , (1975). 573-605.