COULIS: CAPE-OPEN Unit-operation Logger (Inter-process Server)
COULIS is a unit operation wrapper. It exposes itself as a CAPE-OPEN unit operation and can therefore be loaded into flowsheet simulations. At the moment it is initialized, it will ask you which unit operation you will want to run. COULIS will load that the specified unit operation, and forward all traffic between the unit operation and the simulation environment.
At the moment you insert the unit operation (or load it from file) COULIS will ask you for a log file (*.olg). If a log file is specified, all communication between the simulation environment and the unit operation will be logged. As the unit operation terminates, you are prompted to view the log file. Logging is intended for development and debugging purposes: to pinpoint communication problems between simulation environments and unit operations and see how they can be resolved.
If you do not choose a log file, the unit operation will still function but will not be logged.
Because COULIS will need to know which unit operation to use after reloading a simulation from file, COULIS interferes with the loading and storing of a unit operation. It adds information of its own. To that extent it exposes an ICapePersistStreamInit interface (independent on whether the chosen unit operation exposes ICapePersistStreamInit or ICapePersistStream). The choice of unit operation is made at the InitNew member of ICapePersistStreamInit; if for any reason this member is not called, the COULIS unit operation will not function and the log file will tell you so. The logged information on persistence is the communication between the simulation environment and COULIS (not between COULIS and the actual unit operation).
COULIS is part of OATS.
Options
- By default, COULIS will prompt you for a log file when creating a unit operation. You can set the log file names to Automatic from the Options menu in OATS. Now, logs will appear in an "Oats logs" folder on your desktop. The file name will contain the full time and data of the creation of the log.
- By default, COULIS will prompt you to open a log once a unit operation has terminated. You can turn this off from the Options menu in OATS.
- By default, you will be asked for which unit operation to use when first creating a unit operation. You can skip this step and always select a unit operation of a specific kind, by using the "COULIS logs unit operation" menu in OATS.
- By default, COULIS will not log reference counts after QueryInterface, AddRef and Release; you can however enable this option from the Options menu in OATS.
64-bit vs 32-bit Unit Operations
If you want to log 32-bit CAPE-OPEN Unit Operations, use the 32-bit version of COULIS. If you want to log 64-bit CAPE-OPEN Unit Operations, use the 64-bit version of COULIS.