|
ABSTRACT
In many class-based object-oriented systems the association between as instance and a class is exclusive and permanent. Therefore these systems have serious difficulties in representing objects taking on different roles over time. Such objects must be reclassified any time they evolve (e.g., if a person becomes a student and later an employee). Class hierarchies must be planned carefully and may grow exponentially if entities may take on serveral independent roles. The problem is even more servere for object-oriented databases than for common object-oriented programming. Databases store objects over longer periods, during which the represented entities evolve. This article shows how class-based object-oriented systems can be extended to handle evolving objects well. Class hierarchies are complemented by role hierarchies, whose nodes represent role types an object classified in the root may take on. At any point in time, an entity is represented by an instance of the root and an instance of every role type whose role it currently plays. In a natural way, the approach extends traditional object-oriented concepts, such as classification, object identity, specialization, inheritance, and polymorphism in a natural way. The practicability of the approach is demonstrated by an implementation in Smalltalk. Smalltalk was chosen because it is widely known, which is not true for any particular class-based object-oriented database programming language. Roles can be provided in Smalltalk by adding a few classes. There is no need to modify the semantics of Smalltalk itself. Role hierarchies are mapped transparently onto ordinary classes. The presented implementation can easily be ported to object-oriented database programming languages based on Smalltalk, such as Gemstone's OPAL hierarchies are complemented by role hierarchies, whose nodes represent role types an object classified in the root may take on. At any point in time, an entity is represented by an instance of the root and an instance of every role type whose role in currently plays.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
Jay Banerjee , Won Kim , Hyoung-Joo Kim , Henry F. Korth, Semantics and implementation of schema evolution in object-oriented databases, Proceedings of the 1987 ACM SIGMOD international conference on Management of data, p.311-322, May 27-29, 1987, San Francisco, California, United States
|
 |
3
|
|
| |
4
|
FISHMAN, D. H., BEECH, D., CATE, H. P., CHOW, E. C., CONNORS, T., MAHBOD, B., NEIMAT, M.-A., RYAN, T. A., SHAN, M.-C., DAVIS, D. W., DERRETT, N., HOCH, C. G., KEPT, W., AND LYNGB~K, P. 1987. Iris: An object-oriented database management system. ACM Trans. Off. Inf. Syst. 5, 1, 48-69.
|
| |
5
|
|
| |
6
|
GOTTLOB, G., KAPPEL, G., AND SCHREFL, M. 1990. Semantics of object-oriented data models: The evolving algebra approach. In Next Generation System Technology, J. W. Schmidt and A. A. Stogny, Eds. Lecture Notes in Computer Science, vol. 504. Springer-Verlag, Berlin, 144-160.
|
| |
7
|
|
| |
8
|
KLAS, W., NEUHOLD, E. J., AND SCHREFL, M. 1988. On an object-oriented data model for a knowledge base. In Research into Network and Distributed Applications. North Holland, Amsterdam.
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
PAPAZOGLOU, M. P. 1991. A methodology for representing multifaced objects. In Proceedings of the International Conference on Database and Expert Systems Application. 7-12.
|
 |
13
|
|
 |
14
|
Joel Richardson , Peter Schwarz, Aspects: extending objects to support multiple, independent roles, Proceedings of the 1991 ACM SIGMOD international conference on Management of data, p.298-307, May 29-31, 1991, Denver, Colorado, United States
|
| |
15
|
SCHREFL, M. 1988. Object-oriented database integration. Ph.D. thesis, Technische Univ. Wien, Austria.
|
| |
16
|
|
 |
17
|
|
 |
18
|
Andrea H. Skarra , Stanley B. Zdonik, The management of changing types in an object-oriented database, Conference proceedings on Object-oriented programming systems, languages and applications, p.483-495, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
19
|
|
| |
20
|
|
| |
21
|
WIERINGA,R.AND JONGE, W. D. 1991. The identification of objects and roles. Tech. Rep., Faculty of Mathematics and Computer Science, Vrije Univ., Amsterdam.
|
CITED BY 39
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Simon Holland, Reflective composition: the declarative composition of roles to unify objects, roles, and aspects, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Edward K. Walters II , J. Eliot B. Moss , Trek Palmer , Timothy Richards , Charles C. Weems, CASL: A rapid-prototyping language for modern micro-architectures, Computer Languages, Systems and Structures, v.34 n.4, p.195-211, December, 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Haim I. Kilov : Reviewer"
Although it is well-known to specifiers that an object may have
several types, and that a type may be acquired and lost by an object,
this concept has not been widely used. Legacy object-oriented languages
and legacy object-oriented analysis a
more...
|