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.<br/>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.<br/>The ServiceSpecificationRole defines a ServiceSpecification in terms of possible roles.<br/>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.<br/>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.<br/>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.<br/>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. <br/>This association applies equally to CustomerFacingServicesSpec and ResourceFacingServiceSpec. <br/>