Following is the approved model for Dynamic Parameters
1.1 Diagrams
Figure 1: Diagram Root4
Figure 2: Diagram Dynamic Parameters
1.2 RootObjectClasses
1.2.1.1.1 Parameter class
Qualified Name: Common::Root::RootObjectClasses::Parameter
Description:
Some parameter that is part of a ParameterGroup. If parameter can only hold certain values, those values are specified via ParameterSpecValue (design time). The actual value is specified via ParameterValue (runtime).
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
- Preliminary
Table 1 Attributes for Package RootObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
parameterName | String | 1 | Name of parameter. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
IsInput | Boolean | 1 | Boolean that specifices if this parameter is an input parameter. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
paramvalue | ParameterValue | 0..* | Parameter can have some number of runtime ParameterValues. Each ParameterValue is also associated with some OperationalEntity (VnfInstance, ServiceInstance, ...). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
isModifiable | Boolean | 1 | Bolean that specifices if the value can be modified or changed during the life of this parameter. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
valueType | String | 1 | The type of this parameter (integer, string, ...). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
unitOfMeasure | String | 0..1 | A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
description | String | 1 | Description of the parameter. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
1.2.1.1.2 ParameterGroup class
Qualified Name: Common::Root::RootObjectClasses::ParameterGroup
Description:
A group of parameters that somehow relate or work together.
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
- Preliminary
Table 2 Attributes for Package RootObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
parameterGroupName | String | 1 | Name of ParameterGroup | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
parameterGroupDescription | String | 1 | Description of ParameterGroup. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
parameterGroupId | Identifier | 1 | ID of ParameterGroup. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
1.2.1.1.3 ParameterSpecValue class
Qualified Name: Common::Root::RootObjectClasses::ParameterSpecValue
Description:
A valid value of parameter (design time).
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
- Preliminary
Table 3 Attributes for Package RootObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
value | String | 0..1 | The value of the given ParameterSpecValue. A discrete value that the Parameter can take on. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
valueFrom | String | 0..1 | The low range value that a characteristic can take on. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
valueTo | String | 0..1 | The upper range value that a characteristic can take on. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
rangeStep | Integer | 0..1 | The specification that a range of values increases in steps, such as a range from 0 to 100 in steps of 5 with the resulting permitted values being 0, 5, 10, 15,...100. This complements the valueFrom and valueTo attributes. The specification that a range of values increases in steps, such as a range from 0 to 100 in steps of 5 with the resulting permitted values being 0, 5, 10, 15,...100. This complements the valueFrom and valueTo attributes. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
1.2.1.1.4 ParameterValue class
Qualified Name: Common::Root::RootObjectClasses::ParameterValue
Description:
The actual value of Parameter (runtime).
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
- Preliminary
Table 4 Attributes for Package RootObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
parameter | Parameter | 1 | Runtime ParameterValue is associated with exactly one Parameter. Parameter can have some number of runtime ParameterValues. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
value | String | 1 | The actual value of Parameter (runtime). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
9 Comments
Jacqueline Beaulac
ParameterSpecValue would benefit from being split into its two constituent parts: the set of attributes that apply for integer ranges (valueFrom, valueTo, rangeStep), and the set of attributes that apply for discrete values (value). It might also be good to clarify whether discrete values are meant to be interpreted as plain strings, or as string representations of integers (meaning that it must be possible to convert the string to a valid integer).
Jacqueline Beaulac
Michela Bevilacqua
HI,
Are new classes going to be defined as abstract classes ?
Current ParameterSpecValue class is mixing up multiple alternatives. We should consider to clarify them and consider Jacqueline´s split proposal ?
Kevin Scaggs
Hi Michela,
These are concrete classes as specified. They can be instantiated.
Chuyi Guo
Yes, I think they are abstract classes.
It seems Jacqueline´s proposal is going to detail the expression of ParameterValue, but the original thoughts is that the ParameterValue comes from the design time given values, so maybe don't need to specify again in run time side? I'd like to wait for Kevin's comments.
Kevin Scaggs
ParameterGroup is a set of concrete classes - they can be instantiated. Some are instantiated as "design time" while others (the ParamaterValue) is instantiated at runtime.
Michela Bevilacqua
HI,
abstract classes should be identified in italic, please review it.
I think we need to discuss about ParameterSpecValues definition.
Kevin Scaggs
Hi Michela,
Given you were not at today's Resource IM call, could you post your concern here?
Michela Bevilacqua
HI Kevin, apologize for today.
I continue to think that parameterSpecValue class definition should be improved as it is mixing up different options together without providing a clear view of what are the valid options.
For instance , what is value ? a default or a an alternative to value from jointly used with value to ?
Anyhow, to progress, can we move the model to clean but take an action to review ParameterSpecValue as a modelling task in the next weeks ?