An Object Model for OOUI Design
As a Computer Artifact
- 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.
- 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.
- 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.
- 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
- 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.
- Objects persist and do not vanish arbitrarily,
- Objects are active simultaneously with the activity of
other objects,
- Objects autonomously determine their own behaviour.
- Objects may be composite. The externally visible behaviour of
composite objects is made up from the behaviour of their component subobjects.
Composition may be
- Containment, for example the set of objects in a box, where
composite behaviour is the sum of the behaviour of the container and
its contained objects.
- Construction, for example a clock or an engine, where
the composite behaviour "emerges" from the behaviour of the components.
Subobjects in a construction appear less autonomous than in a
container.
- 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.
- 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
- Users perceive and act on objects.
- Users can classify objects based on how they behave
- In the context of what users are trying to accomplish
all the interface objects fit together into a coherent overall
representation.
- Objects contain other objects. For example a filing cabinet contains
drawers, which contain folders, which contain documents.
- Objects are constructed from other objects. For example
a window on a display is built from a title bar, a border, scroll
bars etc.
Thus, and note the parallel with the first two lists:
- A User interface object is a building block for
simulation models of the domain the end user is interested in.
- The nature of he simulation determines the appropriate
lifetime for any user interface object.
- The executing process within an object may be concurrent
with the executing processes within other objects.
- User interface objects are autonomous. Users expect anything
that they identify as an object to have its own behaviour.
- User interface objects may be composite. The visible behaviour is
internally synthesized form that of the compnent subobjects.
- Containers may be tyoed to hold only certain tpye of objects but the
type must be clear to the user.
- Construction constrains autonomy.
- 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.
- 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