...
The OpenMI standard was designed to allow easy migration of existing model engines. The |
---|
...
- The MyEngineDLL is the compiled core engine code (compiled dll from e.g. Fortran).
- The MyEngineDLLAccess class is responsible for translating the Win32Api from MyEngineDLL to .NET (C#).
- Calling conventions and exception handling are different for .NET and Fortran. The MyEngineDotNetAccess class ensures that these operations follow the .NET conventions.
- The MyEngineWrapper class implements the IEngine interface, which means that it can be accessed by the LinkableEngine class.
- The MyLinkableEngine class is responsible for the creation of the MyEngineWrapper class and for assigning a reference to this class to a protected field variable in the LinkableEngine class, thus enabling this class to access the MyEngineWrapper class. The MyLinkableEngine class implement the OpenMI.Standard.IlinkableComponent interface and therefor is the LinkableComponent (the OpenMI compliant component).
...