I order to avoid any ambiguities the only official definition of the OpenMI standard is provided with the OpenMI standard release. (Download the OpenMI Standard).
The OpenMI standard release is a zipped directory structure, which contains the java and the C# code of the implemented interfaces, the compiled library files, and the standard definition document.
The entry point for the standard definition is the OpenMI.Standard.Definition.htm file, which is also shown below:
In the C# code the following statements serve as the key requirements for OpenMI compliance:
Similar rules apply to the Java implementation.
The OpenMI Standard consists of 4 enumerations and 24 interfaces which all together defines 96 methods or properties. Each of these methods/properties is unambiguously defined in the source code of the release.
As an example the documentation for one of these 96 methods is given below
Clearly the standard definition is neither amusing or easy reading. The main purpose of the standard definition is to provide unambiguous definitions in case of doubts for how to implement specific methods. In order to understand the basic concept of OpenMI or to learn how to use OpenMI in different contexts reading the documents under the heading "OpenMI for developers" or "OpenMI for modelers" is recommended.
An overview of the OpenMI standard interfaces is shown on the figure below. Click on the figure for better viewing