In diesem Kapitel wird eine Erweiterung des traditionellen Konzeptes des Nachrichtenaustauschs in objektorientierten Systemen, der kooperative Nachrichtenaustausch (cooperative message passing), vorgestellt. Wahrend der traditionelle Nachrichtenaustausch nur ein Empfangerobjekt fur eine Nachricht kennt, wird beim kooperativen Nachrichtenaustausch eine Nachricht gleichzeitig an eine Liste von Objekten geschickt, die diese Nachricht auch gemeinsam beantworten. Der Vorteil des kooperativen Nachrichtenaustauschs liegt in der Modellierung von mehrfach polymorphen Operationen (multi-polymorphic operations), an deren Ausfuhrung mehrere Objekte beteiligt sind. Mehrfach polymorphe Operationen konnen in der Regel nicht eindeutig einem Objekt bzw. einem Objekttyp zugewiesen werden, u.a. deshalb, weil ihre Spezifikation von mehreren Objekttypen abhangig ist. Ein Beispiel ist die Berechnung des Zimmertarifs in einem Hotel. Die Berechnungsvorschrift ist sowohl von der jeweiligen Saison als auch von der Zimmerkategorie abhangig. Mehrfach polymorphe Operationen werden in sogenannten Kooperationsvertragen (cooperation contracts) spezifiziert, die das Zusammenwirken mehrerer Objekttypen beschreiben. Kooperationsvertrage und mehrfach polymorphe Operationen unterstutzen eine Verhaltensmodellierung, die zwischen dem lokalen Verhalten einzelner Objekte und dem globalen Verhalten, an dem mehrere Objekte beteiligt sind, unterscheidet.