...
Discussion Contributions:
View file name ONAP network slice modeling - for modeling subcommittee v3.10.pptx height 250
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.
Table of Contents | ||
---|---|---|
|
CSARs:
View file | ||||
---|---|---|---|---|
|
Table of Contents printable false
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 | |||||||
_serviceatomicinstanceserviceAtomicInstance | ServiceAtomicInstance | 0..* | OpenModelAttribute
| An implementation of atomic Service corresponding to a ServicecAtomicDescriptor. | |||||||
_resourcedesc 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. | |||||||
_serviceinstanceserviceInstance | 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.
| |||||||
configurablePropertieslifecycleManagementScript | ServiceConfigurablePropertiesServiceLifecycleManagementScript | 0..1* | OpenModelAttribute
| Describes the configurable properties of the service.
| preliminary | Includes | 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. | ||||||
_servicedescriptorserviceDescriptor | ServiceDescriptor | 1..* | OpenModelAttribute
| Describe the nested relationship between multiple Serive Descriptors. | ||||||
_servicecompositeinstanceserviceCompositeInstance | ServiceCompositeInstance | 0..* | OpenModelAttribute
| An implementation of composite Service corresponding to a ServiceCompositeDescriptor. | ||||||
_resourcedesc resourceDesc (resourcespecification) | ResourceDesc (ResourceSpecification) | 0..* | OpenModelAttribute
| Resource components of constituting a serivce descriptor. | ||||||
_filterserviceType | FilterString | 0...*1 | OpenModelAttribute
| Filter upon which a correct Shared ServiceDescriptor is chosen. It can hold both service properties (e.g. some parameter that makes one service descriptor different from another, like mobility assuming there are different service property values for mobility types) and runtime attributes upon which correct service instance is chosen. |
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 | filterRules | KeyValuePair | 0..* | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". | |||
icon | String | Describe the correspondence for which filter rules are for each composited service descriptor. The value pair for this attribute can has the format : {ServiceComponetId, filterId}={xxx,xxx}. | serviceType | String | 0...1 | OpenModelAttribute
Preliminary | An optional string field defining a generic type (like category) The icon path of the service. E.g. this field can be used for defining the service as "TRANSPORT". | serviceRole | String | 0..|
_serviceInstance | ServiceInstance | 0..* | OpenModelAttribute
| An instance of Service deployment. | ||||||
isShared | Boolean | 1 | OpenModelAttribute
| icon | String | 1 | OpenModelAttribute
Preliminary | |||
_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.3 ServiceDescriptor
ServiceDescriptor is used to model the design time representation of a service.
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
preliminary | Describe whether | ||||||||||||||||||||||||||||||||||||||||||||
Attribute Name | Type | Mult. | Stereotypes | Description | |||||||||||||||||||||||||||||||||||||||||
serviceInvariantId | Identifier | 1 | OpenModelAttribute
Preliminary | serviceId | Identifier | 1 | OpenModelAttribute
Preliminary | name | String | 1 | OpenModelAttribute
Preliminary | description | String | 1 | OpenModelAttribute
Preliminary | category | String | 1..* | OpenModelAttribute
Preliminary | version | String | 1 | OpenModelAttribute
Preliminary | serviceType | String | 0...1 | OpenModelAttribute
Preliminary | serviceRole | String | 0..1 | OpenModelAttribute
Preliminary | icon | String | 1 | OpenModelAttribute
Preliminary | 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"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: ServiceInstance 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 | _resourceinstance | ResourceInstance | 0..* | OpenModelAttribute
Resource instance components of constituting a serivce instance. Preliminary | Versioned identifier of the service model (this id is changed for every major version of the service) | |
name | String | serviceInstanceId | Identifier | 1 | OpenModelAttribute
Preliminary | Uniquely identifies this instance of a serviceThe name of the service model designed. | ||
serviceInstanceNamedescription | String | 0...1 | OpenModelAttribute
Preliminary | The name assigned to description of the service -instancemodel designed. | ||||
serviceTypecategory | String | 01..1* | OpenModelAttribute
Preliminary | A predefined list which identifies the construct's category. There is a predefined list of service categories. | ||||
version 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". | The service descriptor version. | ||||
serviceType | String | 0... | selfLink | Uri | 1 | OpenModelAttribute
Preliminary URL to endpoint where more details can be gotten. | 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.. | orchestrationStatus | String | 1 | OpenModelAttribute
Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". | |
icon 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...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..* | instanceProfile | ServiceInstanceProfile | 0...1OpenModelAttribute
| MANDATORYA 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
preliminary | Includes a list of events and corresponding management scripts performed for the Service. |
1.1.
...
4 ServiceAtomicInstance
Parent class: ServiceInstance
Applied stereotypes:
- OpenModelClasslifecycleManagementScript
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description | |||||
_resourceinstance | ResourceInstance | 0..* | OpenModelAttribute
| Resource instance components of constituting a serivce instance. | |||||
Description | |||||||||
_resourceInstance | ResourceInstance | 0..* | availableInstanceNumber | KeyValuePair | 1 | OpenModelAttribute
| Resource instance components of constituting a serivce instance. The number of times this service instance can be shared. Sharing can be controlled by other attributes as well. | ||
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 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 gottenbe gotten. | ||||
orchestrationStatus | String | 1 | OpenModelAttribute
Preliminary | Orchestration status of the service instance. | |||||
nsStatus | String | 1 | Experimentalpreliminary 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). | |||||
InstanceSharingNumberinstanceSharingNumber | Integer | 0...1 | OpenModelAttribute
preliminary | Record the number of instances of the service used by other servicesservices 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 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 servicesshows this instance is used by other service(s), otherwise it can be deleted. |
1.1.
...
5 ServiceCompositeInstance
ServiceInstance is used to model the run time representation of a service.Parent class: ServiceInstance
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description | 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 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 | Experimentalpreliminary 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|||||
InstanceSharingNumber | Integer | 0...1 | OpenModelAttribute
preliminary | Record the number | of instances of | the service used by other servicesservices 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 service is used by other service(s), otherwise it can be deleted.instanceProfile | ServiceInstanceProfile | 0...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
| 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 Filter
Filter is used to find service descriptors and service instances according to specific properties of those services
Applied stereotypes:
- Experimental
- OpenModelClass
- support: OPTIONAL
Preliminary | Uniquely identifies this instance of a service. | |||
serviceInstanceName | String | 0...1 | OpenModelAttribute
Preliminary | The name assigned to the service-instance. |
serviceType | String | 0.. | ||
Attribute Name | Type | Mult. | Stereotypes | Description |
filterId | Identifier | 1 | OpenModelAttribute
| Unique indentifier of this filter. |
1.1.8 FilterAtomic
A simple filter that holds a specific attributes comparison expression.
Parent class: filter
Applied stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
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 | ||||||||
Attribute Name | Type | Mult. | Stereotypes | Description | ||||
metricName | String | 1 | OpenModelAttribute
| Name of compared parameter or attribute of the class that references the filter. | Preliminary | An optional string field for shortcode that defines the function that the service is providing. E.g. "MISVPN" or "AIM". | ||
selfLink | Uri | operator | Operator | 1 | OpenModelAttribute
| Comparison operator, e.g. equal, less than, greater or etc. | Preliminary | URL to endpoint where more details can be gotten. |
orchestrationStatus | String | value | KeyValuePair | 1 | OpenModelAttribute
| Compared value (can be a name of a parameter in referenced class).
|
1.1.9 FilterComposite
A filter that is an aggregation of multiple atomic filters. Aggregation can be for example AND or OR logical operations.
Parent class: filter
Applied stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
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... | |||
Attribute Name | Type | Mult. | Stereotypes | Description | |
compositeOperator | CompositeOperator | 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 entitiesA 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:
- preliminary
- OpenModelClass
- support: MANDATOR OPTIONAL
Attribute Name | Type | Mult. | Stereotypes | Description |
selectionCriteriaId |
ServiceDescriptor
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 |
Uniquely references a SD.
profileId
Attribute Name
Type
Mult.
Stereotypes
Description
profileId
Identifier
1 | OpenModelAttribute
|
Unique identifier of this Service Profile.
1.1.11 SliceProfile
A set of properties that hold the network slice service specific information. For example, it will hold network slice specific parameters, which maybe not relevant for other services, e.g. mobility or resourceSharing.
Parent class: serviceProfile
Applied stereotypes:
- OpenModelClass
- support: MANDATORY
preliminary | Name of compared parameter or attribute. | |||
operator | Operator | 1 | OpenModelAttribute
preliminary | Comparison operator, e.g. equal, less than, greater or etc. |
value | String |
maxNumberofUEs
Integer
1
1 | OpenModelAttribute
|
Unique identifier of this Profile.
preliminary | Compared value (can be a name of a parameter in referenced class).
| ||
valueType | String | 1 | OpenModelAttribute |
|
Specifies the maximum number of UEs may simultaneously access the network slice instance.
latency
Integer
1
preliminary | The type of the value property (String, Integer, Real, ...). | ||
selectionCriteriaId | Identifier | 1 | OpenModelAttribute |
|
Specifies the packet transmission latency (millisecond) through the RAN, CN, and TN part of 5G network and is used to evaluate utilization performance of the end-to-end network slice instance.
_servicedescriptor
ServiceDescriptor
0..*
OpenModelAttribute
- isInvariant: false
- valueRange: no range constraint
- support: MANDATORY
Uniquely references a SD.
2.1 Data Types
2.1.1 ServiceConfigurableProperties
Define the configurable properties of the service.
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 |
KeyValuePair
0..*
RW
CompositeOperator | 1 | OpenModelAttribute
|
Attribute Name
Type
Mult.
Access
Description
event
ServiceLcmEvent
0..*
RW
preliminary |
|
2.1.2 ServiceLifecycleManagementScript
The LifeCycleManagementScript information element specifies a script for the service.
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
Description
instanceProperties
Attribute Name | Type | Mult. | Access | Stereotypes | Description | ||||||||
event | ServiceLcmEvent | 0..* | lcmTransitionEvent | String | 0..* | RW | OpenModelAttribute
| 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. preliminary | Describes Service lifecycle event(s) or an external stimulus detected on an orchestrator reference point.
|
lcmTransitionEvent | String | 0..* | 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. | 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 | 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.
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
|
The properties of the service instance, e.g. frequencies or latency for this RAN slice instance.
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 CompositeOperator1 CompositeOperator
Contains Enumeration Literals:
- AND
- OR
- XOR
3.1.2 Operator2 Operator
Contains Enumeration Literals:
- MORETHAN
- LESSTHAN
- EQUAL
3.1.3 ServiceLcmEvent3 ServiceLcmEvent
Contains Enumeration Literals:
- EVENT_START_DEPLOYMENT
- EVENT_END_DEPLOYMENT
- EVENT_START_CONFIGURATION
- EVENT_END_CONFIGURATION
- EVENT_START_TERMINATION
- EVENT_END_TERMINATION