Software Disclaimer

Class UML 2.5::OpaqueExpression

Description:

An OpaqueExpression is a ValueSpecification that specifies the computation of a collection of values either in terms of a UML Behavior or based on a textual statement in a language other than UML

Direct Superclasses: ValueSpecification

Direct Subclasses:

Class Precedence List: OpaqueExpression, ValueSpecification, TypedElement, PackageableElement, ParameterableElement, NamedElement, Element

Properties:

behavior : Behavior (0 1); -- source OpaqueExpression
body : String (0 *); -- source OpaqueExpression
language : String (0 *); -- source OpaqueExpression
result : Parameter (0 1); -- source OpaqueExpression

If an OpaqueExpression is specified using a UML Behavior, then this refers to the single required return Parameter of that Behavior. When the Behavior completes execution, the values on this Parameter give the result of evaluating the OpaqueExpression.
{readonly, derived}

type : Type (0 1); -- source TypedElement
visibility : VisibilityKind (0 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement

The formal TemplateParameter that owns this ParameterableElement.
Subsets: Element.owner, ParameterableElement.templateParameter
Opposite: TemplateParameter.ownedParameteredElement

templateParameter : TemplateParameter (0 1); -- source ParameterableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: CMOF_14_3_31() : Boolean;
Description: 14.3 [31] The body of an OpaqueExpression must not be empty. see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/opaque-expression-has-no-or-empty-body
Expression: body->notEmpty() and body <> ''

Operations:

Signature: value() : Integer;
Description: The query value() gives an integer value for an expression intended to produce one.
Expression: result = (0)

Signature: result.1() : Parameter;
Description: Derivation for OpaqueExpression::/result
Expression: result = (if behavior = null then null else behavior.ownedParameter->first() endif)

Signature: isPositive() : Boolean;
Description: The query isPositive() tells whether an integer expression has a positive value.
Expression: result = (false)

Signature: isNonNegative() : Boolean;
Description: The query isNonNegative() tells whether an integer expression has a non-negative value.
Expression: result = (false)

Signature: isIntegral() : Boolean;
Description: The query isIntegral() tells whether an expression is intended to produce an Integer.
Expression: result = (false)



Send questions or comments to [email protected].