binding-connector-is-binary

Available in: KerML, SysML

This checks that binding connectors have exactly two ends.

Specification

A BindingConnector must be binary.

Example

attribute a; attribute b;
bind a = b {
  end attribute c; // error
}

In SysML, do not add explicit ends to the binding connector bodies - the two ends are always <end 1> = <end 2>:

attribute a; attribute b;
bind a = b; // ok

KerML is less strict, and allows omitting the binding declaration which can trigger the validation:

binding {
    end a;
    end b;
    end c; // error
}

Fix this by removing any extraneous end features:

binding { end a; end b; } // ok