In the version 1.* standard it was very clear who had the responsibility of "getting" the values, since there was only a getValues() method. In version 2 we have both "get" and "set" possibilities for the values, which makes it unclear who has to do the getting or the setting (i.e. does the inputItem have to read the values from the outputItem, or does the outputItem have to write the values to the inputItem?). You can not tell this from the interfaces, it only becomes clear in the implementation (SDK).

A risk of this is that one SDK could favour the push approach and another the pull approach, making two model components based on these different SDK's incompatible, even though they are OpenMI 2.* compliant... I think we do not want that (smile)

To solve it perhaps we need to introduce some kind of notion in the Standard interfaces of the direction of a connection between input and output items, i.e. is "input pulls" or "output pushes".

  • No labels