27. April 2024

Generating code from BPMN process models

In these two master thesis, it is shown how BPMN tools can be used to define process models which can be executed by S-BPM-based execution engines. The combined use of the results of these theses is shown in the following videos.

BPMN zu PASS
Übersetzung von Geschäftsprozessmodellen

Tim Braunauer

Kurzfassung

Die Business Process Model and Notation (BPMN) ist der am weitesten verbreitete
Standard für die Modellierung von Geschäftsprozessen. Es gibt jedoch auch andere
Standards, wie das subjektorientierte Parallel Activity Specification Schema (PASS).
Aufgrund der wenigen Werkzeuge, die für den PASS Standard zur Verfügung stehen, ist
dieser jedoch nicht weit verbreitet, obwohl er aufgrund seiner Maschinenlesbarkeit
und der Möglichkeit zur Umwandlung in einen ausführbaren Code einige Vorteile hat.
Das Ziel dieser Arbeit ist es, eine Lösung zur Modellierung von PASS Modellen mit
BPMN Tools zu erarbeiten. Zum einen wird ein Modellierungsleitfaden entwickelt, der
angibt, wie mit BPMN Tools subjektorientiert modelliert werden kann. Zum anderen
wird eine Software erstellt und beschrieben, welche BPMN Modelle in PASS Modelle
übersetzen kann.
Der erste Teil dieser Arbeit beschäftige sich mit der Analyse des PASS Standards. Hier
wird auch auf den Aufbau des Standards als Ontologie eingegangen. Im nächsten
Schritt wird eine Elementeinschränkung für den BPMN Standard erstellt, die nur dessen
übersetzbare Elemente enthält. Auch diese Elemente werden näher analysiert. Danach
wird der Modellierungsleitfaden beschrieben.
Im nächsten Teil der Arbeit wird erklärt, wie die Übersetzung von BPMN nach PASS
durchgeführt wird. Dabei wird der Übersetzungsprozess für jedes Element beschrieben.
Danach wird erklärt, wie die übersetzten Modelle auf Vollständigkeit und Richtigkeit
überprüft werden. Außerdem wird mit Hilfe der Service Interaction Patterns beschrieben,
welche BPMN Modelle übersetzt werden können und welche nicht.
Dabei wurde gezeigt, dass alle Service Interaction Pattern, sofern diese mit dem ausgearbeiteten
Modellierungsleitfaden erstellt wurden, übersetzbar sind. Sieben der neun
übersetzten Modelle sind auch ausführbar. In der Arbeit wird auch genau beschrieben,
warum die restlichen zwei Modelle nicht ohne Probleme ausführbar sind.
Am Ende der Masterarbeit wird ein Ausblick gegeben, wie das Projekt weitergeführt
werden kann und wie weitere BPMN-Elemente unterstützt und übersetzt werden
können.

Complete thesis (in German): BPMN zu PASS

Automatic code generation from Business Process Models

Gerhard Zeisler

Abstract

The industry standard for modelling Business Processes, called Business Process Model
and Notation (BPMN), exhibits limitations concerning its direct execution within a
workflow engine. Due to those limitations, an additional layer is required to transform
a process model into an executable workflow. In order to mitigate those limitations,
and to enable a more user centered approach of modelling, Subject-oriented Business
Process Management (S-BPM) was developed in literature. This approach is accompanied
by the underlying language, called Parallel Activity Specification Schema (PASS),
used to formally describe process models.
Since S-BPM is executable and also shows similarities to the actor model known in
software development, a novel approach for workflow engines is examined in this
thesis. The core aspect of the approach is a translation from the standard exchange
format for PASS models, known as Web Ontology Language (OWL) documents, into
executable code.
The main purpose of this thesis is to describe a potential concept around this approach
and to prove its feasibility. Overall goal is to utilize the benefits of the actor model
not only for modelling but also for process execution. To put the proposed concept
to the test, a prototype is developed and validated by executing the known service
interaction patterns.
The validation shows that the developed prototype is able to execute the modelled
patterns while also exhibiting the desired behaviour. Therefore, not only the feasibility
can be seen as proven, but also strong indications for the validity of the approach are
demonstrated.
In conclusion, the proposed concept provides a capable approach for executing PASS
models. However, further research and refinements of the prototype are necessary.
In the future, this approach could exhibit potential for simplifying the execution of
Business Processes involving multiple companies. Additionally, the inclusion of Internet
of Things (IoT) devices into Business Process execution based on the proposed approach
require further research.

Complete thesis: Automatic code generation from Business Process Models