Discussion Contributions:
Color Explanation: This proposal is based on the nested service and the information model Composite / Atomic Service, all the colored parts excluding black ones are new added changes to the basic model. Blue parts excepts class "ServiceProfile" and "SliceProfile" are for the filter fuctionality, pink parts are for service configuration functionality, purple and green are needed for filter function in instance model, but for two different functions respectively. Detailed information please go through the tables below.
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
| Describe whether this service descriptor is shared or not in the service design.
|
configurableProperties | ServiceConfigurableProperties | 0..1 | OpenModelAttribute
| Describes the configurable properties of the service.
|
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
| 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
| Describe whether this service descriptor is shared or not in the service design. |
configurableProperties | ConfigurableProperties | 0..1 | OpenModelAttribute
| Describes the configurable properties of the service. |
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
| 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
| Describe whether this service descriptor is shared or not in the service design. |
configurableProperties | ConfigurableProperties | 0..1 | OpenModelAttribute
| Describes the configurable properties of the service. |
lifecycleManagementScript | ServiceLifecycleManagementScript | 0..* | OpenModelAttribute
| 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 | Experimental 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
| Record the number of other service instances that are using this shared service. 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 service is used by other service(s), otherwise it can be deleted. |
instanceProfile | ServiceInstanceProfile | 0...1 | OpenModelAttribute
| A set of attributes that hold the service specific information. For example, network slice profile will hold network slice specific parameters, which are not relevant for other services. |
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. |
availableInstanceNumber |
KeyValuePair | 1 | OpenModelAttribute
| This attribute is to show the numbers its service components can be shared. {ServiceComponetId, number}={xxx,xxx}. |
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 | Experimental 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
| Record the number of instances of the service used by other services. 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 service is used by other service(s), otherwise it can be deleted. |
instanceProfile | ServiceInstanceProfile | 0...1 | OpenModelAttribute
| A set of attributes that hold the service specific information. For example, network slice profile will hold network slice specific parameters, which are not relevant for other services. |
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.availableInstanceNumber |
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 | Experimental 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
| Record the number of instances of the service used by other services. 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 service is used by other service(s), otherwise it can be deleted. |
instanceProfile | ServiceInstanceProfile | 0...1 | OpenModelAttribute
| A set of attributes that hold the service specific information. For example, network slice profile will hold network slice specific parameters, which are not relevant for other services. |
1.1.7 SelectionCriteria
SelectionCriteria finds descriptors and instances according to specific properties of those entities.
Applied stereotypes:
- Experimental
- OpenModelClass
- support: OPTIONAL
Attribute Name | Type | Mult. | Stereotypes | Description |
scId | Identifier | 1 | OpenModelAttribute
| 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:
- Experimental
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
metricName | String | 1 | OpenModelAttribute
| Name of compared parameter or attribute. |
operator | Operator | 1 | OpenModelAttribute
| Comparison operator, e.g. equal, less than, greater or etc. |
value | KeyValuePair | 1 | OpenModelAttribute
| Compared value (can be a name of a parameter in referenced class).
|
scId | Identifier | 1 | OpenModelAttribute
| 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 logical operations.
Parent class: SelectionCriteriaComposite
Applied stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
compositeOperator | CompositeOperator | 0..1 | OpenModelAttribute
|
Logical operation for SelectionCriterias composition, e.g. logical AND or OR. |
scId | Identifier | 1 | OpenModelAttribute
| Unique indentifier of this SelectionCriteria. |
1.1.10 ServiceProfile
A set of properties that hold the service specific information. For example, network slice profile will hold network slice specific parameters, which are not relevant for other services.
Applied stereotypes:
- OpenModelClass
- support: MANDATOR
Attribute Name | Type | Mult. | Stereotypes | Description |
_serviceDescriptor | ServiceDescriptor | 0..* | OpenModelAttribute
| Uniquely references a SD. |
profileId | Identifier | 1 | OpenModelAttribute
| Unique identifier of this Service Profile. |
profileProperties | KeyValuePair | 0..* | OpenModelAttribute
support: MANDATORY | Specific properties this service holds. |
2.1 Data Types
2.1.1 ServiceConfigurableProperties
Define the configurable properties of the service.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
properties | KeyValuePair | 0..* | RW | OpenModelAttribute
| Describe the specific configurable properties for the service.
|
2.1.2 ServiceLifecycleManagementScript
The LifeCycleManagementScript information element specifies a script for the service.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
event | ServiceLcmEvent | 0..* | RW | OpenModelAttribute
| Describes Service lifecycle event(s) or an external stimulus detected on an orchestrator reference point.
|
lcmTransitionEvent | String | 0..* | RW | OpenModelAttribute
| 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
| 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
| 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
| 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. |
2.1.3 ServiceInstanceProfile
Record a set of property information this service instance holds, for example latency of this instance.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
instanceProperties | KeyValuePair | 0..* | RW | OpenModelAttribute
| The properties of the service instance, e.g. frequencies or latency for this RAN slice instance.
|
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