CMI Description: Difference between revisions

From CSDMS
Line 2: Line 2:
=   '''CSDMS Component Model Interface (version 1.0)''' =
=   '''CSDMS Component Model Interface (version 1.0)''' =
:
:
* Any model that provides the [[BMI_Description | Basic Model Interface (BMI)]] functions can be easily converted to a CSDMS plug-and-play component that has a CSDMS '''''Component Model Interface''''' or '''CMI'''.  This conversion/wrapping process is done by CSDMS staff.  The BMI functions are called by the CMI, by the framework and by service components.  It is not necessary for a developer to learn anything about the CMI unless they're just curious.
* Any model that provides the [[BMI_Description | '''Basic Model Interface (BMI)''']] functions can be easily converted to a CSDMS plug-and-play component that has a CSDMS '''''Component Model Interface''''' or '''CMI'''.  This conversion/wrapping process is done by CSDMS staff.  The BMI functions are called by the CMI, by the framework and by service components.  It is not necessary for a developer to learn anything about the CMI unless they're just curious.
:
:
* There is really only one CMI wrapper for each of the programming languages supported by CSDMS (C, C++, Fortran (all years), Java and Python).  It can be thought of as a "harness" that "slips onto" a BMI-enabled model.
* There is really only one CMI wrapper for each of the programming languages supported by CSDMS (C, C++, Fortran (all years), Java and Python).  It can be thought of as a "harness" that "slips onto" a BMI-enabled model.
Line 8: Line 8:
* The relationship between BMI and CMI is illustrated by the following diagram.
* The relationship between BMI and CMI is illustrated by the following diagram.
:
:
[[File:BMI_CMI_Image.png|200px|thumb|left]]
[[File:BMI_CMI_Image.png|400px|thumb|left]]

Revision as of 16:57, 24 September 2012

  CSDMS Component Model Interface (version 1.0)

  • Any model that provides the Basic Model Interface (BMI) functions can be easily converted to a CSDMS plug-and-play component that has a CSDMS Component Model Interface or CMI. This conversion/wrapping process is done by CSDMS staff. The BMI functions are called by the CMI, by the framework and by service components. It is not necessary for a developer to learn anything about the CMI unless they're just curious.
  • There is really only one CMI wrapper for each of the programming languages supported by CSDMS (C, C++, Fortran (all years), Java and Python). It can be thought of as a "harness" that "slips onto" a BMI-enabled model.
  • The relationship between BMI and CMI is illustrated by the following diagram.