Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

3.2 OpenMI 2.0 architecture

DataOperation (suggestion from Adrian)

IDataOperation
{
int StatusSourceElement(int nSourceElementIndex);
int StatusTargetElement(int nTargetElementIndex);
}

This suggestion is aimed at allowing GUI's to assist users when selecting DataOperations.

Example:
A DataOperation called "NearestPoint" which could be used to map between a source elementset of N Points to a target elementset of 1 point.

It might be obvious to the user what will happen if he uses this, but what if he doesnt. He needs help as to whether to use this dataoperation or another.
The ideal solution is for the user to ask the GUI to show what would happen if he used this dataoperation on these elementsets during the configuration period.

The gui could use
status = NearestPoint.StatusSourceElement(0..N);
to determine what colour to display each of the elements in the source elementset. ie for the NearestPoint dataoperation StatusSourceElement could return zero for all element indexs
except for the one that is actually nearest. The Gui could then paint all elements in the source element set as black except for one red one.

Of course the gui does not necesarily know what the dataoperation does. Hence all the GUI could do is colour/label the elements based on what integer was returned and the user
would have to refer to the dataoperation user manual to determine what the codes indicate in that specific case.
We could even state that the returned integer is actually an rgb value.

Whatever, I'm sure you get the idea. Its a small idea but could have a massive impact on usability.

Another example could be a RegularExpression DataOperation. The source element set could be 100 IDBased items, the user sets the RegularExpression.Arg to a regular expression and the gui uses the StatusSourceElement method to hide all non matching elements. Thus giving ConfigurationEditor a Filtering mechanism on the Link connnection dialog.

3.3 Development and release roadmap

...