8 | | When connecting {{{m.c}}} to an expandable connector, OMEdit doesn't know the type of the other connector, because the other connector is implicitly defined by the connect statement. In this case, I would suggest that a pop-up window shows up, asking whether one wants to connect to a scalar connector on the expandable connector (in which case the {{{connectorSizing}}} mechanism should be used), or to an array connector on the expandable connector, in which case a connect statement between two array connectors should be generated. |
| 9 | So, in the case 2. described above, I would say that the wanted behaviour is that one first drags the {{{And}}} component (which has default {{{nu = 0}}}), then, when graphically connecting the input {{{and.u}}} to the output of {{{booleanExpression.y}}}, one should first be asked if the two entire arrays should be connected, or rather some of their individual components. |
| 10 | |
| 11 | In the first case, {{{nu}}} should automatically be set to {{{3}}}, which is the size of the other connector, and a {{{connect(booleanExpression1.y, and1.u)}}} statement should be added. |
| 12 | |
| 13 | In the second case, one should select which individual array element to pick on the non-connectorSize'd connector, while the standard connectorSizing mechanism should be used on {{{and.u}}}. |
| 14 | |
| 15 | When connecting {{{m.c}}} to an expandable connector, OMEdit doesn't know the type of the other connector, because the other connector is implicitly defined by the connect statement. This may be a problem, because there is not enough information available to infer the size of the parameter with {{{connectorSizing = true}}} ({{{and.nu}}}, in this case). |
| 16 | |
| 17 | In this case, I would also suggest to ask first if one wants to connect a scalar element or the entire array connector {{{and.u}}} to a connector on the expandable connector. In the first case, the standard {{{connectorSizing}}} mechanism is applied. In the other case, the pop-up window should probably also ask for the value of the {{{connectorSizing=true}}} parameter ({{{nu}}}), because the size of the other connector is not available locally when using an expandable connector. |