EXTENDING OBJECT-ORIENTED SYSTEMS WITH ROLES

Citation
G. Gottlob et al., EXTENDING OBJECT-ORIENTED SYSTEMS WITH ROLES, ACM transactions on information systems, 14(3), 1996, pp. 268-296
Citations number
21
Categorie Soggetti
Information Science & Library Science","Computer Science Information Systems
ISSN journal
10468188
Volume
14
Issue
3
Year of publication
1996
Pages
268 - 296
Database
ISI
SICI code
1046-8188(1996)14:3<268:EOSWR>2.0.ZU;2-1
Abstract
In many class-based object-oriented systems the association between aa instance and a class is exclusive and permanent. Therefore these syst ems have serious difficulties in representing objects taking an differ ent roles over time. Such objects must be reclassified any time they e volve (e.g., if a person becomes a student and later an employee). Cla ss hierarchies must be planned carefully and may grow exponentially if entities may take an several independent roles. The problem is even m ore severe far object-oriented databases than for common object-orient ed programming, Databases store objects over longer periods, during wh ich the represented entities evolve, This article shows how class-base d object-oriented systems can be extended to handle evolving objects w ell. Class hierarchies are complemented by role hierarchies, whose nod es 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 r oot and an instance of every role type whose role it currently plays, In a natural way, the approach extends traditional object-oriented con cepts, such as classification, object identity, specialization, inheri tance, and polymorphism in a natural way. The practicability of the ap proach is demonstrated by an implementation in Smalltalk. Smalltalk wa s chosen because it is widely known, which is net true for any particu lar class-based object-oriented database programming language. Boles c an be provided in Smalltalk by adding a few classes. There is no need to modify the semantics of Smalltalk itself. Role hierarchies ape mapp ed transparently onto ordinary classes. The presented Implementation c an easily be ported to object-oriented database programming languages based on Smalltalk such as Gemstone's OPAL.