An Object Model for OOUI Design

As a Computer Artifact

  1. An object is a model for simulation models. Objects respond to messages by returning themselves or another object.
    • Unless changed as a result of a message the object's state persists for the lifetime of the object.
    • The executing process within an object may be concurrent with the executing process of other objects.
    • Objects are autonomous; the receiver of a message is responsible for invoking the associated process, or rejecting the message.
  2. Objects may be composite. The externally visible behaviour of composite objects is internally synthesized from the the behaviour of the component subparts. Composition comes in two varieties:
    • Containment: Loose coupling where the behaviour is the sum of the behaviours of the container and its component objects.
    • Constructio: Tight coupling where the behaviour is more than the sum of the behaviour of its parts. This is called "emergent" behaviour.
  3. Part of the state of each object is its class, which determines its behaviour in the sense that two objects of the same class will respond differently to the same message only if their internal states differ.
  4. A class may have subclasses (derived classes). If a class does not have a method to respond to a particular message then the method in the superclass is invoked.

    If all subclasses of a given class have processes to handle a given message then the message is a polymorphic operation.

A Cognitive Models

  1. Objects are building blocks for simulation models of the world. Objects respond to "messages" by reflecting light, reacting to touch and other actions. We infer that they have internal states from this observed behaviour.
  2. Objects may be composite. The externally visible behaviour of composite objects is made up from the behaviour of their component subobjects. Composition may be
  3. We may describe an object as a member of a class, which influences our prediction of its behaviour. We recognize an object as a member of a class by its resemblance to a prototype member of the class. Absent other evidence we predict the behaviour of a member of a class on the basis of the behaviour of the protoype.
  4. A class may have subclasses. Knowledge of behaviour common to instances of all subclasses is based on the behaviour of the superclass.

    Objects are polymorphic. We may take the same action on objects of different classes, and expect each to respond according to its own nature.

The OOUI Model Itself

  1. Users perceive and act on objects.
  2. Users can classify objects based on how they behave
  3. In the context of what users are trying to accomplish all the interface objects fit together into a coherent overall representation.

Thus, and note the parallel with the first two lists:

  1. A User interface object is a building block for simulation models of the domain the end user is interested in.
  2. User interface objects may be composite. The visible behaviour is internally synthesized form that of the compnent subobjects.
  3. Part of the state of a user interface object is its class, which determines its general behaviour. Classes can act as "templates" for the construction of new classes.
  4. A class of user interface objects may have a subclass. They key issue is whether the user recognizes the inheritance structure.

    Polymorphism can be used effectively in OOUIs to reduce the number of commands or operations that the user needs to remember.


Return to GUI home page.

Last Changed: 24 April 1995