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
scrollbar

...

See also: OATC Wiki Home

Date: June 8 - 9, 20010
Venue: Unesco-IHE, The Netherlands

...

Rob Knapen, Alterra, Wageningen UR (Rob.Knapen@wur.nl)
Standa Vanecek, DHI (s.vanecek@dhi.cz)
Stef Hummel, Deltares (stef.hummel@deltares.nl)
Jesper Grooss, DHI (jgr@dhigroup.com)
Peter Schade, Bundesanstalt fuer Wasserbau (peter.schade(at)baw.de)

Apologies:
~jnh@dhigroup Unknown User (jnh@dhigroup.com), DHI (jnh@dhigroup.com)
Peter Schade, Bundesanstalt fuer Wasserbau (peter.schade@baw.de)
Daniele Andreis,Universita` di Trento,(daniele.andreis@gmail.com)
Jan Gregersen, LicTek

...

IManagedState still returns the IIdentifiable, and will then include the description.

Does not have any impact on SDK.

Missing simulation time in events

We are trying to put more emphasis on different type of models, that need not be time progressing. Furthermore, from the ExchangeItemChangeEventArgs you can get to the exchange item and from there to the linkable component, which has the required information. (thumbs down)

Discussion turned into whether the ExchangeItemValueChanged event should be moved to the exchange item, such that you can register for a specific exchange item directly and do not need to register globally and filter out the exchange item that are not relevant. Would be preferable to have in case of distributed computation. But it is a bit more difficult to register in case you want to listen for all ExchangeItemValueChanged events. We move the event to the exchange item (thumbs up) .

Add URI to IDescribable

The right way to add ontology support is most likely to extend the exchange item and the value definition. The URI there by itself does not solve the problem, it is too ambiguous. (thumbs down)

Remove GetHashCode() and Equals() overrides in Backbone package

(thumbs up)

Similarly, the DescribeSameAs functions are a bit unclear: When does a quantity describe the same as another, which properties should match: description, unit (with description, caption, dimension and conversion factor) or dimension.

Suggestion to make utility functions in the SDK that can do the comparison on the required level and remove the DescribeSameAs methods.

Alternatively, the DescribeSameAs should be precisely documented.

(warning)

Simplify migration from 1.4 to 2.0

we would like to, but are lacking resources.

ExchangeItem filter interface

Can be done by adding special arguments. Otherwise it is an idea for an extension to the component.

Make IAdaptedOutput implement IInput

Will be reviewed (warning)

Refine IManageState and IByteStateConverter interfaces

This is a general problem for remoting of .Net and java classes, and can/must be solved by the remoting component.

Use DateTime type in ITime interface instead of using double and TimeSpan for duration

Has been discussed many times. No new important arguments. All these methods can be implemented in the SDK (in .NET as extension methods, which will be able to provide the exact same interface as the DateTime).

Component tool interface

Suggested as a component

Generic versions of exchange items and valueset

Cons: It adds complexity to the standard (A standard developer may not have/do not want to bother about this level of skills), and it is specific to java and .net.

pros: It adds more type safety to the code, and also some performance.

(warning)

Add missing value definition to IUnit

Discussion where it should be: Quantity/ValueDefinition or Unit. IValueDefinition.MissingDataValue (thumbs up) .

Add rasterdata support in IElementSet

Suggested as an extension to ElementSet.

Remove Values2D from IValueSet

It was introduced to make generic OutputAdapters be able to efficiently access the internal data. Only valid for time-space value sets, and should only be available on that specialization, but it will not be removed. (thumbs down)

Refine adapted output factories

The idea of several factories of a component is that each factory can describe it self, before it is asked to create its adapted outputs, so you may have two factories doing grid-to-line interpolation in two different ways, and you can choose which one to use. Also, it is easy for a component developer to add yet another general adapted output factory, if that is required. (thumbs down)

The issue with the awkward GetAdaptedOutputDescription() has been solved by letting the IIdentifiable extend IDescribable.

Update the IQuality interface

First change: Return type of IQuality.Categories differs in java and C#. Options:

Code Block

IEnumerable<ICategory>
IList<ICategory>
ICategory[]

IList<ICategory> (thumbs up) .

Second and third changes: Difficult to make as well a generic as a special quality implemention that does this correctly, taking into account that the category may come from another component elsewhere. Though it was found potentially usefull (thumbs up) .

Loop approach

Duplicate - has to do with parallelism

Create more layering in the interfaces

The extension strategy supports this.

Rename IOutput and IInput into IOutputItem and IInputItem

Has been discussed before. There is was also discussed that without "item" it is very implicit. (thumbs down)

How to make the standard extendable

Meeting with EPA on how to make OpenMI and FRAMES work together, and also several reviewers, have revealed the necessity of making the standard extendable instead of "all inclusive". since the "all inclusive" is very difficult to predict.

The base idea is to make very general versions of interfaces, and provide specializations of these. These specializations can be released at a later stage than the standard, and without affecting the standard.

See the section on "Possible candidates for extensions" and this additional discussion page about the Extendable OpenMI 2.0 version.

Strategy for releasing 2.0

...

IValueSet.ElementCount and IValueSet.TimesCount is removed - redundant (thumbs up) .

Whats next

  • Go through those issues marked with (warning) on a Skype meeting in the near future.
  • Go through bugs and documentation issues listed in the review.
  • Implement proposal for splitting up interfaces in general ones and specific ones. Jesper will look at in within the next month.
  • Dictionary implementation updated according to meeting with FRAMES people. Stef will do that.
  • Updates agreed on at this and last meeting should be implemented. Stef will take the lead, and can delegate.
  • GUI: Someone needs to find resources for this!