This presentation was given by Professor Maurizio FERMEGLIA at the 5th CAPE-OPEN US Conference as paper 397D.
In an ongoing project having its final goal in the developer productivity, the Molecular Simulation Laboratory (MOSE) found out that object-oriented models and code generation are useful for minimizing infrastructural, repetitive coding in the field of process engineering and particularly in CAPE-OPEN generation code. MOSE started in 2005 the development of a toolkit, the capeopentoolkit.net, a developing tool that hides all the calls to COM API thus simplifying and minimizing the writing of the calculation part for CAPE-OPEN Unit operations.This toolkit, with its wizards and supporting applications is still a traditional software development tool, that expresses CAPE-OPEN items in terms of a programming language.
Because the developer of CAPE-OPEN units and modules normally is not a computer expert but a process expert, it would be “desirable” that she can define a unit operation in terms of her scientific language, not in terms of programming language. Therefore, the calculation part of a unit operation is a “flow” of equation(s), evaluated based on some input (ports) and some state (properties). Mathematical expressions, ports, flows are the DOMAIN items of a chemical engineering involved in CAPE-OPEN development.
In this paper, we present the recent development of a Domain Specific Language (DSL) for the definition of CAPE-OPEN Units in a visual form into Visual Studio.NET, based on the original API defined into CAPE-OPEN Toolkit .NET. The paper will also present the details of the recent development of CAPE-OPEN Studio .NET, a DSL designer for the definition of CAPE-OPEN Unit operations in a visual form into Visual Studio NET.
Details on the implementation and examples of use are presented.