Configuring process variants through semantic reasoning in systems engineering

Organizations faces the challenge to adapt their business process according changes that may occur in the dynamic environment in which they operate. These changes happen for different reasons, such as the introduction of new laws, changes in customers' attitudes, changes of legal regulations, among others. The result is the existence of different versions of the same process, known as process variants (Valenca et al., 2013), which aim to represent all the related contexts that may differ in activities, resources, control flow and data. Thus, it is common organizations to maintain repositories containing a collection of related process variants, known as process family (Reichert & Weber, 2012). As designing and implementing each process variant from scratch and maintaining it separately would be inefficient and costly for companies (Ayora et al., 2013), several approaches emerged aiming to support the representation of a family of business process variants via a single model. Such model is known as customizable process model, from which each variant can be derived via certain model transformations such as add, delete or move. The element of the process model that can be customized via transformations is known as variation point (La Rosa et al., 2017). There are two approaches to variability management: by restriction and by extension. The first approach, also known as configurable process model, refers to a customizable process model that contains all behaviour of all process variants. In this approach, the customization is achieved by restricting the behaviour of the customizable process model using the delete operation. The second approach refers to a customizable process model that represents the most common behaviour, or the behaviour that is shared by most process variants. For the customization, the behaviour needs to be extended using the insert and modification operators to represent a particular situation (La Rosa et al., 2017; Asadi et al., 2014). These approaches permit redundancies to be eliminated by representing variant commonalities only once (Ayora et al., 2012) thus providing a global view of the business process variants (Assy et al., 2015). It also fosters model reuse, i.e., parts of the model can be shared among multiple variants (Reichert & Weber, 2012) and comparison (Buijs et al., 2013). In both approaches, selection of the most suitable variant is referred to as configuration or customization, which consists in selecting the alternatives available for each variation point. The goal of configuring a process model is to adapt the model such that it fits the model user's individual needs better than the original process model. Thus, configuring a process model means to limit the behaviour depicted by an existing process model in such a way that it only allows for the desired behaviour of the model (Gottschalk, 2009). When configuring process variants, one challenge is to design a single basic process model from which the process variants can be configured. Another challenge is to design, model, and structure the adjustments that may be applied to configure the different process variants to this basic process model (Hallerbach et al., 2010). Besides, the process variant need be correctly configured. For example, if a model element or an entire path is removed during the customization, the remaining model elements need to be reconnected to ensure the syntactic correctness. Also, the configuration of variation points attached to parallel splits, decision points and synchronization points may lead to the introduction of problems (e.g., deadlocks) (La Rosa, 2009; van der Aalst et al., 2008).