CAPE-OPEN is a set of standard specifications that descibes interoperability between Process Modelling Environments (PMEs) and Process Modelling Components (PMCs), specifically thermodynamic servers and unit operations. As such, CAPE-OPEN describes a set of interface definitions through which PMEs and PMCs interoperate, hand-in-hand with a set of agreements on how this interoperation takes place. But as we are talking about interoperability between process component, where one software component directly calls another, the standards specifications alone are not sufficient. One needs a set of agreements on binary compability as well, along with a set of API routines that allow for enumeration and instantiation of PMCs. Such tasks are typically performed by a middle-ware.
CAPE-OPEN until recently depended heavily on COM as a middle ware, and to a lesser extent CORBA. For a number of reasons, CO-LaN started developments on a new middle-ware,specific to CAPE-OPEN. This new middle ware is called COBIA: the CAPE-OPEN Binary Interoperability Architecture.
COBIA is published and maintained by CO-LaN. COBIA features a CPP-based development SDK, the COBIA SDK, available from the COBIA repository. COBIA-based developments are compatible with COM based CAPE-OPEN applications, and if you are developing new CAPE-OPEN based software, you may consider doing so using COBIA.
AmsterCHEM develops and makes available for free, the COBIA Class Wizard, which greatly simplified CAPE-OPEN development in visual studio. The COBIA Class Wizard essentially wraps Visual Studio integration around COBIA's code generation tools. After installation, all of the Wizard's functions are available from the Project menu, but also from various context menus:
In Visual Studio 2015 or later, just go to Extensions and Updates to install the COBIA wizard from the Visual Studio Market place:
To get started with COBIA based CAPE-OPEN developments in Visual Studio, a walk-through for creation of a CAPE-OPEN Unit Operation is provided in Help on COBIA Wizard.