Previous | UML Classes | Table of Contents | UML Packages | Next |

A value specification is the specification of a (possibly empty) set of instances, including both objects and data values.

•

PackageableElement (from Kernel ) on page 111

•

TypedElement (from Kernel ) on page 138

ValueSpecification is an abstract metaclass used to identify a value or values in a model. It may reference an instance or
it may be an expression denoting an instance or instances when evaluated.

Issue Editorial correction - remove erroneous entry for ‘expression’

No additional attributes.

No additional associations

No additional constraints

These operations are introduced here. They are expected to be redefined in subclasses. Conforming implementations may be able
to compute values for more expressions that are specified by the constraints that involve these operations.

[1] The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be
fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all value specifications
that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected
to be able to compute the value of all literals.

ValueSpecification ::isComputable(): Boolean;

isComputable = false

[2] The query integerValue() gives a single Integer value when one can be computed. ValueSpecification ::integerValue() : [Integer];
integerValue = Set{}

[3] The query booleanValue() gives a single Boolean value when one can be computed.

ValueSpecification ::booleanValue() : [Boolean];booleanValue = Set{}

[4] The query stringValue() gives a single String value when one can be computed. ValueSpecification ::stringValue() : [String];
stringValue = Set{}

[5] The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed. ValueSpecification ::unlimitedValue()
: [UnlimitedNatural]; unlimitedValue = Set{}

[6] The query isNull() returns true when it can be computed that the value is null. ValueSpecification ::isNull() : Boolean;
isNull = false

A value specification yields zero or more values. It is required that the type and number of values is suitable for the context
where the value specification is used.

No general notation