OpenMI systems can be considered software systems that combine a set of OpenMI- compliant components, possibly in addition to non-OpenMI-compliant components. Such a system can deploy and run OpenMI components by accessing them through their standard interface. The system however, also needs to be able to locate and instantiate the openMI component properly. For that purpose, the OMI file has been defined.
The OpenMI file is an XML file which contains sufficient information to identify a component, instantiate the binary unit on your machine (i.e. find the assembly and the class to instantiate) and populate it with input data. An XML schema definition has been created to enable default tools to parse the information.
In principle, OMI files can reside anywhere on your system. Users are therefore free to organize their own repository, as long as they can find the relevant OMI files themselves when configuring their model combination.
An example OMI file is given in Figure 1. The underlying schema definition (XSD) is provided in Figure 2 and 3.
Figure 1 OMI file example
Figure 2 XML schema definition of the OMI file (graphical)
Figure 3 XML schema definition of the OMI file
Many model applications are designed so to user will enter data needed for the model run through the application user interface and subsequently save all this into files or a database. Implementing some code that will create and save the corresponding OMI file when the user hits the save button can be a very useful and simple way to ensure that such models automatically becomes available as OpenMI compliant models and directly can be added to OpenMI configurations e.g. using the OpenMI configuration editor.