What's in an Instance?

[Next] [Previous] [Top]


4 The Instance Anomaly

We have shown that I1 is an important restriction because problems arise when it is violated in modeling a domain, and that I2 is an essential inference in most modeling languages. There are modeling tasks, however, in which the intuitive representation seems to call for the dismissal of either I1 or I2.

Consider adding to the objects shown in Figure 4 the object species, the class of animal species. The intuitive representation of this object would be as a class, of which eagle is an individual, since eagle is a specific species and we can envision properties of the individuals of the class species (such as the species population growth rate and whether or not the species is endangered) applying to eagle. For example, it is reasonable to say, "The eagle is endangered," and this is understood to apply not to individuals of the class of eagles, but to the class itself. The fact that eagles are endangered does not mean that any particular eagle, such as Harry, is endangered. The resulting representation is illustrated in Figure 4, and is a clear violation of I1 since eagle is both a class (of which Harry is an instance) and an instance of the class species.

To avoid violating I1 another representation would make species a superclass of eagle. This representation is shown in Figure 6, and while it satisfies I1, the application of I2 produces undesirable results: Harry will be an instance of species. This violates our interpretation of the object Harry; he is an eagle and a bird, but he is not a species. This is more than a minor interpretation problem since, as an individual of the class species, Harry will have the properties associated with individuals of that class. It does not make any sense at all to talk about the rate of population growth for Harry.

A third approach to modeling these objects would be to represent species as a class which has a new object, the eagle, as an instance. This approach is shown in Figure 7, and seems to satisfy I1 since no object is represented as a class and an instance, and there is no connection between species and Harry. There are serious problems with this approach, however, especially in the interpretation. The class of eagles is a single object which is broken into two parts, one part the eagle, represents an instance of species and has the properties of such instances. The other part, eagle, represents the class which describes instances such as Harry. It is absolutely unclear what the relationship between the eagle and eagle should be, yet they represent the same domain object. In addition, Harry and the eagle are both individuals in this universe, but their interpretation as individuals is different - the eagle does not exist in the same way that Harry does.


What's in an Instance? - 01 MAY 95
[Next] [Previous] [Top]

Generated with CERN WebMaker