Natural Language Generation
Business analysts often do not feel confident in understanding and interpreting process models (PMs). In this context, the problem is not only that domain experts are often not trained to create process models themselves, but also that they are not trained to read process models that others have created. Hence, the interpretation of these models frequently has to rely on a discourse in natural language. A transformation of process models into a natural language description of these processes is desired. Though it is usually possible to use canned texts or plain templates to create appropriate texts, this is unanimously not recommended in many contexts due to much manual effort to create the texts, in flexible representations and many other reasons. This is where techniques of Natural Language Generation (NLG) can be applied effectively. However, there are only little sophisticated verbalization techniques for procedural and even none for declarative process models. Since the latter are even less comprehensible, verbalization methods for declarative PMs are strongly required. Thus, the aim of this project is to provide an approach to generate natural language models for declarative process models. The latter must be easily comprehensible for users and must be intuitive for them.
The Model Workbench follows the principles of a classic client-server architecture. The base of the server component is a model repository implemented on top of the graph database Neo4j. Since many calculations traverse the model graph they leverage from this graph representation extensively. For the generation, manipulation and deletion of model elements so called operators are available. These base operators again can be composed to complex operators gaining effortless all system-specific features like transaction management, undo/redo support and model persistence. At the top of the architecture, the Web clients represent the HTML5-based user interface. They access the server provided operators via a ReST API that is also extensible for specific usage.