invocation-expression-no-duplicate-parameter-redefinition

Available in: KerML, SysML

This checks that invocation arguments are bound only once.

In textual syntax, this is only possible by using named arguments as otherwise arguments are bound implicitly in the order they are declared or inherited.

Specification

Two different owned_features of an InvocationExpression must not redefine the same feature of the instantiated_type of the InvocationExpression.

Example

calc def F { in a; in b; }
x = F(a=0, a=1); // error

Bind arguments only once:

calc def F { in a; in b; }
x = F(a=0, b=1); // ok