Figure SO.17 - The Concept of ServiceSpecificationRoles (OLD SO.21)

Header Image
Project:
Figure SO.17 - The Concept of ServiceSpecificationRoles (OLD SO.21) : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 10/28/2023 7:05:30 AM
Project:
Advanced:
ServiceSpecificationRole is an abstract base class that defines a ServiceSpecification in terms of a set of roles. The roles are then used to characterize the shared functionality of the ServiceSpecification, regardless of whether it is a resource or a customer facing service specification.
ServiceSpecificationRoles represent the shared functionality of a ServiceRole. Representing a Service in terms of ServiceSpecificationRoles enables the functionality of the Service to be defined independently of BusinessActor, PhysicalResource, LogicalResource, or ot her Services.
The ServiceSpecificationRole defines a ServiceSpecification in terms of possible roles.
The roles are then associated for both CustomerFacing and ResourceFacing services through the CustomerFacingServiceSpecificationRole and ResourceFacingServiceSpecificationRole subclasses. The utility of the ServiceSpecificationRole class is to present a single point for accumulating common relationships that its subclasses can inherit.
The RequiresResourceFacingServiceSpecRoles relationship is used to define the set of ResourceFacingServiceSpecRoles that are required by a particular CustomerFacingServiceSpecRole. Conceptually, this enables roles to be used to define the common characteristics of a set of ResourceFacingServiceSpecs that are required by a particular CustomerFacingServiceSpec.
Note that the cardinality of the RequiresResourceFacingServiceSpecRoles is * on the CustomerFacingServiceSpecificationRole side and 1..* on the ResourceFacingServiceSpecRole (component) side. This is because a ResourceFacingServiceSpecRole can exist without being bound into a CustomerFacingServiceSpecRole (e.g., in testing the network), but a CustomerFacingServiceSpecRole requires at least one ResourceFacingServiceSpecRole to function. Note also that this cardinality is symmetric with the cardinality defined in the RequiresResourceFacingServiceSpec association.
The InvolvedServiceSpecRoles association is used to define a set of ServiceSpecificationRoles that are involved with, or related to, each other in order to build a particular type of ServiceSpecification.
This association applies equally to CustomerFacingServicesSpec and ResourceFacingServiceSpec.