Ad/2010-08-01 Concrete Syntax for a uml action Language for Foundational uml (Alf) Second Revised Submission



Download 1.74 Mb.
Page37/62
Date28.01.2017
Size1.74 Mb.
#9041
1   ...   33   34   35   36   37   38   39   40   ...   62

13.2.3BehaviorInvocationExpression


An invocation of a behavior referenced by name.

Generalizations

  • InvocationExpression

Synthesized Properties

  • target : QualifiedName

The qualified name of the behavior to be invoked.

Derived Properties

None
Constraints

[1] behaviorInvocationExpressionArgumentCompatibility

An input argument expression must be assignable to its corresponding parameter. An output parameter must be assignable to its corresponding argument expression. (Note that this implies that the type of an argument expression for an inout parameter must be the same as the type of that parameter.)


[2] behaviorInvocationExpressionFeatureDerivation

If the target qualified name disambiguates to a feature reference, then the feature of a behavior invocation expression is that feature reference.

[3] behaviorInvocationExpressionReferentConstraint

If the target qualified name does not disambiguate to a feature reference, then it must resolve to a behavior or an association end. Otherwise it must resolve to a single feature referent according to the overloading resolution rules, unless it is an implicit destructor call (in which case it has no referent).

[4] behaviorInvocationExpressionReferentDerivation

The referent of a behavior invocation expression is the behavior named by the target or, if the target disambiguates to a feature reference, the operation or signal being invoked.


Helper Operations

None

13.2.4BinaryExpression


An expression consisting of an operator acting on two operand expressions.

Generalizations

  • Expression

Synthesized Properties

The expression giving the first operand.



  • operand2 : Expression

The expression giving the second operand.



The symbol representing the operator.

Derived Properties

None
Constraints

[1] binaryExpressionOperandAssignments

The assignments in the operand expressions of a binary expression must be valid (as determined by the validateAssignments helper operation).

[2] binaryExpressionOperandMultiplicity

The operands of a binary expression must both have a multiplicity upper bound of 1.




Helper Operations

[1] updateAssignments ( ) : AssignedSource [*]

The assignments after a binary expression include all the assignments before the expression that are not reassigned in either operand expression, plus the new assignments from each of the operand expressions.

[2] validateAssignments ( ) : Boolean

In general the assignments before the operand expressions of a binary expression are the same as those before the binary expression and, if an assignment for a name is changed in one operand expression, then the assignment for that name may not change in the other operand expression. (This is overridden for conditional logical expressions.)


13.2.5BitStringUnaryExpression



Generalizations

  • UnaryExpression

Synthesized Properties

None
Derived Properties



Whether BitString conversion is required on the operand expression.

Constraints

[1] bitStringUnaryExpresionIsBitStringConversionDerivation

BitString conversion is required if the operand expression of a BitString unary expression has type Integer.

[2] bitStringUnaryExpressionLowerDerivation

A BitString unary expression has the same multiplicity lower bound as its operand expression.

[3] bitStringUnaryExpressionOperand

The operand expression of a BitString unary expression must have type BitString or Integer and a multiplicity upper bound of 1.

[4] bitStringUnaryExpressionTypeDerivation

A BitString unary expression has type BitString.

[5] bitStringUnaryExpressionUpperDerivation

A BitString unary expression has a multiplicity upper bound of 1.


Helper Operations

None

13.2.6BooleanLiteralExpression


An expression that comprises a Boolean literal.

Generalizations

  • LiteralExpression

Synthesized Properties

  • image : String

The textual image of the literal token for this expression.

Derived Properties

None
Constraints

[1] booleanLiteralExpressionTypeDerivation

The type of a boolean literal expression is Boolean.




Helper Operations

None

13.2.7BooleanUnaryExpression


A unary expression with a Boolean operator.

Generalizations

  • UnaryExpression

Synthesized Properties

None
Derived Properties

None
Constraints

[1] booleanUnaryExpressionLowerDerivation

A Boolean unary expression has the same multiplicity lower bound as its operand expression.

[2] booleanUnaryExpressionOperand

The operand expression of a Boolean unary expression must have type Boolean and a multiplicity upper bound of 1.

[3] booleanUnaryExpressionTypeDerivation

A Boolean unary expression has type Boolean.

[4] booleanUnaryExpressionUpperDerivation

A Boolean unary expression has a multiplicity upper bound of 1.


Helper Operations

None



Download 1.74 Mb.

Share with your friends:
1   ...   33   34   35   36   37   38   39   40   ...   62




The database is protected by copyright ©ininet.org 2024
send message

    Main page