In the mobility industry, notably the railway domain, collaborative processes are often described in natural language and stored in conventional documents. Documents are complemented by emails and meeting minutes exchanged between project stakeholders. Execution logs of past processes also contribute to this unstructured repository of process information. The tacit knowledge of experienced employees finally represents the gluing factor that ensures the successful finalization of processes.
In the railway domain, non-functional requirements, such as safety, reliability, certifiability, and standard compliance of both the systems and the business processes used in creating them are key to the success of products and projects. Fulfilling these non-functional requirements using traditional process execution based on unstructured process information is extremely costly and time-consuming. From these reasons, the automation and optimization of business processes for developing railway systems are constantly sought after in large business organizations.
The main problems with process automation and optimization based on unstructured information are:
A business process for configuring railway interlocking systems has been modeled in the BPMN (Business Process Model and Notation) language and implemented using the Camunda Suite. In this implementation, many of the tasks carried out manually before were automated and the process was deployed on an application server in the business unit. A key feature of BPMN suits like Camunda is represented by visual semantics: the workflows designed using visual model editors are seamlessly converted into executable code (e.g. Java byte code). In the proposed solution, semantic technologies are used to infer semantic process models, which refine existing models at runtime. The inferred models can be converted into executable code as well and injected into running process models without halting or restating them. To achieve this, besides the productive process, two additional processes are implemented:
The communication between the adaptation and the mining processes is realized using the “publish-subscribe” pattern: the mining process publishes new data mining results to the subscribing adaptation processes. While a single mining process is active at any moment, there can be several productive business processes coupled with one or several adaptation processes. In the latter case, the adaptation processes can each focus on a single concern, such as security or standard compliance. The adaptation processes use code injection to modify the behavior of the main processes at runtime. They may also require programming tasks and can therefore be stopped and restarted at any time, while the mining and the main processes are running. To determine the best adaptation strategy, programmers may also need to consult process experts for matching the mined semantic process models with real execution constrains. In this context, the key success factor for the project is the tight collaboration between scientists, software architects, programmers and the process experts from the business unit.
The proposed solution helps reduce the process execution time and costs through process automation and optimization. For safety-relevant processes, the adaptation techniques employed help seamlessly solve unexpected safety-related issues. This is facilitated by semantic technologies and a strict separation of concerns using the proposed 3-process method.
Tudor B. Ionescu is a software engineer with industry experience in safety-critical software development. He received his doctorate degree from the University of Stuttgart. He is now a employed as a senior software architect at SIEMENS.
His research interests include pattern-oriented software architecture, non-functional requirements, fault-tolerant computing, flexible workflow systems, web-based semantic technologies, and distributed computing.
Senior Software Architect