Presentation made at AIChE 2012 Annual Meeting in Pittsburgh, PA on Tuesday October 30, 2012.
Authors: Jasper M. Van Baten, AmsterCHEM, Cuevas del Almanzora, Spain, Michel Pons, CO-LaN, Lyon, France and William M. Barrett, US Environmental Protection Agency, Cincinnati, OH
Process simulation applications require the exchange of significant amounts of data between the flowsheet environment, unit operation model, and thermodynamic server. Packing and unpacking various data types and exchanging data using structured text-based architectures, including XML-based systems such as the OPC Unified Architecture (UA), impose significant processing overhead that greatly affect process simulation application performance. For this reason, process simulation middleware protocols need to utilize low-level native data calls to maintain performance.
When CAPE-OPEN was initially developed, it focused on two middleware architectures: Microsoft’s Common Object Model (COM) and Common Object Request Broker Architecture (CORBA). The COM object model is tightly integrated with the Windows architecture, while CORBA provides nearly the same level of integration for Unix/Linux-based systems. At present, most CAPE-OPEN implementations are in-process and COM-based because COM’s overhead is similar to C function calls. However, the limitations of COM and CORBA have limited the ability of CAPE-OPEN to expand the scope of process simulation into areas such as high-performance computing and the overall enterprise architecture of operating companies.
COM-based CAPE-OPEN has become a mature environment for developing process simulation applications. However, as information technology architectures continue to evolve, CAPE-OPEN needs to adapt to current programming paradigms. This paper presents a proposal for updating the CAPE-OPEN object model to incorporate modern capabilities such as .Net, JAVA, high performance computing and web-based interoperation while maintaining the functionality of the existing COM- and CORBA-based implementations. In addition, the proposed object model will allow for easier and less error-prone CAPE-OPEN software development.