OpenMI Standard

Last updated
OpenMI Standard
OpenMI logo.png
Developer(s) OpenMI Association
Website http://www.openmi.org

The OpenMI (Open Modeling Interface) Standard defines an interface that allows models to exchange data in memory at run-time. When the standard is implemented, existing models can be run simultaneously and share information, for instance at each time step, 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.

Contents

The OpenMI standard is owned and maintained by the OpenMI Association, an open, not for profit group of international organizations and people. On the 1st of July 2014 the Open Geospatial Consortium (OGC®) membership has approved the Open Modelling Interface Standard Version 2 (OpenMI) as an OGC standard.

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”. [1]

The OpenMI standard interface has three functions:

OpenMI standard in a nutshell

The OpenMI is interface-based

The OpenMI is open

The OpenMI is a standard

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. [3]

History

In 2001 the European Commission funded (under the Fifth Framework Programme) a research project named HarmonIT in order to develop and implement a European Open Modeling Interface that would simplify the linking of Hydrology related models. This need was called for in the Water Framework Directive (WFD) that identified whole catchment modelling as a key part of integrated water management. For further development and demonstration the OpenMI-Life Project was carried out within the European Commission Directorate General for the Environment's "LIFE"-Programme.

To further promote the use and dissemination of OpenMI, the OpenMI Association was founded in 2007. It opened the way to companies, public organisations and universities interested in system analysis and modelling to contribute successfully in the development of the OpenMI Standard Interface.

During the years, several versions of OpenMI were released:

An extended version of this history can be found here.

OpenMI standard for users and developers

The OpenMI standard is defined by a set of software interfaces, in C# and Java, 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 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. [4]

OpenMI compliant models

As the standard is free to use, there is not a complete list of OpenMI compliant models and tools. The OpenMI Association aims to keep an overview of models and tools here. The literature overview provides another entry for compliant models and tools.

Referenced documents

  1. Gregersen, J. B., et al (2007). “OpenMI: Open Modelling Interface”. Journal of Hydroinformatics 9(3), 175-191.
  2. “The OpenMI Document Series, Part A – Scope: For the OpenMI (Version 1.4)”. OpenMI Association. Retrieved on 2009-05-26.
  3. “The OpenMI Document Series, Part A – Scope: For the OpenMI (Version 1.4)”. OpenMI Association. Retrieved on 2009-05-26.
  4. "OpenMI Association Website - About OpenMI". OpenMI Association. Retrieved on 2009-05-28.

Related Research Articles

The term Web service (WS) is either:

Eclipse (software) Java software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.

GRASS GIS free, open source geographical information system

Geographic Resources Analysis Support System is a geographic information system (GIS) software suite used for geospatial data management and analysis, image processing, producing graphics and maps, spatial and temporal modeling, and visualizing. It can handle raster, topological vector, image processing, and graphic data.

In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information. The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these. Some computer hardware devices, such as a touchscreen, can both send and receive data through the interface, while others such as a mouse or microphone may only provide an interface to send data to a given system.

Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications.

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control. OPC specifies the communication of real-time plant data between control devices from different manufacturers.

GeoTools is a free software (LGPL) GIS toolkit for developing standards compliant solutions. It provides an implementation of Open Geospatial Consortium (OGC) specifications as they are developed. GeoTools is a contributor to the GeoAPI project - a vendor-neutral set of Java interfaces derived from OGC specifications - and implements a subset of those.

The Java Portlet Specification defines a contract between the portlet container and portlets and provides a convenient programming model for Java portlet developers.

The international standard IEC 61499, addressing the topic of function blocks for industrial process measurement and control systems, was initially published in 2005. The specification of IEC 61499 defines a generic model for distributed control systems and is based on the IEC 61131 standard. The concepts of IEC 61499 are also explained by Lewis and Zoitl as well as Vyatkin.

JTS Topology Suite is an open-source Java software library that provides an object model for Euclidean planar linear geometry together with a set of fundamental geometric functions. JTS is primarily intended to be used as a core component of vector-based geomatics software such as geographical information systems. It can also be used as a general-purpose library providing algorithms in computational geometry.

The Open Geospatial Consortium Web Coverage Service Interface Standard (WCS) defines Web-based retrieval of coverages – that is, digital geospatial information representing space/time-varying phenomena.

Association for Standardization of Automation and Measuring Systems or ASAM is an incorporated association under German law. Its members are primarily international car manufacturers, suppliers and engineering service providers from the automotive industry. The association coordinates the development of technical standards, which are developed by working groups composed of experts from its member companies. ASAM pursues the vision that the tools of a development process chain can be freely interconnected and allow a seamless exchange of data. The standards define protocols, data models, file formats and application programming interfaces (APIs) for the use in the development and testing of automotive electronic control units. A large amount of popular tools in the areas of simulation, measurement, calibration and test automation are compliant to ASAM standards. Compliance shall guarantee interoperability of tools from different vendors, allow data exchange without the need for converters, and facilitate the exchange of unambiguous specification between customers and suppliers.

The JAUS Tool Set (JTS) is a software engineering tool for the design of software services used in a distributed computing environment. JTS provides a Graphical User Interface (GUI) and supporting tools for the rapid design, documentation, and implementation of service interfaces that adhere to the Society of Automotive Engineers' standard AS5684A, the JAUS Service Interface Design Language (JSIDL). JTS is designed to support the modeling, analysis, implementation, and testing of the protocol for an entire distributed system.

Open Geospatial Consortium standards organization

The Open Geospatial Consortium (OGC), an international voluntary consensus standards organization, originated in 1994. In the OGC, more than 500 commercial, governmental, nonprofit and research organizations worldwide collaborate in a consensus process encouraging development and implementation of open standards for geospatial content and services, sensor web and Internet of Things, GIS data processing and data sharing.

J2EE Management Specification is a Java specification request (JSR-77) for standardization of J2EE server management. The J2EE Management Specification abstracts the manageable parts of the J2EE architecture and defines an interface for accessing management information. This helps system administrators integrate J2EE servers into a system management environment and also helps application developers create their own management tools from scratch.

SensorThings API is an Open Geospatial Consortium (OGC) standard providing an open and unified framework to interconnect IoT sensing devices, data, and applications over the Web. It is an open standard addressing the syntactic interoperability and semantic interoperability of the Internet of Things. It complements the existing IoT networking protocols such CoAP, MQTT, HTTP, 6LowPAN. While the above-mentioned IoT networking protocols are addressing the ability for different IoT systems to exchange information, OGC SensorThings API is addressing the ability for different IoT systems to use and understand the exchanged information. As an OGC standard, SensorThings API also allows easy integration into existing Spatial Data Infrastructures or Geographic Information Systems.

The CAPE-OPEN Interface Standard consists of a series of specifications to expand the range of application of process simulation technologies. The CAPE-OPEN specifications comprise a set of software interfaces that allow plug and play inter-operability between a given Process Modelling Environment (PME) and a third-party Process Modelling Component (PMC).

ECSS-E-TM-10-25 "System Engineering - Engineering Design Model Data Exchange (CDF)" is a Technical Memorandum under the E-10 "System engineering" branch in the ECSS series of standards, handbooks and technical memoranda.