The UNIT SIG held a conference call from 4:30 pm till 5:30 pm Central European Time.
List of tests on implementations of ICapeUnit interface on Unit Operations
CTO raises the question if a validation of the Component-under-Test (here a Unit Operation) for the Test Category ICapeUnit should not verify that the Component-under-Test displays at least one Material inlet Port and one Material outlet Port. Several envisioned Tests would be skipped without inlet/outlet Material Ports to which Material Objects are connected. For example no Test exercising ICapeUnit::Connect could be run to completion. Or any Test verifying that Material Objects connected to inlet Ports are not modified by the Component-under-Test would be skipped.
Such a restriction is not accepted by UNIT SIG: the case of a distillation column simulated at total reflux without any inlet or outlet Material Ports is considered as a valid use case.
A Unit Operation without inlet/outlet Material Ports may need access to an external thermodynamic server: the Unit Operation will rely on the ICapeMaterialTemplateSystem interface in order to get the list of identifiers of Material Templates supported by the PME so that a choice of which Material Template(s) to use is made by the PMC or the end-user.
Access to ICapeMaterialTemplateSystem interface is made through the ICapeSimulationContext interface. Implementation of the ICapeMaterialTemplateSystem is not mandatory for a PME. So, by default, interface ICapeMaterialTemplateSystem on the Test Engine will not be present (or at least querying for that interface will not provide any pointer to it). However, if its absence makes a Component-under-Test not capable to run, and reliance on this interface is made clear to the end-user, the end-user of the CAPE-OPEN Test Suite (COTS) should be able to make ICapeMaterialTemplateSystem present. Currently there is no option, within the COTS Graphical User Interface, that lets the end-user do so. A suitable way to let the end-user make ICapeMaterialTemplateSystem present must be created.
If present, interface ICapeMaterialTemplateSystem may be used by the Component-under-Test to obtain the list of Material Templates supported by the PME. The list of Material Templates is a non externally modifiable property of the interface ICapeMaterialTemplateSystem, returned as an array of strings containing the “names” of the Material Templates. The list of names returned should be consistent with the thermodynamic configurations that are needed for the Component-under-Test to be exercised. How the thermodynamic configurations needed by the Component-under-Test are defined and made known to the Test Engine is not yet defined.
The presence of interface ICapeMaterialTemplateSystem on the Test Engine, once requested by the end-user of COTS, must appear in the test report. Reporting that interface ICapeMaterialTemplateSystem is present during the tests does not mean that such a presence is necessary for the Component-under-Test to run properly. It is just an information about the context in which the Tests were run. The Material Template automatically chosen by the Component-under-Test or chosen by the end-user, when prompted to make such a choice by the Component-under-Test, is not recorded in the test report. Does it belong to the configuration file gathering the conditions under which tests are run?
Once the Component-under-Test knows which Material Template is to be used, the Component-under-Test has the ability to create the desired type of Material Template, delivering a pointer to the created Material Template. For that the Component-under-Test exercises the method ICapeMaterialTemplateSystem::CreateMaterialTemplate. The pointer is supposed to be for an ICapeThermoMaterialTemplate interface, an interface that implements a method to create a Material Object from a Material Template.
The possibility will be investigated to have access to an actual Unit Operation capable to run without inlet/outlet Material Ports.
As Member of CO-LaN, should you want to join the UNIT Special Interest Group, please contact its leader, Krishna Murthy PENUKONDA (representative of AVEVA). The charter of the UNIT Special Interest Group is to develop, maintain and promote unit operation interface specifications. Since the merger of the Refinery Reactors Special Interest Group in the UNIT Special Interest Group, activities have progressively focused on the revision of the Petroleum Fraction interface specification which is closely linked to the UNIT interface specification.