Enhancing Variability Modeling in Process-Aware Information Systems through Change Patterns

The increasing adoption of process-aware information systems (PAIS) together with the high variability in business processes has resulted in collections of process families. These families correspond to a business process model and its variants, which can comprise hundreds or thousands of di? erent ways of realizing this process. Managing process variability in this context can be very challenging, labor-intensive, and error-prone. Motivated by this challenge, several approaches enabling process variability have been developed. However, with these approaches PAIS engineers usually are required to model and manage all the elements of a process family one by one and ensure its correctness by their own. This can be tedious and error-prone especially when a process family comprises hundreds or thousands of process variants. For example, PAIS engineers need to be aware of each variation and dependence of each process variant. Thus, there is a need of methods that allow PAIS engineers to model process variability more explicitly, especially at a level of abstraction higher than the one provided by the existing process variability approaches. However, how process variability is represented is critical for de? ning these methods (e.g., what language constructs are used to model process variability). In this context, using modeling patterns (reusable solutions to a commonly occurring problem) is a promising way to address these issues. For example, patterns have been proved as an e? cient solution to model individual business processes. The objective of this thesis is to enhance the modeling of variability in process families through change patterns. For such purpose, ? rst, we conduct a systematic study to analyze existing process variability approaches regarding their expressiveness with respect to process variability modeling as well as their process support. Thus, we can identify the core set of variability-speci? c language constructs. In addition, based on the obtained empirical evidence, we derive the VIVACE framework, a complete characterization of process variability which comprises also a core set of features fostering process variability. VIVACE enables PAIS engineers to evaluate existing process variability approaches as well as to select that variability approach meeting their requirements best. In addition, it helps process engineers in dealing with PAISs supporting process variability. Second, based on the identi? ed language constructs, we present a set of 10 change patterns for process families and show how they can be implemented in a process variability approach. In particular, these patterns support process family modeling and evolution and ensure process family correctness by automatically introducing and deleting modeling elements. In order to prove their e? ectiveness and analyze their suitability, we applied these change patterns in a real scenario. More concretely, we conduct a case study with a safety standard with a high degree of variability. The case study results show that the application of the change patterns can reduce the e? ort for process family modeling by 34% and for evolution by 40%. In addition, we have analyzed how PAIS engineers apply the patterns and their perceptions of this application. Most of them expressed some bene? t when applying the change patterns, did not perceived an increase of mental e? ort for applying the patterns, and agreed upon the usefulness and ease of use of the patterns.