Kristensen B B und Olsson J: “Roles and patterns in analysis, design and implementation”, OOIS`96, Proceedings of the 3rd International Conference on Object-Oriented Information Systems, London, England (1996). Lupu E C und Sloman M: “Towards a role-based framework for distributed systems management”, Journal of Network and Systems Management (1996). Beachten Sie, dass das Muster die meisten der zuvor beschriebenen Rollenfeatures erreicht: … Sein Ursprung ist unbekannt, aber dieses Muster wurde herangezogen, um Minenräumsysteme zu modellieren, die von den Vereinten Nationen verwendet werden. Eine Beschreibung der Diesem Muster zugrunde liegenden Konzepte finden Sich in Murray R. Cantors Buch Object-Oriented Project Management with UML (John Wiley & Sons, Inc., 1998). Trotz ihrer Bedeutung sind die Möglichkeiten, die konzeptionelle Modellierungssprachen bieten, um mit Rollen umzugehen, sehr begrenzt und decken nur einen sehr kleinen Teil ihrer Funktionen ab. Beispielsweise betrachtet das ER-Modell Rollen als benannte Orte in einer Beziehung; UML ist der Ansicht, dass eine Rolle ein Assoziationsende ist; In Description Logics-Rollen bezeichnen nur binäre Beziehungen zwischen Individuen; In Nijssens Informationsanalysemethode (NIAM) und in seinen Nachkommen als Object-Role Modeling (ORM) umfasst jeder Faktentyp (Beziehung) eine Reihe von Rollen, daher werden Rollen in den Beziehungen platziert. Da Rollen als Entitätstypen dargestellt werden, können wir Einschränkungen für Rollen auf die gleiche Weise definieren, wie wir Einschränkungen für Entitätstypen definieren. Einige der Einschränkungen sind unserer Rollendarstellung inhärent (z. B.

dass eine Person die Rolle des Mitarbeiters spielen muss, um die Rolle des Projektmanagers zu spielen, wird bereits durch das Schema erzwungen). Andere Einschränkungen können durch die vordefinierten Einschränkungen der UML ausgedrückt werden. Um beispielsweise einzuschränken, dass ein Mitarbeiter nicht mehr als das Doppelte der ProjectManager-Rolle gleichzeitig spielen darf, reicht es aus, eine Kardinalitätseinschränkung im Beziehungstyp zu definieren. Die Definition der übrigen Einschränkungen erfordert die Verwendung einer allgemeinen Sprache, im Allgemeinen OCL im Fall von UML, siehe das vollständige Papier für Details. Abbildung 1 zeigt die verschiedenen Beziehungen, die in dem oben vorgestellten Szenario beteiligt sind. Beachten Sie, dass in dieser Situation, wenn wir nach dem Wert einer Eigenschaft von Maria fragen, die Antwort nicht trivial ist, da sie von der Rolle oder Rolle abhängt, die sie spielt. Wenn wir beispielsweise nach ihrer Telefonnummer fragen, kann die Antwort ihre persönliche Nummer (da Maria eine Person ist) oder ihre Firmentelefonnummer (da Maria Angestellte ist) sein. Unter Berücksichtigung der Komplexität des Rollenbegriffs und der mangelnden Unterstützung von Rollen in den gegenwärtigen konzeptuellen Modellierungssprachen ist es klar, dass Muster zur Definition eines solchen gemeinsamen Konstrukts bei der konzeptionellen Modellierung erforderlich sind. Frühere vorhandene Muster deckten nur eine Teilmenge der erforderlichen Rollenfeatures ab.