=Paper=
{{Paper
|id=Vol-1140/paper7
|storemode=property
|title=Introducing Configurability into Scenario-Based Specification of
Business Processes
|pdfUrl=https://ceur-ws.org/Vol-1140/paper7.pdf
|volume=Vol-1140
|dblpUrl=https://dblp.org/rec/conf/zeus/PruferS14
}}
==Introducing Configurability into Scenario-Based Specification of
Business Processes==
Introducing Configurability into Scenario-Based Specification of Business Processes Robert Prüfer and Jan Sürmeli Humboldt-Universität zu Berlin, Germany {pruefer|suermeli}@informatik.hu-berlin.de Abstract Process model configuration is an approach to model highly similar variants of a process. In a configurable process model, events can be hidden or blocked to characterize variants. However, it may be difficult to model large processes consisting of many interacting units. To this end, one may use scenario-based specification, specifying the process in comprehensible, reoccurring parts that describe interactional behavior. In this paper, we take a look at how configurability and scenario-based specification could be merged in one approach. We particularly focus on the impact of permitting events in scenarios to be hidden or blocked. Keywords: Business Process Modeling, Process Configuration, Scenario-based Specification 1 Introduction Business process modeling enables design, analysis, and optimization of existing and new processes. One approach is to start with a generic reference model, and then to refine the model iteratively until the desired level of detail is reached. During refinement many highly similar variants of the process arise. To capture all these variants, the modeler could create many similar models. This immediately leads to problems regarding the maintenance and refactoring of these models. Process configuration [1,4,12] proposes to integrate all variants of a process in one single model, marking all possible variation points. A configurable process model M represents a finite set m1 , . . . , mn of highly similar process models. Each model mi is the result of configuring M with a configuration ci : A configuration interprets each variation point in M and thus yields a refined process model. Current approaches for configurable process models concentrate on classical formalisms to model concurrent processes such as workflow nets [2]. Such a process model captures the complete interaction of all units carrying out the process, e.g., people, web services, and information systems. Thus, it is difficult to model large processes, and to understand these models. Modeling each unit separately produces smaller models, and facilitates the analysis and implementation of each unit. However, the interaction of all units may still be hard to assess. Scenario-based specification tackles this problem: A scenario describes a part of the interaction of many units. A specification consists of a set of scenarios, N. Herzberg, M. Kunze (eds.): Proceedings of the 6th Central European Workshop on Services and their Composition (ZEUS 2014), Potsdam, Germany, 27-03-2014, published at http://ceur-ws.org Introducing Configurability into Scenario-Based Specification 43 covering all desired interactions. Well-established scenario-based specification techniques include High Level Message Sequence Charts (HMSCs) [14] and Live Sequence Charts (LSCs) [13]. For some formalisms, there exist techniques to automatically derive a process model for each unit, bridging the scenario-based view with the classical view on distributed systems, facilitating the reuse of analysis techniques, and the implementation of each unit. Our overall goal is to connect the clarity and intuitiveness of scenario-based specification with the advantages of configurable process models. In this paper, we discuss how the core concepts of process configuration may be introduced for scenario-based specifications. As in [3], we permit the three configuration options allowing, blocking, and hiding to be assigned to an event. We further propose possible meanings of these configuration options and compare them to the semantics of configurable workflow net models in [4]. We proceed as follows: We propose a syntax and discuss a possible semantics of configurable scenario-based specifications in Sect. 2. Afterwards, we discuss related work in Sect. 3. Finally, we conclude our paper and sketch possible future work in Sect. 4. 2 Configurable scenario-based specifications In this section, we propose a syntax (Sect. 2.2) and discuss possible semantics (Sect. 2.3) for configurable specifications. First, we recall syntax and semantics of scenario-based specifications (Sect. 2.1). We mostly forgo formal definitions, and describe the concepts by means of the following running example adapted from [3]. We consider a business trip application process, roughly consisting of the following steps: Either an employee or a secretary prepares a form, which is then submitted to an administrator. Concurrently to the preparation, the employee arranges the travel. Upon receipt of a form, an administrator may either approve or reject the form, or request for changes. In the latter case, the employee updates the form, again arranges the travel and resubmits. 2.1 Syntax and semantics of scenario-based specifications We informally recall the syntax and semantics of distributed Life Sequence Charts (dLSCs), a scenario-based specification language introduced in [10]. A partially ordered run (run, for short) is a set of events, partially ordered by causality. To each event e an activity α(e) is assigned. Figure 1 shows two runs: A labeled box represents an event e with its assigned activity α(e). The arrows model the causality relation. In run w1 , first a start-event occurs causing an EArrange-event and an EPrepare-event. Once both events have occurred, an ESubmit-event occurs, causing an AApprove-event. In the following, the notions of predecessor and successor always refer to the causality relation. A prefix is a predecessor-closed set of events, a suffix is a successor-closed set of events. A scenario is a finite run r distinctly partitioned into its prechart and its mainchart. The prechart contains at least the minimal events of r, that is, the 44 Robert Prüfer and Jan Sürmeli w2 : Secretary prepares, admin requests change and rejects start SPrepare EArrange EUpdate ESubmit w1 : Employee prepares, admin directly approves start ARequestChange EArrange EPrepare EArrange EUpdate ESubmit ESubmit AApprove AReject Figure 1: Two runs w1 and w2 of specification S in Fig. 2 events without predecessors. The main charts contains the remaining events. Graphically, we separate prechart and main chart by a dashed line. Ignoring the additional annotations in curly brackets, Fig. 2 shows six scenarios s1 , . . . , s6 . A specification S is a finite set of scenarios together with an initial run i. The scenarios s1 , . . . , s6 and the initial run i in Fig. 2 form the specification S. The semantics of a specification S is the set R(S) of its maximal runs. We first introduce the notion of a run of S, then we define the notion of maximal runs. Intuitively, we construct runs as follows: We begin with the initial run, and subsequently append the main chart of a scenario whose prechart matches the suffix of the currently constructed run. Formally, we define the notion of a run of S recursively. As base case, the initial run of S is a run of S. Let w be a run of S, and s be a scenario of S, such that the prechart of s is a suffix (up to isomorphism) of w. Then, appending the main chart of s to w yields a run of S. A run w of S is maximal, if it is not a prefix of any other run of S. That is, there is no prechart of a scenario in S which is a suffix (up to isomorphism) of w. As an example, in Fig. 1, w1 starts with i. As i is isomorphic to the prechart of s2 , we append the main chart of s2 . The prechart of s4 is now isomorphic to a suffix of the current run. We append s4 , yielding w1 . Similarly, we construct w2 by appending the main charts of s1 , s3 , s6 , s3 , and s5 to i. Both runs are maximal, therefore w1 , w2 ∈ R(S). 2.2 Syntax of configurable specifications We consider the configuration options of allowing, blocking, and hiding, denoted by A, B, and H, respectively. According to [3], allowing means to not change behavior, blocking removes the event together with all its successors, and hiding an event means to skip it while preserving remaining behavior. Introducing Configurability into Scenario-Based Specification 45 s1 : Preparation by Secretary s2 : Preparation by Employee start start SPrepare EArrange EPrepare {A, B} {A, B, H} {A, B} EArrange EUpdate ESubmit {A, B, H} {A} {A} s3 : Submit after checking s4 : Approval s5 : Rejection EArrange EUpdate ESubmit ESubmit ESubmit AApprove AReject {A, B} {A} {A} s6 : Request for Change ESubmit ARequestChange {A, B} i: Initialization EArrange EUpdate {A, B, H} {A} start Figure 2: A configurable specification (S, C) consisting of the specification S with scenarios s1 , . . . , s6 and initial run i; C is defined by annotations in curly brackets. To make a specification configurable, one chooses a set of configuration options for each event in a main chart. Thus, a configurable specification (S, C) is a specification S together with a function C mapping each event e of a main chart of a scenario in S to its configuration options C(e) ⊆ {A, B, H}. In the following, we restrict ourselves to configurable specifications where A ∈ C(e) for each event e. We depict C as annotations to events. We omit A, and if C(e) = {A}, we completely omit the annotation. Figure 2 shows a configurable specification (S, C). In the following example, we write x.y for the y-event in scenario x. E.g., A and B are the configuration options of s1 .SPrepare in Fig. 2. A configuration c of a configurable specification (S, C) is a function mapping each event e of a main chart of S to c(e) ∈ C(e). That is, a configuration chooses a configuration option for each event. We observe that c is properly determined by its blocked and hidden events. Thus, the following is a well-defined configuration of (S, C) in Fig. 2: c1 = {s1 .SPrepare, s3 .ESubmit, s6 .ARequestChange 7→ B}. In contrast to that, c2 = {s1 .SPrepare, s1 .EUpdate, s1 .ARequestChange 7→ B} is not a configuration of (S, C), because c2 (s1 .EUpdate) = B 6∈ C(s1 .EUpdate). 2.3 Semantics of configurable specifications We propose the semantics of a configurable specification (S, C) together with a configuration c of (S, C) to be a specification J(S, C)Kc . Thus, (S, C) represents 46 Robert Prüfer and Jan Sürmeli a set of specifications. Following the semantics in [3], we propose that allowing an event does not interfere with its occurrence. Therefore, allowing each event in (S, C) yields S. In the following, we say that c introduces or removes behavior, if R(J(S, C)Kc ) \ R(S) 6= ∅ or R(S) \ R(J(S, C)Kc ) 6= ∅, respectively. In the remainder, we separately discuss possible semantics of blocking and hiding. Blocking events. Intuitively, a blocked event and all its successors must not occur. We can think of two semantics Bfull and Bpart for blocking an event e in a scenario s: Under Bfull -semantics, the whole scenario s cannot occur and therefore is removed from the specification. Under Bpart -semantics e and all its successors are removed from s. For example, consider scenario s1 in Fig. 2 and example configuration c1 from Sect. 2. According to Bfull -semantics, s1 would be removed. According to Bpart -semantics, only the events s1 .SPrepare and s1 .EUpdate would be removed from s1 . We observe that both semantics Bfull and Bpart in general remove behavior: For example, under each of both semantics, w2 in Fig. 1 is not a run of J(S, C)Kc1 although it is a run of S. However, the Bpart -semantics has an additional impact: Removing an event with its successors in a scenario in general also introduces behavior: The construction of a run may yield prefixes, and thus may even allow to append new scenarios. Hiding events. According to [3], hiding an event e intuitively means to skip it while preserving all other behavior. Especially, the successors of e still can occur. Technically, α(e) is set to τ , neither removing nor introducing behavior. The crucial point with hiding events in scenarios is the different precondition for the occurrence of an event and of a scenario, respectively. In [3], the occurrence of an event is determined by the state of the process. As changing the activity of an event e has no impact on the state reached, hiding does not influence occurrence of any event. In contrast, occurrence of a scenario is determined by its prechart, i.e., whether a partial order of activities occurred. Therefore, changing the activity of an event in some scenario s can influence whether another scenario s0 can occur. Thus, changing the activity of an event can introduce or remove behavior. Consequently, it must be discussed how J(S, C)Kc can be defined such that behavior is preserved. This could range from simple changes in single precharts to the insertion of new scenarios. An elaborate discussion of this definition is out of the scope of this paper and is left for future work. 3 Related work We chose distributed life sequence charts (dLSCs)[10] as underlying formalism for scenarios, because (1) dLSCs are based on partially ordered runs of events, which easily allow to add concepts of configurability to distributed systems, and (2) there exist techniques [9,10] to synthesize distributed components out of a dLSC specification. Additionally, dLSCs adopt the concepts of prechart and main chart from LSCs [13] for composition of scenarios. Hence, a single scenario in form of a Introducing Configurability into Scenario-Based Specification 47 dLSC describes a self-contained story, which may be advantageous compared to the automata-based composition mechanism of HMSCs [14] as discussed in [11]. Similar to the scenario-based approach, the idea of Process Fragments [8] is to model small pieces of a process and to compose them. In contrast to scenarios, in this approach processes are assumed to be acyclic. Further, the approach does not enable the modeler to specify a distinguished precondition for occurrence of a process fragment. To compose two process fragments p1 and p2 , it must be explicitly specified which activities of p1 are to be connected to which activities of p2 [7]. The configuration options – allowing, blocking and hiding of events – are introduced in [4]. In [3,4], the authors tackle the problem of finding and character- izing the set of all configurations leading to a behaviorally correct process model. In [6], the authors describe techniques to discover a configurable process model from an event log. In [15], the authors describe how configurable process models may be created by merging process models. Both discovery and merging thus can be seen as alternative approaches yielding configurable process models. As an alternative to creating a configurable process model, an approach to improve an existing reference model is described in [16]. For an overview of approaches to cope with variability in Business Processes, see [5]. In Software Product Lines Engineering (SPLE) [17], a feature model represents variants of a product. Whereas the main purpose of a feature model is to characterize valid product lines, modeling variants of a business process aims at verifying behavioral properties of this process. 4 Conclusion and future work In this paper, we proposed syntax and possible semantics of configurable scenario- based specifications as a method to model variants of a process. We adopted an existing approach for configurable process models [4] to the scenario-based specification formalism of dLSCs [10]. As a proper semantics for hiding needs to be discussed carefully, this is an immediate starting point for future work. We restricted ourselves to a pure control flow view of a process. We believe that it is interesting to investigate data-dependent configurability. The approach to integrate data in scenarios in [11] could serve as a useful formal basis. This approach also introduces abstraction, allowing to specify optional behavior, which is interesting in combination with hiding. Further, a method to synthesize a configurable process model out of a configurable specification would allow to reuse techniques from [3] to characterize behaviorally correct process models. Whereas configurable process models have been assessed in case studies such as [12], the proposed formalism in this paper still needs evaluation. Here, we plan a case study in the healthcare sector. We believe that this is a reasonable application domain, because (1) healthcare processes consist of different actors performing complex interactional behavior, and (2) as individual treatment of patients inherently leads to different variants of one process, treatment of a significant number of patients could be captured by a configurable process model. 48 Robert Prüfer and Jan Sürmeli References 1. Process configuration, http://www.processconfiguration.com 2. van der Aalst, W.M.P., van Hee, K.M., ter Hofstede, A.H.M., Sidorova, N., Verbeek, H.M.W., Voorhoeve, M., Wynn, M.T.: Soundness of workflow nets: Classification, decidability, and analysis. Form. Asp. Comput. 23(3), 333–363 (May 2011) 3. van der Aalst, W.M.P., Lohmann, N., La Rosa, M.: Ensuring correctness during process configuration via partner synthesis. Inf. Syst. 37(6), 574–592 (2012) 4. van der Aalst, W., Dumas, M., Gottschalk, F., ter Hofstede, A., La Rosa, M., Mendling, J.: Preserving Correctness During Business Process Model Configuration. Formal Aspects of Computing (2010) 5. Ayora, C., Torres, V., Weber, B., Reichert, M., Pelechano, V.: Enhancing modeling and change support for process families through change patterns. In: Nurcan, S., Proper, H.A., Soffer, P., Krogstie, J., Schmidt, R., Halpin, T.A., Bider, I. (eds.) BMMDS/EMMSAD. Lecture Notes in Business Information Processing, vol. 147, pp. 246–260. Springer (2013) 6. Buijs, J., Dongen, B., van der Aalst, W.: Mining configurable process models from collections of event logs. In: Daniel, F., Wang, J., Weber, B. (eds.) Business Process Management, Lecture Notes in Computer Science, vol. 8094, pp. 33–48. Springer Berlin Heidelberg (2013) 7. Eberle, H., Leymann, F., Schleicher, D., Schumm, D., Unger, T.: Process fragment composition operations. In: APSCC. pp. 157–163. IEEE Computer Society (2010) 8. Eberle, H., Unger, T., Leymann, F.: Process fragments. In: Meersman, R., Dillon, T.S., Herrero, P. (eds.) OTM Conferences (1). Lecture Notes in Computer Science, vol. 5870, pp. 398–405. Springer (2009) 9. Fahland, D.: From Scenarios To Components. Ph.D. thesis, Humboldt-Universität zu Berlin (2010), http://repository.tue.nl/685341 10. Fahland, D., Kantor, A.: Synthesizing decentralized components from a variant of live sequence charts. In: Hammoudi, S., Pires, L.F., Filipe, J., das Neves, R.C. (eds.) MODELSWARD. pp. 25–38. SciTePress (2013) 11. Fahland, D., Prüfer, R.: Data and Abstraction for Scenario-Based Modeling with Petri Nets. In: Haddad, S., Pomello, L. (eds.) Petri Nets 2012. Lecture Notes in Computer Science, vol. 7347, pp. 168 – 187. Hamburg, Germany (June 2012) 12. Gottschalk, F., Wagemakers, T., Jansen-Vullers, M., van der Aalst, W., La Rosa, M.: Configurable process models: Experiences from a municipality case study. In: Proceedings of the 21st International Conference on Advanced Information Systems (CAiSE 09). Lecture Notes in Computer Science, vol. 5565, pp. 486–500. Springer Verlag, Berlin Heidelberg (June 2009) 13. Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2003) 14. ITU-T: Message Sequence Chart (MSC). Recommendation Z.120, International Telecommunication Union, Geneva (2004) 15. La Rosa, M., Dumas, M., Uba, R., Dijkman, R.: Business process model merging: An approach to business process consolidation. ACM Trans. Softw. Eng. Methodol. 22(2), 11:1–11:42 (Mar 2013) 16. Li, C., Reichert, M., Wombacher, A.: The minadept clustering approach for dis- covering reference process models out of process variants. International Journal of Cooperative Information Systems 19(03n04), 159–203 (2010) 17. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer (2005)