MINERVA: Model drIveN and sErvice oRiented framework for the continuous business process improVement & relAted tools

 

Tools Dimension / Eclipse MINERVA design distribution 

Overview

The Eclipse MINERVA design distribution is our own Eclipse distribution to be used in the development of service oriented systems from Business Processes by means of BPSOM and the QVT transformations from BPMN2 BP models to SoaML service models. We have integrated the following plug-ins on top of the Eclipse Modeling distribution which includes Eclipse EMF for creating, managing and validating metamodels in .ecore format (which is similar to EMOF):

SAP BPMN2 editor: an implementation of the BPMN2 standard as an .ecore metamodel and a corresponding editor, which allows edition and validation of BPMN2 models against the metamodel

Eclipse MediniQVT plug-in: provides an editor and engine to define and execute QVT transformations in accordance with the QVT-Relations language

Eclipse UML Papyrus plug-in: provides a graphical environment for UML2 modeling, which allows the construction of UML profiles on top of it

In addition to integrating existing plug-ins we have developed two plug-ins to support functionalities that there were not provided by Eclipse:

Eclipse SoaML plug-in: an implementation of the SoaML standard on top of the Eclipse UML Papyrus plug-in which allows the modeling of services using SoaML, and the import and export of models in XMI format, along with UML2 modeling

Eclipse iS4BPe18 plug-in: (insert Services for BP execution) provides a way to automatically populate a BPMN2 model with the corresponding invocations to the services generated from the SoaML model, to provide the basis for making it executable in a process engine

For the implementation of the defined services in the selected technology and to make the BPMN2 model completely executable in a BPMN2 process engine, another Eclipse distribution is needed which we called Eclipse for development, which will preferably be an Eclipse JEE distribution, or the Eclipse ModelPro for code generation. In Fig. 1 the complete view of tools support provided by the Eclipse MINERVA design distribution is shown, along with the defined inputs and outputs.

Fig. 1. MINERVA tools support for BP and services modelling and implementation

The Eclipse MINERVA design distribution has also a defined structure to be able to experiment with the inputs and outputs of the QVT transformations, by means of the Reseller BP example we provide (adapted from Weske,2007). A buyer places an order for products from the reseller who on receiving the request sends the invoice and the associated products. The buyer receives the products and, assuming everything is fine, settles the received invoice, for instance, sending a payment order to a credit entity ordering to perform a money transfer in its behalf. Once the money arrives at the reseller, the BP completes. In Fig. 2 the Reseller BP is shown in diagram form.

Fig. 2. Reseller BP adapted from (Weske,2007) with ServiceTask identification

The "Reseller BP" provided has selected activities identified as ServiceTask and for each provided transformation: bidirectional with UML simple Interfaces (bidir1), bidirectional with ServiceInterface (bidir1ServInt) and unidirectional with UML simple Interfaces (unidir1), the SoaML service model generated by means of the QVT transformations is given. The "Reseller BP Interfaces" provided has the same activities identified as ServiceTask and also has Interfaces, Operations and Messages defined for each ServiceTask activity identified, and the corresponding SoaML service model generated by means of the QVT transformations given for BP models with other elements than ServiceTask identification. The SoaML bidir1 service model generated is also imported into the Eclipse SoaML plug-in, and several example diagrams are provided. Selecting the Papyrus perspective and navigating to the Model explorer the SoaML elements and diagrams can be seen. All SoaML service models generated can also be seen as a tree using the EMF editor, and the BPMN2 models with the SAP BPMN2 editor. 

The QVT transformations are not provided in the Eclipse MINERVA design distribution nor the .ECORE metamodels for BPMN2, SoaML and UML used in them. If you want to use them please contact me.

 

 

 Author: Andrea Delgado 2010