Flexible Process Variant Binding in Information Systems with Software Product Line Engineering

Philipp Hehnle,Manfred Reichert
2024-10-23
Abstract:Different organisations often run similar digitised business processes to achieve their business goals. However, organisations often need to slightly adapt the business processes implemented in an information system in order to adopt them. Various approaches have been proposed to manage variants in process models. While these approaches mainly deal with control flow variability, in previous work we introduced an approach to manage implementation variants of digitised business processes. In this context Software Product Line (SPL) Engineering was applied to manage a set of common core artefacts including a process model from which Process-Aware Information Systems (PAIS) can be derived, which differ in the implementation of their process activities. % substitute the implementation of activities of a business process. When deriving a PAIS, implementations are selected for each process activity and then included in the PAIS at compilation time. One challenge that has not yet been solved is giving users of digitised business processes the option of selecting several features at runtime, i.e. selecting multiple activity implementations at runtime. This paper extends our previous work by not only allowing for the selection of activity implementations at compile time, but also at start time and runtime. Consequently, it becomes possible to defer the decision as to which features should be selected to start time and runtime. Furthermore, multiple implementations of a particular activity may be selected and executed concurrently. As another challenge different organisation may want to collect and base their decision on different information in a digitised business process. Consequently, the presented approach also allows customising the input and output data of activities when deriving a PAIS for a specific organisation.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: in the digital business processes of information systems, how to provide greater flexibility so that users can select multiple activity implementations at runtime, not just at compile - time. Specifically, the authors extended their previous work and proposed a method that allows the selection of activity implementations at startup time and runtime, thus enabling the deferral of decision - making time and allowing multiple activity implementations to be executed concurrently. In addition, this method also allows the customization of input and output data of activities when deriving PAIS (Process - Aware Information Systems) for a specific organization. ### Problem Statement 1. **Limitations of Static Selection of Activity Implementations**: - In the previous PAIS product line approach, the implementation of activities could only be selected at compile - time, lacking flexibility. - This static method cannot meet the requirements of dynamically selecting activity implementations at startup or runtime in practical applications. 2. **Selection of Activity Implementations and Concurrent Execution**: - Currently, only one activity implementation can be selected, and multiple implementations cannot be selected for concurrent execution simultaneously. - Concurrent execution may lead to data conflicts and accidental overwriting. 3. **Customization of Data Structures**: - When deriving PAIS products, the input and output data structures of activities cannot be customized. - If the data structure needs to be modified, the source code must be adjusted manually, which may lead to compile errors. ### Solution To overcome the above problems, the authors proposed the following improvements: 1. **Adopting the Concept of SPL Engineering**: - Apply the concepts in SPL engineering to the PAIS product line to support the customization of data structures when deriving PAIS products. 2. **Introducing a Dynamic Selection Mechanism**: - Use known techniques in SPL engineering to enable the selection of activity implementations at compile - time, startup - time, and runtime. - Provide a mechanism to select and deselect activity implementations at runtime and handle the impact on related data. 3. **Supporting Concurrent Execution**: - Propose a method that allows multiple activity implementations to be executed concurrently and ensures that data will not be accidentally overwritten. Through these improvements, the authors hope to improve the flexibility and adaptability of the PAIS product line, enabling it to better meet the specific needs of different organizations.