Abstract

In this article, we argue that object‐oriented models must be able to represent three kinds of taxonomic structures: static classes, dynamic classes, and role classes, that behave differently with respect to object migration. If CAR is a static subclass of VEHICLE, then a vehicle that is not a car can never migrate to the CAR subclass. On the other hand, if EMPIoyee is a dynamic subclass of the PERSON object class, then a PERSON that is not an employee may migrate to EMP. In both cases, an instance of the subclass is identical to an instance of the superclass. By contrast, if EMP is modeled as a role class of PERSON, then every employee differs from every person, but a PERSON instance can acquire one or more EMP instances as roles. The distinctions between the three kinds of classes are orthogonal, so that we can have, for example, dynamic subclass of object or role classes, or role classes of dynamic or static classes.The article is divided into two parts. In the first, informal part, we present an analysis of the differences between the three kinds of classes and motivate their utility by a number of examples. We argue that the inheritance of object life cycles is downward in the static class hierarchy and upward in the dynamic class hierarchy. We summarize this analysis by giving a number of modeling heuristics that can be used to make sound modeling decisions, and we compare our approach to class migration with other approaches.In the second, formal part of the article, we outline one possible approach to formalizing the specification of static classes, dynamic classes, role classes and class migration, based on order‐sorted dynamic logic and process algebra. We illustrate this approach by giving a number of small example specifications and by proving some useful properties of these specifications. This article is an updated and extended version of (Wieringa et al., 1994).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call