A new middleware, the CAPE-OPEN Binary Interop Architecture (COBIA), is the next step in the evolution of CAPE-OPEN. COBIA includes 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 are 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 systems, and a majority of the development is done with Microsoft development tools. COBIA intends to run on any operating system, and to support a variety of development tools. The COM/COBIA interop is only 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 Methods &Tools Special Interest Group 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.

Roadmap

Phase I of the COBIA project provides proof of concept for COBIA. Phase I demonstrates the functionality and provides a test suite (a PME) for use by any party to test implementations of COBIA-based CAPE-OPEN compliant thermodynamic packages. With the COM/COBIA interop (COMBIA), the thermodynamic server of the test suite is accessible from COM PMEs and COM PMCs can be loaded by the material object part of the test suite.

Phase II of the COBIA project allows development of both PMEs and PMCs in C++. The IDL parser and stub code generators simplify development in the pure C++ environment on the Microsoft Windows operating systems by allowing developer to create and implement custom interfaces. As part of this phase, the IDL corresponding to the interfaces identified as core interfaces is formalized and used in fully-functioning PMEs and PMCs relying on COBIA for CAPE-OPEN interoperability.

Phase III of the COBIA project provides implementations of COBIA on different platforms. In moving to additional platforms, platform-specific code needs 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.

Timeline

Phase I (March 2016 – October 2016)

March 10, 2016. Phase I development contracted to AmsterCHEM.

October 5, 2016. Phase I deliverables demonstrated at CAPE-OPEN 2016 Annual Meeting.

October 6, 2016. Review of Phase I by Methods & Tools Special Interest Group communicated to CO-LaN Management Board.

Phase II (November 2016 – October 2020)

November 10, 2016. Phase II approved by Management Board.

October 12, 2017. Partial delivery of COBIA Phase II presented at CAPE-OPEN 2017 Annual Meeting.

December 4, 2017. Proposal of a Reporting interface common to all PMCs submitted for comments.

October 8, 2018. Training course on software development using COBIA Phase II deliverables.

October 5, 2020. Public release of COBIA 1.2.0.0 Runtime and Software Development Kit. Formal end of Phase II.

October 14, 2020. Announcements by KBC Advanced Technologies and by Heat Transfer Research Inc. of upcoming COBIA-based software releases.

February 24, 2021. Maintenance release of COBIA 1.2: version 1.2.0.1

March 15, 2021. Maintenance and functionality extension release of COBIA 1.2: version 1.2.0.2.

March 18, 2021. Maintenance release of COBIA 1.2: version 1.2.0.3.

April 12, 2021. Maintenance release of COBIA 1.2: version 1.2.0.4.

April 19, 2021: AmsterCHEM contracted for maintenance of Phase II deliverables (runtime and Software Development Kit).

April 23, 2021. Maintenance release of COBIA 1.2: version 1.2.0.5.

June 11, 2021: Maintenance release of COBIA 1.2: version 1.2.0.6.

July 15, 2021: Maintenance release of COBIA 1.2: version 1.2.0.7.

October 22, 2021: Maintenance release of COBIA 1.2: version 1.2.0.8.

March 31, 2022: Maintenance release of COBIA 1.2: version 1.2.0.9.

November 12, 2022: Maintenance release of COBIA 1.2: version 1.2.0.10.

December 16, 2022: Maintenance release of COBIA 1.2: version 1.2.0.11.

June 21, 2023: Maintenance release of COBIA 1.2: version 1.2.0.12.

September 19, 2023: Maintenance release of COBIA 1.2: version 1.2.0.13.

February 6, 2024: Patch release of COBIA 1.2: version 1.2.1.0.

Phase III (February 2021 – on going)

October 10, 2018: presentation on needs for marshalling at CAPE-OPEN 2018 Annual Meeting.

January 14, 2021. Memo by Methods & Tools Special Interest Group to CO-LaN Management Board on COBIA Phase III scope and work programme.

February 11, 2021. Management Board approves the scope and work programme of COBIA Phase III.

March 11, 2021. Management Board approves budget for 2021 to cover Work Package 1 of Phase III.

April 19, 2021. Contract and first work authorizations signed with AmsterCHEM for marshalling development.

July 27, 2021: Methods & Tools Special Interest Group notifies CO-LaN Management Board that marshalling design meet desired objectives.

July 28, 2021: launch of implementation of generic marshaller.

October 27, 2021: delivery and demonstration of generic COBIA-based marshaller at CAPE-OPEN 2021 Annual Meeting.

August 26, 2022: within Work Package 1, launch of on-the-fly generation of proxies for non-CAPE-OPEN interfaces and developed of a data transport mechanism based on shared memory for in-process marshalling.

September 21, 2022: proposal for a COBIA Threading architecture described at CAPE-OPEN 2022 Annual Meeting.

Results

COBIA results are made available through a repository. COBIA Phase II deliverables are publicly available for download. CO-LaN Members can check out the source code of COBIA from this link.