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

Specifies the languages used to express the textual bodies of the OpaqueExpression. Languages are matched to body Strings by order. The interpretation of the body depends on the languages. If the languages are unspecified, they may be implicit from the expression body or the context.
{ordered}

result : Parameter (0 1); -- source OpaqueExpression
type : Type (0 1); -- source TypedElement
visibility : VisibilityKind (0 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
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].