This page offers an overview of the tools for process configuration that were developed during the course of this research. The tools can be downloaded from here.

Synergia - comprehensive support for configurable process models

Synergia is an open-source toolset which comprises six interrelated tools to provide end-to-end support for process model configuration. Its tools assist domain experts and process modelers in creating questionnaire models and configurable process models, in mapping questionnaire models to process models, in answering interactive questionnaires and in individualizing process models according to the answers given. The purpose of the toolset is therefore to foster synergism between domain models and process models via the use of questionnaires. Subject-matter experts can configure process models by answering interactive questionnaires. Questions are expressed in natural language and relate to the variability of a given domain. The answers to a questionnaire are collected and used to automatically generate and individualized version of the configurable process model. Questionnaires are captured in questionnaire models. These are constructed by modelers with the input from domain experts. Modelers also take care of constructing the configurable reference process model and to link it to the questionnaire model. An overview of the approach is shown below.

Synergia: how it works

The toolset currently supports process models defined in the C-(i)EPC and C-YAWL notations. Each component of the toolset is a stand-alone application responsible for a specific task in the configuration process. The following picture provides an overview of the various tools and shows how they interact with each other via their input/output formats:

Questionnaire Designer is a pluggable rich client platform that enables modelers to visually create questionnaire models (.qml) which can be later imported into Quaestio. A diagram file (.qml_diagram) is created for each questionnaire model and synchronized with the latter. All the features of a questionnaire model can be specified. The tool also permits users to validate their models to spot undesired circular dependencies among facts or questions.

Quaestio is an interactive questionnaire tool which can be used by domain experts to configure the features of a given domain. The tool accepts an XML serialization (.qml) of a questionnaire model and generates a questionnaire that guides the configuration of the domain interactively. Questions are posed only if they are relevant, in an order consistent with the order dependencies defined in the model. Moreover, the tool prevents users from entering conflicting answers to subsequent questions, by dynamically checking the domain constraints defined over the answers that can be given (i.e. the answer to a given question may become constrained or irrelevant after answering another question). Questions can be answered explicitly or by using default values, and they can be rolled back if a decision needs to be reconsidered. Quaestio embodies a SAT solver based on Shared Binary Decision Diagrams (SBDDs) to handle the constraints dynamically. The answers given to a questionnaire can be exported as a domain configuration (.dcl).

Process Merger is a command-line based tool for merging (C-)EPC process models into a C-EPC process model. This tool accepts two or more models in the EPML format (.epml) and merges them by creating a configurable process model in C-EPC. Nodes that belong to all input models are only taken once, and reconnected to all other nodes that are not in common by means of configurable XOR connectors. It is possible to select the matching algorithm (Greedy or Hungarian) used to determine the mapping between the nodes of the two input models, and to customize the matching thresholds for functions/events and for connectors. To compute the similarity between each pair of input models, the Process Merger tool embeds the Process Similarity tool, which is also available for download separately. Moreover, this tool can compute the digest of a merged model. The digest is a projection of a configurable model where only the nodes that satisfy a given occurrence frequency appear, e.g. all nodes that occur in at least three of the five input models, or all nodes that are in common to all input models. Placeholder nodes may be added to avoid disconnections in the resulting digest.

C-iEPC Designer is a visual designer for EPC, C-EPC and C-iEPC process models. It is built on top of EPCTools - an open-source plug-in for the Eclipse IDE developed at the University of Paderborn. C-iEPC Designer supports the new EPC interchange format EPML 2.0, which allows users to capture resources and business objects in an iEPC model and to define variations thereof.

C-YAWL Editor. From release 2.1beta, the YAWL Editor caters for the creation and configuration of C-YAWL models. It is possible to mark a task as configurable, and to configure its inflow, outflow ports, cancelation region and multiple instance parameters. Before applying a configuration, it is possible to preview the resulting individualized model by greying out those elements that will be removed from the model. Moreover, it includes a component that instantaneously checks the correctness of any induced individualization given a configuration. This component is based on the open-source Wendy tool.

C-Mapper allows users to define c-mappings (.cmap) between questionnaire models (.qml) and configurable process models defined in C-EPC or C-YAWL. Upon saving the c-mapping file, the tool will store a link to the respective questionnaire model and configurable process model, so that when the c-mapping file is open again, these linked files will be automatically retrieved (provided they are in the same folder). With this tool one can also map more than one format of the same configurable process model to a single c-mapping file. For example, it is possible to link a process model that is represented in both C-EPC and C-YAWL to the same c-mapping file.

Process Configurator configures a process model according to the answers of a questionnaire. It accepts a domain configuration (.dcl) generated by Quaestio, the serialization of a process model in C-EPC (.epml) or C-YAWL (.yawl), and the c-mapping between the latter and the questionnaire model of the domain configuration. The tool uses the c-mapping to configure those variation points in the process model that are affected by the domain configuration. Since it is possible to export a partial domain configuration from Quaestio, not all the variation points in the process model might be impacted by this domain configuration. In this case the result will be a partial process configuration. The output is an intermediate format representing a (partially) configured C-EPC or C-YAWL process model where (some) variation points are tagged as configured and assigned to one of their variants.

Process Individualizer implements an algorithm to generate an individualized process model from a (partially) configured process model, by transforming each configured variation point to the variant it has been assigned to, and removing those process fragments that are no longer required. The resulting model is guaranteed to be semantically correct (e.g. no deadlocks) provided the configurable process model is as such. In other words, the individualized process model is well-formed provided the input model is so. The tool currently generates EPC models from configured C-EPC models, and YAWL models from configured C-YAWL models.