Cooperation Contracts

M. Schrefl, G. Kappel
Schr91b (1991)
Toby J. Teorey (ed.): Proceedings of the 10th International Conference on the Entity-Relationship Approach (ER 1991), Participants Proceedings, San Mateo, Calif., U.S.A., October 1991, pp. 285-307, 1991.
Copy  (In order to obtain the copy please send an email with subject  Schr91b  to


In this paper we introduce the concept of cooperative message handling, in which several objects act together in answering a message they have received jointly. cooperative message handling extends the traditional message passing paradigm which requires the receiver of a message to be a single object only. Cooperative messages are defined with cooperation contracts which are established between several object types. A cooperative message is sent to a tuple of instances, one for each object type in the cooperation contract. We show that cooperation contracts offer new benefits for behavior modeling in object-oriented database design. Behavior which is provided by several object types in concert needs not be dispersed and can be defined in a single place. Furthermore, behavior designs become symmetric, better maintainable and better extensible.