Several objects exhibit collaborative behavior if they act together in answering a message they have received jointly. Collaborative behavior is defined by cooperation contracts which are established between several object classes and which declare a set of cooperative methods. A cooperative method is invoked by a cooperative message sent to a tuple of instances, one for each object class in the cooperation contract. This extends the traditional message passing paradigm which requires the receiver of a message to be a single object only. Cooperation contracts offer several benefits for behavior modeling in objectoriented database design. Behavior provided by several object classes in concert needs not be dispersed and can be defined in a single place. Therefore, behavior designs become symmetric, better maintainable and better extensible. Cooperation contracts can easily be made available as beneficial modeling construct in existing object-oriented database management systems by adding a few classes. This paper presents such an extension based on the commercial object-oriented database management system GemStone.
|
1555
|
Object-oriented modelling and design
– Rumbaugh, Blaha, et al.
- 1991
|
|
1161
|
Smalltalk-80: The Language and its Implementation
– Goldberg, Robson
- 1983
|
|
1095
|
The entity-relationship model: toward a unified view of data
– Chen
- 1976
|
|
378
|
The ObjectStore database system
– Lamb, Landis, et al.
- 1991
|
|
320
|
Zdonik: The Object-Oriented Database System Manifesto
– Atkinson, Bancilhon, et al.
|
|
294
|
The annotated C++ reference manual
– Ellis, Stroustrup
- 1990
|
|
159
|
Object-oriented multi-methods in cecil
– Chambers
- 1992
|
|
154
|
Logic and the challenge of computer science
– Gurevich
- 1987
|
|
118
|
Objectoriented Systems Analysis: A Model-Driven Approach
– Embley, Kurtz, et al.
- 1992
|
|
117
|
The GemStone object database management system
– Butterworth, Otis, et al.
- 1991
|
|
114
|
Contracts: Specifying Behavioral Compositions in Object-Oriented Systems
– Helm, Holland, et al.
- 1990
|
|
114
|
Assuring good style for object-oriented programs
– Lieberherr, Holland
- 1989
|
|
107
|
Relations as Semantic Constructs in an Object-Oriented Language
– Rumbaugh
|
|
105
|
Architecture of the ORION NextGeneration Database System
– Kim, Garza, et al.
- 1990
|
|
100
|
A Laboratory for Teaching ObjectOriented Thinking
– Beck, Cunningham
- 1989
|
|
78
|
A simple technique for handling multiple polymorphism
– Ingalls
- 1986
|
|
73
|
Static Type Checking of Multi-Methods
– Agrawal, DeMichiel, et al.
- 1991
|
|
69
|
The O2 system
– Deux
- 1991
|
|
58
|
Inheritance and the development of encapsulated software components
– Snyder
- 1987
|
|
50
|
Multi-methods in a statically-typed programming language
– Mugridge, Hamer, et al.
- 1991
|
|
48
|
Object/Behavior Diagrams
– Kappel, Schrefl
- 1991
|
|
46
|
Object-oriented specification of reactive systems
– J£rvinen, Kurki-Suonio, et al.
- 1990
|
|
37
|
Disciplined inheritance
– Sakkinen
- 1989
|
|
29
|
Modellling communication between cooperative systems
– Dignum, Weigand
- 1995
|
|
24
|
Encapsulation, Reusability and Extensibility in Object-Oriented Programming Languages
– Micallef
- 1988
|
|
19
|
Activities: Abstractions for Collective Behavior
– Kristensen, May
- 1996
|
|
17
|
Object-Oriented Database Systems: The Next Miles of the Marathon
– Dittrich
- 1990
|
|
16
|
The design of a specification language for reactive systems
– Jarvinen
- 1992
|
|
14
|
An Object Modelling Technique for Conceptual Design
– Loomis, Shah, et al.
- 1987
|
|
10
|
Behavior modeling by stepwise refining behavior diagrams
– Schrefl
- 1990
|
|
9
|
Object-Oriented Programming
– Keene
- 1988
|
|
7
|
Transverse Activities: Abstractions in Object-Oriented Programming
– Kristensen
- 1993
|
|
5
|
Reorganizing Object Behavior by Behavior Composition - Coping with Evolving Requirements in Office Systems
– Kappel
- 1991
|
|
4
|
A Design Tool For Object Oriented Databases
– Bouzeghoub, M'etais
- 1990
|
|
2
|
on the Entity-Relationship Approach
– Conf
- 1991
|
|
1
|
GemStone Visual Schema Designer: A Tool for Object-Oriented Database Design
– Almarode, Anderson
- 1990
|
|
1
|
et al., "CommonLoops: Merging Lisp and Object-Oriented Programming
– Bobrow
- 1986
|