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