Description

We propose a formal behavioral model based on the Symbolic Observation Graph (SOG) allowing to find the set of correct process model configuration choices while avoiding the state-space explosion problem. These choices are used to support business analysts in deriving correct variants. Our model takes into account the soundness requirements.

How to ensure the process model configuration soundness

Implementation: Proof of concept

As a proof of concept, we have extended the Signavio Process Editor in order to take into account the configuration of a designed configurable process. So first, we developed a plugin that allows to start the configuration procedure by charging an input file including the list of correct configurations. This list is provided by our SOG-based application that computes the corresponding SOG of the designed process and returns the set of its correct possible configurations. An example of this input file is in Fig. 4. In this example, two connectors are configurable: S1 and J2. For each conector's name, different types are defined.

ALGO

Fig. 4: Default values of the « wrench » button of two different types of conectors XOR and AND


Afterwards, we have particularly extended a function that initially allows to load a list of possible connectors types (default) that may replace a designed connector. This list is charged in the button « wrench » that is represented by the orange icon in Fig. 5.

ALGO

Fig. 5: Default values of the « wrench » button of two different types of conectors XOR and AND


In our work, we extended this function according to the following algorithm (c.f, Fig. 6). This function is triggered when the designer selects a given connector. It takes as input: (i) the selected connector (i.e., the variable "Element"), (ii) the set of correct configurations that were charged from the SOG file (i.e., the variable "dataMorphs"), and (iii) the connectors configurations that were already applied (i.e., the variable "confs"). As a result, it loads the list of allowed correct configurations in the variable "sogPossibleMorphs".
In this algorithm, we go through the configurations sequences (i.e. "dataMorphs.sequences"), sequence-by-sequence using x (line 9). And we go through the different configurations in each sequence x using id (line 10). Then, using a boolean variable "add", we test that this selected Element's name does exist in the correct configurations ids (i.e., "dataMorphs.sequences[x][id]") (lines 11 and 12). We need also to test if this Element was already configured, than it should have been saved in "confs". In this case, this Element should not be added to the list of configurations (lines 13-18). Otherwise, we add this Element in the variable "sogPossibleMorphs". Finally, the functions EliminateRedundant and Sort allows to eliminate the redundant types and to sort the types list of configurations respectively.

ALGO

Fig. 6: The algorithm allowing to load the correct configurations computed by the SOG

An example

In order to illustrate our algorithm, we take the example of the configurable process in Fig.1. and the "dataMorphs" matrix in Fig.7.

ALGO

Fig. 7: The dataMorphs matrix containing 17 sequences (i.e. x) and 6 elements names (i.e. id)

Initially, confs does not contain any configured elements. Then, the designer selects the connector S1 (cf. Fig.8). According to Fig.7, 3 connectors types are possible: OR, XOR and AND.

ALGO

Fig. 8: Possible configurations for S1

We propose to choose XOR. Hence, thanks to the test of line 15 in the algorithm 1, the only allowed configurations of the remaining connectors are highlited in the Fig.9. For example, when selecting the S3 configurable connector, we still have 3 possible proposed types: AND, XOR and OR (see Fig. 10). However, when selection J2, there are only 2 possible configurations: OR and XOR (see Fig. 11), and so on.

ALGO

Fig. 9: The dataMorphs matrix after configuring S1 to XOR


ALGO

Fig. 10: Possible configurations for S3


ALGO

Fig. 11: Possible configurations for J2


ALGO

Fig. 12: Possible configurations for J3


ALGO

Fig. 13: Possible configurations for S4


ALGO

Fig. 14: Possible configurations for J4

References

[1] W. V. D. Aalst, N. Lohmann, and M. L. Rosa. Ensuring correctness during process configuration via partner synthesis. Information Systems, 37(6):574 – 592, 2012.
[2] M. Rosemann andW. V. D. Aalst. A configurable reference modelling language. Information Systems, 32(1):1 – 23, 2007.
[3] Vogelaar, J., et al.: Comparing business processes to determine the feasibility of configurable models: A case study. In: BPM Workshops, France. (2011) 50-61



Authors:
Souha Boubaker (souha.boubaker@telecom-sudparis.eu)
Kais Klai (kais.klai@lipn.univ-paris13.fr)
Hedi Kortas (hedi.kortas@esprit.tn)
Walid Gaaloul (walid.gaaloul@telecom-sudparis.eu)