Within the CAPE-OPEN 2018 Annual Meeting, Michael HLAVINKA (Bryan Research & Engineering) presented (PDF, 338 Kbytes) the activity report of the Methods & Tools Special Interest Group over the period from October 2017 till September 2018. Bill BARRETT (U.S. Environmental Protection Agency), leader of the M&T SIG, was unable to attend: he prepared the report together with the other core members of the SIG, including Michael HLAVINKA.

Michael begins by listing the current membership in the Methods & Tools SIG where the core members are highlighted. Core members are regularly attending the meetings called by the M&T SIG: three conference calls per month. The Methods & Tools SIG is faced with a large amount of work and appeals for new members to help with the tasks at hand.

The M&T SIG charter is then displayed, quickly since there is no change to vision and responsibilities. The activities conducted during the last 12 months are then listed in two separate groups: one around COBIA and one in interaction with the Interoperability SIG. One should however not forget the Flowsheet Monitoring interface specification: a Request For Comments will be launched on November 1, 2018.

Regarding COBIA, the project is at Phase II and the deliverables of this phase are being beta tested. All CAPE-OPEN interfaces of business value are present in COBIA at this stage. So fully functional PMCs and PMEs can be now developed using COBIA middleware. Phase III remains ahead of us and will deliver interoperability between different platforms and languages. Indeed October 2018 sees the release of COBIA software for testing like what happened during the training session on October 8, 2018.

COBIA comes with updates or modifications to a number of CAPE-OPEN interfaces, especially Common interfaces. Persistence interfaces are among these. The main design decisions include explicit separation of object serialization from storage to persistent media, COMBIA handles COM persistence interoperability and as few as possible interfaces. The new interfaces are implemented in the beta version of COBIA. The consequences of transitioning from COM to COBIA in terms of persistence have been analyzed and the definition of the necessary interfaces is underway.

The Parameter Common interfaces need also to be revised with the constraint of handling only strongly typed values and of eliminating whatever ressembles to VARIANT. A clear separation is made between the common (members: mode, type, validate current value, validation status) and type-specific aspects of a Parameter. Worth mentioning that Parameter arrays are homogeneous by design. Parameter specification interfaces have been designed as well and are used for energy and information streams. This last part is new and all is implemented in the beta version of COBIA.

Within the Parameter interface re-design, came up the issue of adding an economic dimension. The CO-LaN membership was asked to provide input and a number of answers and suggestions were received. As a result two new interfaces are proposed. Still need to be fully documented and implemented in COBIA.

There is also a proposal for a Reporting Common interface, that is a general reporting interface. The CO-LaN membership provided its input on an overview of the design which has been progressed as a document but is not implemented in the beta version of COBIA.

Error handling has also been re-designed with the objective to have it simple but effective and fully implemented as a result, in contrast with the incomplete implementations often found for the current COM error handling.

M&T SIG has also progressed on the development of a COBIA threading model to enable efficient use of COBIA in multi-threaded applications. To be finalized in Phase III of COBIA.

Goals for the next twelve months, apart from working with the Interoperability SIG on versioning, testing and evaluation of COBIA and certification tools, are focusing on COBIA:

  • Phase II Beta version release.
  • Testing and evaluation of Phase II.
  • Develop interface specifications and RFC.
    • Parameters, Persistence, Reporting, Error Handling
  • Scoping of Phase III
    • Threading model development, marshaling, language bindings