Enhanced Service Information Model for Nested and Shared Services
Discussion Contributions:
CSARs:
NOTE: Details of ParameterGroup and related structure, you can find here: Dynamic Parameters
1.1 Classes
1.1.1 ServiceAtomicDescriptor
Parent class: ServiceDescriptor
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
_serviceAtomicInstance | ServiceAtomicInstance | 0..* | OpenModelAttribute
| An implementation of atomic Service corresponding to a ServicecAtomicDescriptor. |
_resourceDesc (resourcespecification) | ResourceDesc (ResourceSpecification) | 0..* | OpenModelAttribute
| Resource components of constituting a serivce descriptor. |
serviceInvariantId | Identifier | 1 | OpenModelAttribute
Preliminary | Constant identifier of the service model. |
serviceId | Identifier | 1 | OpenModelAttribute
Preliminary | Versioned identifier of the service model (this id is changed for every major version of the service) |
name | String | 1 | OpenModelAttribute
Preliminary | The name of the service model designed. |
description | String | 1 | OpenModelAttribute
Preliminary | The description of the service model designed. |
category | String | 1..* | OpenModelAttribute
Preliminary | A predefined list which identifies the construct's category. There is a predefined list of service categories. |
version | String | 1 | OpenModelAttribute
Preliminary | The service descriptor version. |
serviceType | String | 0...1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
icon | String | 1 | OpenModelAttribute
Preliminary | The icon path of the service. |
_serviceInstance | ServiceInstance | 0..* | OpenModelAttribute
| An instance of Service deployment. |
isShared | Boolean | 1 | OpenModelAttribute
preliminary | Describe whether this service descriptor is shared or not in the service design. "True" means this service can be shared by other services, orchestrator in runtime will first search an existed instance to see if it can satisfy the demands; "False" means can't be shared by other services, orchestrator will directly instantiate a new instance.
|
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
preliminary | Includes a list of events and corresponding management scripts performed for the Service.
|
1.1.2 ServiceCompositeDescriptor
ServcieCompositeDescriptor is used to model the design time representation of a service component or network service.
Parent class: ServiceDescriptor
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
serviceInvariantId | Identifier | 1 | OpenModelAttribute
| Constant identifier of the Service Component model. |
serviceId | Identifier | 1 | OpenModelAttribute
| Versioned identifier of the Service Component model (this id is changed for every major version of the service component). |
name | String | 1 | OpenModelAttribute
| The name of the service component. |
description | String | 1 | OpenModelAttribute
| The description of service component. |
category | String | 1..* | OpenModelAttribute
Preliminary | A predefined list which identifies the construct's category. There is a predefined list of service categories. |
version | String | 1 | OpenModelAttribute
| The version of service component. |
_serviceDescriptor | ServiceDescriptor | 1..* | OpenModelAttribute
| Describe the nested relationship between multiple Serive Descriptors. |
_serviceCompositeInstance | ServiceCompositeInstance | 0..* | OpenModelAttribute
| An implementation of composite Service corresponding to a ServiceCompositeDescriptor. |
_resourceDesc (resourcespecification) | ResourceDesc (ResourceSpecification) | 0..* | OpenModelAttribute
| Resource components of constituting a serivce descriptor. |
serviceType | String | 0...1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
icon | String | 1 | OpenModelAttribute
Preliminary | The icon path of the service. |
_serviceInstance | ServiceInstance | 0..* | OpenModelAttribute
| An instance of Service deployment. |
isShared | Boolean | 1 | OpenModelAttribute
preliminary | Describe whether this service descriptor is shared or not in the service design. "True" means this service can be shared by other services, orchestrator in runtime will first search an existed instance to see if it can satisfy the demands; "False" means can't be shared by other services, orchestrator will directly instantiate a new instance. |
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
preliminary | Includes a list of events and corresponding management scripts performed for the Service. |
1.1.3 ServiceDescriptor
ServiceDescriptor is used to model the design time representation of a service.
Parent class: DesignEntity
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
serviceInvariantId | Identifier | 1 | OpenModelAttribute
Preliminary | Constant identifier of the service model. |
serviceId | Identifier | 1 | OpenModelAttribute
Preliminary | Versioned identifier of the service model (this id is changed for every major version of the service) |
name | String | 1 | OpenModelAttribute
Preliminary | The name of the service model designed. |
description | String | 1 | OpenModelAttribute
Preliminary | The description of the service model designed. |
category | String | 1..* | OpenModelAttribute
Preliminary | A predefined list which identifies the construct's category. There is a predefined list of service categories. |
version | String | 1 | OpenModelAttribute
Preliminary | The service descriptor version. |
serviceType | String | 0...1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
icon | String | 1 | OpenModelAttribute
Preliminary | The icon path of the service. |
isShared | Boolean | 1 | OpenModelAttribute
preliminary | Describe whether this service descriptor is shared or not in the service design. "True" means this service can be shared by other services, orchestrator in runtime will first search an existed instance to see if it can satisfy the demands; "False" means can't be shared by other services, orchestrator will directly instantiate a new instance. |
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
preliminary | Includes a list of events and corresponding management scripts performed for the Service. |
1.1.4 ServiceAtomicInstance
Parent class: ServiceInstance
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
_resourceInstance | ResourceInstance | 0..* | OpenModelAttribute
| Resource instance components of constituting a serivce instance. |
serviceInstanceId | Identifier | 1 | OpenModelAttribute
Preliminary | Uniquely identifies this instance of a service. |
serviceInstanceName | String | 0...1 | OpenModelAttribute
Preliminary | The name assigned to the service-instance. |
serviceType | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
selfLink | Uri | 1 | OpenModelAttribute
Preliminary | URL to endpoint where more details can be gotten. |
orchestrationStatus | String | 1 | OpenModelAttribute
Preliminary | Orchestration status of the service instance. |
nsStatus | String | 1 | preliminary OpenModelAttribute
| Describe NS instance staus: instantiating(creating the Networek Service instance), active(the existed Network Service instance is under using), terminating(the existed Network Service instance stops using) or etc(healing and other possible status). |
instanceSharingNumber | Integer | 0...1 | OpenModelAttribute
preliminary | Record the number of services that are using this service instance. Note: This attribute can be used when a service instance is prepared to be deleted, the detected number will help to find how many services are using this instance. If number is greater than 1, it shows this instance is used by other service(s), otherwise it can be deleted. |
1.1.5 ServiceCompositeInstance
Parent class: ServiceInstance
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
_resourceInstance | ResourceInstance | 0..* | OpenModelAttribute
| Resource instance components of constituting a serivce instance. |
serviceInstanceId | Identifier | 1 | OpenModelAttribute
Preliminary | Uniquely identifies this instance of a service. |
serviceInstanceName | String | 0...1 | OpenModelAttribute
Preliminary | The name assigned to the service-instance. |
serviceType | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
selfLink | Uri | 1 | OpenModelAttribute
Preliminary | URL to endpoint where more details can be gotten. |
orchestrationStatus | String | 1 | OpenModelAttribute
Preliminary | Orchestration status of the service instance. |
nsStatus | String | 1 | preliminary OpenModelAttribute
| Describe NS instance staus: instantiating(creating the Networek Service instance), active(the existed Network Service instance is under using), terminating(the existed Network Service instance stops using) or etc(healing and other possible status). |
InstanceSharingNumber | Integer | 0...1 | OpenModelAttribute
preliminary | Record the number of services that are using this service instance. Note: This attribute can be used when a service instance is prepared to be deleted, the detected number will help to find how many services are using this instance. If number is greater than 1, it shows this instance is used by other service(s), otherwise it can be deleted. |
1.1.6 ServiceInstance
ServiceInstance is used to model the run time representation of a service.
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
serviceInstanceId | Identifier | 1 | OpenModelAttribute
Preliminary | Uniquely identifies this instance of a service. |
serviceInstanceName | String | 0...1 | OpenModelAttribute
Preliminary | The name assigned to the service-instance. |
serviceType | String | 0..1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as "TRANSPORT". |
serviceRole | String | 1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". |
selfLink | Uri | 1 | OpenModelAttribute
Preliminary | URL to endpoint where more details can be gotten. |
orchestrationStatus | String | 1 | OpenModelAttribute
Preliminary | Orchestration status of the service instance. |
nsStatus | String | 1 | preliminary OpenModelAttribute
| Describe NS instance staus: instantiating(creating the Networek Service instance), active(the existed Network Service instance is under using), terminating(the existed Network Service instance stops using) or etc(healing and other possible status). |
instanceSharingNumber | Integer | 0...1 | OpenModelAttribute
preliminary | Record the number of services that are using this service instance. Note: This attribute can be used when a service instance is prepared to be deleted, the detected number will help to find how many services are using this instance. If number is greater than 1, it shows this instance is used by other service(s), otherwise it can be deleted. |
1.1.7 SelectionCriteria
SelectionCriteria finds descriptors and instances according to specific properties of those entities.
Applied stereotypes:
- preliminary
- OpenModelClass
- support: OPTIONAL
Attribute Name | Type | Mult. | Stereotypes | Description |
selectionCriteriaId | Identifier | 1 | OpenModelAttribute
preliminary | Unique indentifier of this SelectionCriteria. |
1.1.8 SelectionCriteriaAtomic
A simple (atomic) selection criteria that holds a specific attribute comparision expression.
Parent class: SelectionCriteria
Applied stereotypes:
- preliminary
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
metricName | String | 1 | OpenModelAttribute
preliminary | Name of compared parameter or attribute. |
operator | Operator | 1 | OpenModelAttribute
preliminary | Comparison operator, e.g. equal, less than, greater or etc. |
value | String | 1 | OpenModelAttribute
preliminary | Compared value (can be a name of a parameter in referenced class).
|
valueType | String | 1 | OpenModelAttribute
preliminary | The type of the value property (String, Integer, Real, ...). |
selectionCriteriaId | Identifier | 1 | OpenModelAttribute
preliminary | Unique indentifier of this SelectionCriteria. |
1.1.9 SelectionCriteriaComposite
A SelectionCriteriaComposite is an aggregation of multiple SelectionCriterias. Aggregation can be for example AND, OR or XOR logical operations.
Parent class: SelectionCriteriaComposite
Applied stereotypes:
- preliminary
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
compositeOperator | CompositeOperator | 1 | OpenModelAttribute
preliminary |
Logical operation for SelectionCriterias composition, e.g. logical AND, OR or XOR. |
selectionCriteriaId | Identifier | 1 | OpenModelAttribute
preliminary | Unique indentifier of this SelectionCriteria. |
2.1 Data Types
2.1.1 ServiceLifecycleManagementScript
The LifeCycleManagementScript information element specifies a script for the service.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
event | ServiceLcmEvent | 0..* | RW | OpenModelAttribute
preliminary | Describes Service lifecycle event(s) or an external stimulus detected on an orchestrator reference point.
|
lcmTransitionEvent | String | 0..* | RW | OpenModelAttribute
preliminary | Describes the transition Service lifecycle event(s) that cannot be mapped to any of the enumerated values defined for the event attribute. |
script | String | 1 | RW | OpenModelAttribute
preliminary | Includes a Service LCM script (e.g. written in a DSL) triggered to react to one of the events listed in the event attribute. |
scriptDsl | String | 1 | RW | OpenModelAttribute
preliminary | Defines the domain specific language (i.e. the type) of script that is provided. Types of scripts could include bash, python, etc. |
scriptInput | KeyValuePair | 0..* | RW | OpenModelAttribute
preliminary | Array of KVP requirements with the key as the parameter name and the value as the parameter that need to be passed as an input to the script. Note: The scriptInput values are passed to the scripts in addition to the parameters received in the operation invocation request or indicator value change. |
3.1 Enumerations
3.1.1 CompositeOperator
Contains Enumeration Literals:
- AND
- OR
- XOR
3.1.2 Operator
Contains Enumeration Literals:
- MORETHAN
- LESSTHAN
- EQUAL
3.1.3 ServiceLcmEvent
Contains Enumeration Literals:
- EVENT_START_DEPLOYMENT
- EVENT_END_DEPLOYMENT
- EVENT_START_CONFIGURATION
- EVENT_END_CONFIGURATION
- EVENT_START_TERMINATION
- EVENT_END_TERMINATION