OpenMI Standard
Encyclopedia
The OpenMI Standard defines an interface that allows time-dependent models to exchange data at run-time. When the standard is implemented, existing models can be run simultaneously and share information at each timestep making model integration feasible at the operational level. The OpenMI standard was created with the intent to facilitate model integration, which is helpful in understanding and predicting process interactions and achieving an integrated approach to environmental management.

The OpenMI standard is owned and maintained by the OpenMI Association, an open, not for profit group of international organizations and people.

OpenMI architecture

OpenMI is based on a ‘request & reply’ mechanism and a pull-based pipe-and-filter architecture, which consists of communicating components (source components and target components) that “exchange memory-based data in a predefined way and in a predefined format”.

The OpenMI standard interface has three functions:
  • Model Definition: This allows other linkable components to find out what items a given model can exchange in terms of quantities simulated and the locations at which the quantities are simulated.
  • Configuration: This defines what will be exchanged when two models have been linked for a specific purpose.
  • Run-time operation: This enables the model to accept or provide data at run time.

The OpenMI is interface-based

  • Its standardized part is defined as a software interface specification.
  • The interface acts as a contract between software components.
  • The interface specification is not limited to specific technology platforms or implementations.
  • The interface implementation may be limited by the technology supported in a specific release.
  • By adopting the implemented interface a component becomes an “OpenMI-compliant” component.

The OpenMI is open

  • Its specification is publicly available via the Internet.
  • Its source code is open and available under Lesser GPL license conditions.
  • It enables linkages between different kinds of models developed by different disciplines for different scientific domains.
  • It offers a complete metadata structure to describe the numerical data that can be exchanged in terms of semantics, units, dimensions, spatial and temporal representation and data operations.
  • It provides a means to define exactly what is linked, how and when.
  • Its default implementation and software utilities are available under an open source software license.

The OpenMI is a standard

  • It standardizes the way data transfer is specified and executed.
  • It allows any model to talk to any other model (e.g. from a different developer) without the need for co-operation between model developers or close communication between integrators and model developers.
  • Its generic nature does not limit itself to a specific domain (for example the water discipline or even in the environmental discipline).


Note that the OpenMI enables validation by dimension checks on the quantities linked. However, the OpenMI cannot guarantee that the representation of the process in the component or the link to another component is scientifically valid. That is the responsibility of the modeller, model integrator and user.

History

The OpenMI standard was created through the European Commission
European Commission
The European Commission is the executive body of the European Union. The body is responsible for proposing legislation, implementing decisions, upholding the Union's treaties and the general day-to-day running of the Union....

 (under the Fifth Framework Programme) research project titled HarmonIT. This project responded to the need for a European Open Modelling Interface, identified in the Water Framework Directive
Water framework directive
The Water Framework Directive is a European Union directive which commits European Union member states to achieve good qualitative and quantitative status of all water bodies The Water Framework Directive (more formally the Directive 2000/60/EC of the European Parliament and of the Council of 23...

. From the middle of 2006 to the beginning of 2010, funding for the OpenMI is provided under the European Commission’s Life Programme, contributing to the implementation of the thematic component, LIFE-Environment. The project, titled OpenMI LIFE, supported the establishment of the OpenMI Association to further develop the OpenMI standard. Now the standard is owned and maintained by the OpenMI Association. More information on the history of the project is available.

To date, OpenMI has released four versions. The first three versions include OpenMI Version 1.0, 1.1 and 1.2. The current version is OpenMI 1.4. Version 1.4 was released to solve incompatibility problems between models compliant to various OpenMI versions. OpenMI Version 1.4 also includes a full standard version for C# (.NET) and Java.

OpenMI Version 2.0 is soon to be released.

OpenMI standard for users and developers

The OpenMI standard is defined by a set of software interfaces, in C# and Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, that a compliant model or component must implement.

The OpenMI can be described at two levels:
At the users’ level, the OpenMI provides a standard interface, which allows models to exchange data with each other and other modelling tools on a time step by time step basis as they run. The OpenMI Standard connects models from different suppliers, domains, concepts and spatial and temporal resolutions.

At the IT level, OpenMI standard is a software component interface definition for the computational core (the engine) of the computational models of the scientific domain of interest (e.g. water resources models). Model components that comply with this standard can, without any additional programming, be configured to exchange data during computation (at run-time). The standard supports two-way links where the involved models mutually depend on calculation results from each other. Linked models may run asynchronously with respect to timesteps, and data represented on different geometries (grids) can be exchanged seamlessly.

OpenMI compliant models

A complete list of OpenMI compliant models is continually updated by the OpenMI Association. A current list can be found on the website.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK