Versions Compared

Key

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

...

The Dissimination Committee has concluded that the current www.OpenMI.org is is quite OK, so this site will remain the main OpenMI entry.
However, we will still move the wiki.OpenMI.org content from the public.wldelft.nl site to the new confluence server that has been prepared to serve the wiki.OpenMI.org space.
Action: Gena / Stef / Deltares automation department. Will be done by Friday 19 th.

2. Status of the implementation .NET

...

The buffer has been "ported" to the latest 2.0.
However, there is an issue to adress: the extrapolation, interpolation, etc. (warning) Will be addressed next meeting.

2.4 Time interpolation Decorator

...

  • details on working with decorators
  • actually run the application
    Details on working with decorators have been presented by Adrian. (thumbs up) We all agreed to the approach of introducing a button that shows a window containing the available decorator and/or factories. The selected one will be added to the component, and thus to the list of output items. By repeated doing this step, the end user can build a chain of decorators.

Action Adrian will also take care that the documentation on the GUI is up to date.

2.6 SimpleRiver Model - running in GUI

...

Introducing the OpenMI exception is being rediscussed.
The opinion is that it might be done, but that it does not have a very high priority. During the present meeting we will focus on other, more urgent, issues. The OpenMI exception then will be considered at the september meeting (warning).

2.7 OpenMI 2.0 wrapper around OpenMI 1.4 Components

Jesper worked on it quite a bit, together with Stef when needed. Quite some progression was made.
The content of the task shifted from wrapping a 1.4 LinkableComponent to wrapping the 1.4 Sdk.Wrapper.IEngine.
So people who have implemented their wrapper based on the IEngine will be able to migrate their model to 2.0 quite easily.
Action DHI will take care that there will also be a document describing how to migrate.

3 Status of the Java implementation

...

  1. Are we happy with IOutputItem.IsAvailable() and with ILinkableComponent.Validate(), or do we need additional methods on LinkableComponent and/or ExchangeItem to check validity.
    Conclusion after a first discussion: we are happy. The only small change that has been proposed and has been agreed on is (thumbs up):
    (thumbs up) The return value will be an array of strings, to let the component compose a multi line message.
    Some second thoughts came up when Gena emphasized that by this mechanism the outer world can not determine which input/output exchange items are in erroneous state, and that a component is not able provide messages during initialization.

...

  1. Conclusion after a second discussion (thumbs up): The Validate will indeed remain as decided. The StatusChangedEventArgument will be extend with a array of message strings, thus offering each component to provide also messages on other status changes.
    During the discussion the issue came up on when to call Validate. (thumbs up) We agree that it only can be (repeatedly) called between Initialize and the first Update.
    Image Added
  1. Should we introduce a boolean argument that indicates whether the component should run in a pull mode (like in OpenMI 1.4) or in loop mode?
  2. Discuss component operation mode here comment from Peter Gijsbers need to be discussed
    Discussion/Conclusion: (thumbs up) We decided to let the LinkableComponent have a propery: CascadingUpdateCallsDisabled.
    The default is false, indicating that the component is running in Pull Driven mode (there will be a cascade of update() calls. This Pull Driven mode has to be supported by every component.
    If set to true, the component is expected to run Update()-step by Update-Step(), controlled by some outer world (which may be another component). If the component does not support this Update() by Update() way of running, it will throw an Exception when CascadingUpdateCallsDisabled= true is called.
    In the GUI, the user hat to tell which component is at the end of the chain. This controlling component will be triggered first.

...

Code Block
  public interface IInputItem : IExchangeItem
  {
      IMatrix Values { get; set; }
  }

  public interface IOutputItem : IExchangeItem
  {
      IMatrix Values { get; }
  }

  public interface IMatrix : IList
  {
      int Rows { get; }

      int Columns { get; }

      object GetValue(int row, int column);

      void SetValue(object value, int row, int column);

      object[,] GetValues(int startRow, int endRow, int startColumn, int endColumn);

      void SetValues(object[,] values, int startRow, int endRow, int startColumn, int endColumn);
  }

...

5. Release 2.0 plan

5.1. Documentation / basic / changes

...