| Previous | Table of Contents | Next | 
   A value specification is the specification of a (possibly empty) set of instances, including both objects and data values.
            
   Description 
   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. 
   Generalizations 
   • 
            “Element (as specialized)? on page 74 
            
   Attributes 
   No additional attributes 
   Associations 
   •	expression: Expression[0..1] If this value specification is an operand, the owning expression. Subsets Element::owner. 
   Constraints 
   No additional constraints 
   Additional Operations 
   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
   Semantics 
   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. 
   Notation 
   No specific notation