Usage: "CollaborationUse" stereotypes UML CollaborationUse (adds an additional attribute to UML meta-element)
A CollaborationUse explicitly indicates the ability of an owning Classifier to fulfill a ServiceContract or adhere to a ServicesArchitecture. A Classifier can contain any number of CollaborationUses
that indicate what it fulfills. The CollaborationUse has roleBindings that indicate what role each part in the owning
Classifier plays. If the CollaborationUse is strict, then the parts must be compatible with the roles they are bound
to, and the owning Classifier must have behaviors that are behaviorally compatible with the ownedBehavior of the
CollaborationUse’s Collaboration type.
As a ServiceContract is binding on the ServiceInterfaces named in that contract, a CollaborationUse is
not required if the types are compatible.
Attribute
Indicates whether this particular fulfillment is intended to be strict. A value of
true indicates the roleBindings in the Fulfillment must be to compatible parts. A value of false indicates the
modeler warrants the part is capable of playing the role even through the type might not be
compatible.
Semantics
A CollaborationUse is a statement about the ability of a containing Classifier to provide
or use capabilities, have structure, or behave in a manner consistent with that expressed in its Collaboration type. It
is an assertion about the structure and behavior of the containing classifier and the suitability of its parts to play
roles for a specific purpose.
A CollaborationUse contains roleBindings that binds each of the roles of its
Collaboration to a part of the containing Classifier. If the CollaborationUse has isStrict=true, then the parts must be
compatible with the roles they are bound to. For parts to be compatible with a role, one of the following must be
true:
-
The role and part have the same type.
-
The part has a type that specializes the type of the role.
-
The part has a type that realizes the type of the role.
-
The part has a type that contains at least the ownedAttributes and ownedOperations of
the role. In general this is a special case of item 3 where the part has an Interface type that realizes another
Interface.
|