B1. Capabilities-Responsibilities-Delegation Viewpoint
B1. Capabilities-Responsibilities-Delegation Viewpoint
This diagram shows the elements of the metamodel that support the definition of a ServiceDomain at Level 1.
A ServiceDomain owns a set of Responsibilities. Each Responsibility is fulfilled by means of a native Capability of the ServiceDomain or by a Delegation to a target ServiceDomain.
A native Capability can either be handled by publishing Notifications to subscriber ServiceDomains or by enabling service consumers to issue a request for service that the ServiceDomain commits to satisfying.
ServiceDomain also has a focusObject property, which which points to a BusinessObject. The lifecycle of the focusObject is under the unique control of the ServiceDomain. A ServiceDomain also can have referencedObjects, which may be focusObjects for other ServiceDomains.
Class Capability
package BIAN::Level1
A Capability is the capacity of a ServiceDomain to fulfill a Responsibility that it owns without relying on other Service Domains.
Direct Superclasses
Associations
realizingOperation : ServiceOperation [0..*]
The ServiceOperations that realize the Capability.
Attributes
Constraints
Class Delegation
package BIAN::Level1
A Delegation is the fulfillment of a Responsibility owned by a ServiceDomain, achieved by enlisting the aid of another ServiceDomain.
Direct Superclasses
Associations
consumedOperation : ServiceOperation [1..*]
The ServiceOperations that the ServiceDomain consumes in order to Delegate the fulfillment of a Responsibility.
target : ServiceDomain [1]
Attributes
Constraints
The target ServiceDomain of the Delegation is a different ServiceDomain than the ServiceDomain that owns the Responsibility that the Delegation fulfills.
[target <> fulfilledResponsibility.responsibleServiceDomain]
Class Notification
package BIAN::Level1
A Notification is a Capability to fulfill a Responsibility, which is carried out by publishing information to ServiceDomains that subscribe to receive the Notifications.
Direct Superclasses
Associations
subscriber : ServiceDomain [0..*]
The ServiceDomains that subscribe to receive the Notification.
Attributes
Constraints
The ServiceOperations that realize a Notification must have InvocationKind NOTIFICATION.
[realizingOperation->forAll( operation | operation.invocationKind = InvocationKind::NOTIFICATION)]
Class RequestSatisfaction
package BIAN::Level1
RequestSatisfaction is a Capability of a ServiceDomain to fulfill a Responsibility, by executing requests from service consumers.
Direct Superclasses
Associations
Attributes
Constraints
The ServiceOperations that realize a Notification must not have InvocationKind NOTIFICATION.
[realizingOperation->forAll( operation | not (operation.invocationKind = InvocationKind::NOTIFICATION))]
Class Responsibility
package BIAN::Level1
A Responsibility is a commitment by a ServiceDomain to ensure the achievement of a business purpose.
A ServiceDomain can fulfill a Responsibility by means of one of its own Capabilities or by Delegation to other ServiceDomains.
Direct Superclasses
BIANElememt, RepositoryConcept
Associations
responsibleServiceDomain : ServiceDomain [1]
The ServiceDomain that assumes the Responsibility. The association is a composition in which ServiceDomain plays the role of composite and Responsibility plays the role of component.
responsibilityFulfillment : ResponsibilityFulfillment [0..1]
The native Capability, Delegation, or Notification that fulfills the Responsibility. The association is a composition in which Responsibility plays the role of composite and ResponsibilityFulfillment plays the role of component.
Attributes
Constraints
Class ResponsibilityFulfillment
package BIAN::Level1
ResponsibilityFulfillment is the carrying out of a Responsibility of a ServiceDomain.
Direct Superclasses
BIANElememt, RepositoryConcept
Associations
fulfilledResponsibility : Responsibility [1]
The Responsibility being fulfilled.