next up previous
Next: Inheritance mechanism of Up: SPELL Previous: SPELL

Type-level and instance level attributes

Each type is characterized by the set of attributes and their respective values. An attribute can be described as:

  1. Its level: type or instance.
  2. An attribute name: a string which identifies the attribute uniquely.
  3. A domain: the ``type'' (in the general and classical sense of the term) of the values that attributes can assume. There is a predefined set of possible domains: The last four domains are self explanatory.
  4. A value: the initial value of the attributes (which accords with its domain).

Type-level attributes express the type information which determines the structure and the value of all of the instances sharing that type. The domain of an attribute is not modifiable in any case. The value of a type-level attribute cannot be modified either, even though it is possible to redefine it when a subtype is created.
Instance-level attributes express the state of an instance during execution. These attributes may be modifiable, even though their structure is the same for all the instances of the same type.
A type also provides for the definition of type-level and instance-level procedures. These correspond to ``methods'' in the classical object-orientation paradigm. Type-level procedures deal with the creation and the modification of the type itself. Their instance-level counterparts manipulate the derivated instances. Two classical aspects of object-orientation are present:

next up previous
Next: Inheritance mechanism of Up: SPELL Previous: SPELL

Passani Luca
Mon Feb 20 21:59:27 MET 1995