Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The management of changing types in an object-oriented database
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Semantics and implementation of schema evolution in object-oriented databases
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Object flavor evolution in an object-oriented database system
COCS '88 Proceedings of the ACM SIGOIS and IEEECS TC-OA 1988 conference on Office information systems
ACM Transactions on Information Systems (TOIS)
Schema evolution in object-oriented database systems
Data & Knowledge Engineering
COCS '90 Proceedings of the ACM SIGOIS and IEEE CS TC-OA conference on Office information systems
Aspects: extending objects to support multiple, independent roles
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
The GemStone object database management system
Communications of the ACM
Object-oriented analysis and design
Object-oriented analysis and design
Object Class Definition by Generalization Using Upward Inheritance
Proceedings of the Fourth International Conference on Data Engineering
Proceedings of the Seventh International Conference on Data Engineering
Dynamic Constraints and Object Migration
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
An Object Data Model with Roles
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Clovers: The Dynamic Behavior of Types and Instances
Clovers: The Dynamic Behavior of Types and Instances
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
RBAC support in object-oriented role databases
RBAC '97 Proceedings of the second ACM workshop on Role-based access control
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A collaboration specification language
Proceedings of the 2nd conference on Domain-specific languages
A framework for workflow management systems based on objects, rules and roles
ACM Computing Surveys (CSUR)
PIROL: a case study for multidimensional separation of concerns in software engineering environments
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Emancipating instances from the tyranny of classes in information modeling
ACM Transactions on Database Systems (TODS)
Improving the agent-oriented modeling process by roles
Proceedings of the fifth international conference on Autonomous agents
Design and implementation of a flexible RBAC-service in an object-oriented scripting language
CCS '01 Proceedings of the 8th ACM conference on Computer and Communications Security
Evolvable programming based on collaboration-field and role model
Proceedings of the International Workshop on Principles of Software Evolution
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Research Frontiers in Object Technology
Information Systems Frontiers
An integrated object-role oriented database model
Data & Knowledge Engineering
Data & Knowledge Engineering
A component-based Petri net model for specifying and validating cooperative information systems
Data & Knowledge Engineering
IEEE Software
View Operations on Objects with Roles for a Statically Typed Database Language
IEEE Transactions on Knowledge and Data Engineering
Proceedings of the 2nd international conference on Aspect-oriented software development
Roles and Aspects: Similarities, Differences, and Synergetic Potential
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Object Schizophrenia Problem in Object Role System Design
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
GIS Databases: From Multiscale to MultiRepresentation
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
Objects with Multiple Most Specific Classes
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
A Generic Role Model for Dynamic Objects
CAiSE '02 Proceedings of the 14th International Conference on Advanced Information Systems Engineering
A Publish/Subscribe Framework: Push Technology in E-Commerce
BNCOD 17 Proceedings of the 17th British National Conferenc on Databases: Advances in Databases
ECOOP '00 Proceedings of the Workshops, Panels, and Posters on Object-Oriented Technology
Contextualization as an Abstraction Mechanism for Conceptual Modelling
ER '99 Proceedings of the 18th International Conference on Conceptual Modeling
An Approach to Agent Communication Based on Organisational Roles
CIA '02 Proceedings of the 6th International Workshop on Cooperative Information Agents VI
An enhanced role model for alleviating the role-binding anomaly
Software—Practice & Experience
Enhancing Object-Based System Composition through Per-Object Mixins
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Eos: instance-level aspects for integrated system design
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Accessee controlled type selection for a multiple-type object
Proceedings of the 2003 ACM symposium on Applied computing
On the road to behavior-based integration
APCCM '04 Proceedings of the first Asian-Pacific conference on Conceptual modelling - Volume 31
A role model and its metaclass implementation
Information Systems
Reflective composition: the declarative composition of roles to unify objects, roles, and aspects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Technology supporting business solutions
An adaptive object model with dynamic role binding
Proceedings of the 27th international conference on Software engineering
Using roles and business objects to model and understand business processes
Proceedings of the 2005 ACM symposium on Applied computing
powerJava: ontologically founded roles in object oriented programming languages
Proceedings of the 2006 ACM symposium on Applied computing
Modal logic & ownership types: uniting three worlds
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Object-based and class-based composition of transitive mixins
Information and Software Technology
XOTcl: an object-oriented scripting language
TCLTK'00 Proceedings of the 7th conference on USENIX Tcl/Tk - Volume 7
A collaboration specification language
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
Evolving objects in temporal information systems
Annals of Mathematics and Artificial Intelligence
Class synthesis from role collaborations
ISEC '08 Proceedings of the 1st India software engineering conference
CASL: A rapid-prototyping language for modern micro-architectures
Computer Languages, Systems and Structures
Tailoring information systems: an approach based on services and service composition
International Journal of Information Technology and Management
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
Types for Proofs and Programs
Modeling Complex Relationships
DEXA '09 Proceedings of the 20th International Conference on Database and Expert Systems Applications
Modeling context-dependent information
Proceedings of the 18th ACM conference on Information and knowledge management
ER '09 Proceedings of the 28th International Conference on Conceptual Modeling
ER '09 Proceedings of the 28th International Conference on Conceptual Modeling
Roles as a Coordination Construct: Introducing powerJava
Electronic Notes in Theoretical Computer Science (ENTCS)
A comparison of design patterns and roles in the context of behavioural evolution
PCI'01 Proceedings of the 8th Panhellenic conference on Informatics
A reusable design artifacts managing framework for e-business systems
CSCWD'06 Proceedings of the 10th international conference on Computer supported cooperative work in design III
An architecture for C-commerce system design
ICCSA'03 Proceedings of the 2003 international conference on Computational science and its applications: PartII
Temporal constraints for object migration and behavior modeling using colored petri nets
ER'00 Proceedings of the 19th international conference on Conceptual modeling
The viewpoint abstraction in object-oriented modeling and the UML
ER'00 Proceedings of the 19th international conference on Conceptual modeling
ER'07 Proceedings of the 26th international conference on Conceptual modeling
An approach for structural pattern composition
SC'07 Proceedings of the 6th international conference on Software composition
The pragmatics of software agents: analysis and design of agent communication languages
Intelligent information agents
Domain-specific composition of model deltas
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
Role models—implementation-based approaches to using roles
Software—Practice & Experience
Proceedings of the 33rd International Conference on Software Engineering
Engineering web applications using roles
Journal of Web Engineering
Connecting keywords through pointer paths over the web
Proceedings of the 2005 international conference on Federation over the Web
Extended virtual type for a multiple-type object with repeating types
KES'06 Proceedings of the 10th international conference on Knowledge-Based Intelligent Information and Engineering Systems - Volume Part II
Concern-based development of pattern systems
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
CIT'04 Proceedings of the 7th international conference on Intelligent Information Technology
Generic relationships in information modeling
Journal on Data Semantics IV
Conceptual modelling patterns for roles
Journal on Data Semantics V
Designing application domain models with roles
MDAFA'03 Proceedings of the 2003 European conference on Model Driven Architecture: foundations and Applications
A role model for description of agent behavior and coordination
ESAW'05 Proceedings of the 6th international conference on Engineering Societies in the Agents World
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
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.