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.
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.
Phase I (March 2016 – October 2016)
Phase II (November 2016 – October 2020)
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 18.104.22.168 Runtime and Software Development Kit. Formal end of Phase II.
February 24, 2021. Maintenance release of COBIA 1.2: version 22.214.171.124
March 15, 2021. Maintenance and functionality extension release of COBIA 1.2: version 126.96.36.199.
March 18, 2021. Maintenance release of COBIA 1.2: version 188.8.131.52.
April 12, 2021. Maintenance release of COBIA 1.2: version 184.108.40.206.
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 220.127.116.11.
June 11, 2021: Maintenance release of COBIA 1.2: version 18.104.22.168.
July 15, 2021: Maintenance release of COBIA 1.2: version 22.214.171.124.
October 22, 2021: Maintenance release of COBIA 1.2: version 126.96.36.199.
March 31, 2022: Maintenance release of COBIA 1.2: version 188.8.131.52.
November 12, 2022: Maintenance release of COBIA 1.2: version 184.108.40.206.
December 16, 2022: Maintenance release of COBIA 1.2: version 220.127.116.11.
June 21, 2023: Maintenance release of COBIA 1.2: version 18.104.22.168.
Phase III (February 2021 – on going)
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.
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.