Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Participants:
Jan Gregersen, DHI / LicTek (gregersen@lictek.dk) (chairman of the meeting)
~psi@dhigroup Unknown User (psi@dhigroup.com), DHI - Water & Environment (psi@dhigroup.com)
Adrian Harper, Wallingford Software (adrian.harper@wallingfordsoftware.com)
Stef Hummel, Deltares (stef.hummel@deltares.nl)
Unknown User (onnoroos), Alterra (Onno.Roosenschoon@wur.nl) ~don

Apologies:

Unknown User (don) (Gena), Deltares (gennadii.donchyts@deltares.nl)
Peter Gijsbers, Deltares (Peter.Gijsbers@deltares.nl)
~onnoroos, Alterra (Onno.Roosenschoon@wur.nl Jon Goodall, Univ South Carolina (goodall@engr.sc.edu)
Rob Knapen, Alterra (Rob.Knapen@wur.nl) (only on Monday)
Peter Schade, Bundesanstalt fuer Wasserbau, Germany (Peter.Schade@BAW.DE)

Apologies:

Jon Goodall, Univ South Carolina (goodall@engr.sc.edu)

Objective:
OpenMI version 2.0

Documents:
http://www.openmi.org/
http://sourceforge.net/projects/openmi
wiki.openmi.org/OATC  

 Agenda & Minutes ((warning) Minutes are under construction (warning) )

1. Minutes from previous OATC meeting

No comments to the minutes from the previous meeting. The minutes were accepted. 

2. Maintenance and support

We reviewed the list of reported bugs. Some were already fixed (now in the OpenMI-1.4.1-dev branch on source forge) to be included in the next release. Two bugs remained on the list and were assigned to Adrain and Jan, respectively.

The are two feature requests, which both can and will be included in the next SDK and GUI release 1.4.1. Stef and Jan will take care of this.

A few questions has not been answered. We agree that questions posted on the help forum should be answered quickly (next day or so). Jan will be responsible for this and either provide an answer him selves or make sure that someone else does it.

3. OpenMI 2.0 Issues

3.1 Use cases

GOTO use cases

no actions to be done

3.2 OpenMI 2.0 architecture

3.2.1 DataOperation (suggestion from Adrian Harper)

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

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

...

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 connection dialog.

3.2.2 ValuesSet (from

...

Unknown User (don) (Gena))

One of the solutions, hope it is not too exterme but certainly a modern programming technique:

Code Block
public interface IExchangeItem
 {
    T GetValue<T>(time);
 }

unit test:

Code Block
IExchangeItem exchangeItem = new ExchangeItem();
 IValueSet valueSet = exchangeItem.GetValue<IValueSet>(time);

...

Code Block
public interface IValueSet
 {
     IElementSet ElementSet { get; }
     IQuantity { get; }

      double\[\] Values { get; }
 }

If there are constructive arguments that IValueSet should be only double[] then the folowing code sounds better, and we will get rid of a few interfaces (which is always good once functionality remains the same (smile) :

Code Block
IExchangeItem exchangeItem = new ExchangeItem();
 double\[\] valueSet = exchangeItem.GetValue<double\[\]>(time);

Please check a complete and working example in attachment. Hope you'll have time to have a look at it next week (wink) . In example a method GetValues() should use seme different strategy instead of all those if(...).

...