Modeling collaborative behavior using cooperation contracts

Michael Schrefl, Gertrude Kappel, Peter Lang

Research output: Contribution to journalArticlepeer-review

Abstract

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 object-oriented 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.
Original languageEnglish
Pages (from-to)191-224
Number of pages34
JournalData and Knowledge Engineering
Volume26
Issue number2
DOIs
Publication statusPublished - Jun 1998

Fields of science

  • 102 Computer Sciences
  • 102015 Information systems

Cite this