A new object model, the CAPE-OPEN Binary Interop Architecture (COBIA), has been proposed as a next step in the evolution of CAPE-OPEN. COBIA will include registration components, binary interoperability standards, and middleware that acts as a bridge between software components. Development of COBIA involves a number of tasks, grouped in phases, which can be performed incrementally.
Support for legacy COM-based CAPE-OPEN is a key requirement. COM-based CAPE-OPEN is a proven technology that needs to be supported by COBIA, however, COM is almost exclusively utilized on Microsoft Windows operating system, and a majority of the development is done with Microsoft development tools. COBIA is intended to run on any operating system, and to support a variety of development tools. The COM/COBIA interop will only be provided for the Windows platform.
The legacy argument does not hold for CORBA implementations – CORBA/COBIA interop is not anticipated to be part of the scope of COBIA.
COBIA development provides an opportunity to simplify existing interfaces and remove COM-specific artifacts in the current interface specifications. The M&T SIG has documented core interfaces required to implement a CAPE-OPEN compliant PME and PMCs and the M&T SIG has also identified interfaces that can be simplified or deprecated. Interface simplification is not considered a time-critical step and will not impact COBIA’s development.
Phase I of the COBIA project will provide proof of concept for COBIA. At that point, we will be able to demonstrate the functionality and provide a test suite for use by others to test implementations of COBIA compliant thermodynamic packages. With the COM/COBIA interop, the thermodynamic server of the test suite is accessible from COM PMEs and COM PMCs can be loaded by the material object (PME) part of the test suite.
Phase II of the COBIA project will allow development of both PMEs and PMCs. The IDL parser and stub code generators will simplify development in the pure C++ environment on the Microsoft Windows operating system by allowing developer to create and implement custom interfaces. As part of this phase, the IDL for the interfaces identified as core interfaces will be formalized and used in fully-functioning PMEs and PMCs.
Phase III of the COBIA project provides implementations of COBIA on specific platforms. In moving to additional platforms, platform-specific code will need to be developed for use on the target platform (language/operating system). Operating system-specific code includes file handling and string encoding. Language-specific code includes stub generators and marshalers for non-native languages. As part of this phase, .NET interoperability is achieved.
October 6, 2016. Review of Phase I by Methods & Tools Special Interest Group communicated to Management Board.