Versions Compared

Key

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

...

  1. The model user loads the OpenMI GUI on the PC.
  2. The model user uses the GUI to browse for available LinkableCompnentsLinkableComponents.
  3. The model user finds the Simple River OMI file.
  4. The model user finds the OMI file for the runoff database.
  5. The model user loads the two files (components) into the GUI.
  6. The model user creates a unidirectional and geo-referenced link from the runoff database to 'All Branches' input exchange item in the Simple River model.
  7. The model user selects input and output exchange items for the link (input quantity for the Simple River is 'Inflow').
  8. The model user defines the simulation period.
  9. The model user runs the simulation.

...

Wrapping basically means that you create a C# class that implements the
ILinkableComponent interface. This wrapper will communicate internally with your engine
core. The wrapper will appear to the users as a 'black box', which means that all
communication will take place through the ILinkebleComponent interface (Figure 5).

Fig. 5 OpenMI wrapping pattern
 
One further advantage of using the wrapping pattern is that you can keep the OpenMIspecific OpenMI specific implementations separated from your engine core. Typically, the engines will also be used as standalone applications where OpenMI is not used and it is naturally an advantage to be able to use the same engine in different contexts. This means that even in situations where new engines are built the wrapping pattern may still be the best choice.
 

...