Full text
Extending BPMN 2.0 for Modelling the Combination of Activities That Involve Data Constraints Luisa Parody, Mar´ıa Teresa G´omez-L´opez, and Rafael M. Gasca University of Seville, Computer Languages and Systems Department, Avda. Reina Mercedes s/n, 41012 Seville, Spain {lparody,maytegomez,gasca}@us.es http://www.lsi.us.es/~quivir/ Abstract. The combination of activities to achieve optimal goals sometimes has a complex solution. Business Process Model and Notation (BPMN) 2.0 facilitates the modelling of business processes by providing new artifacts, such as various types of tasks, source of data and relations between tasks. Sometimes, although the order of the activities can be known, the concrete data values that the activities interchange to optimize their behaviour needs to be found, specially when input parameters of an activity affect to the input parameter of the others. Taking into account the lack of priority and clear sequential relationship between the activities of such combination, a deep analysis of possible models and data input values for the activities is necessary. For that reason, an extension of BPMN 2.0 with a new type of sub-process and its associated marker is proposed. The aim of this new sub-process is to define, in an easy way, a combination of several activities to find out, in an automated way, the concrete values of the data handling that optimize an overall objective. Keywords: Business Process Management, Business Process Model and Notation, Combination of Activities, Data Input, Data Constraint. 1 Introduction A business process, henceforth referred as BP, consists of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly perform a business goal [20]. The combination of activities is very important from the point of view of BP management, since it can increase customer satisfaction, reducing business investment and establishing new products and services at low cost. Generally, a combination between various activities or business processes is almost always complicated, since every stakeholder focuses on their own interests. The degree of complexity becomes even greater when the objective of the combination is to optimize a common business goal. The ideal scenario arises when all the activities can obtain an optimal result based on the decisions made
by each activity in an independent manner. The problem comes when values used as data input of an activity depend on the values taken for other activities in the process. Moreover, when the data input given by the user have interval domains (range of possible values), then obtaining the best local result does not necessarily imply that the best global result follows. In that case, how to combine the activities/sub-processes? This problem is worst when there is no priority and clear sequential relationship between the activities, since the artifacts in BPMN 2.0 required a decision order at design time (even in the ad-hoc sub-process the performer has to decide an activity order). Furthermore, the construction of models, in terms of activities order, implies an off-line analysis where the different combinations are studied. However, this off-line analysis is not enough when the behaviour and functionality of the activities are unknown, since they are external services which relationships between data input and output are unknown. For example, to known the price of a flight for a date and a pair of cities, it is necessary to call the service, then an off-line analysis is not enough to find out the best data input for the service. In that case, the relations between data inputs and outputs of activities have to be discovered, thus an analysis of all the possible data combinations and the behaviour of these activities in run-time is needed. In addition, the data combinations must take into account a set of existing data constraints that relate them and an objective function to be optimized. Therefore, the aim of the problem is to decide how to model with BPMN a BP whose activities (i) must be executed many times to search the concrete values for their data input that optimize the overall objective, and (ii) satisfy all the constraints that relate the values of the data input and output. This implies that the model has to be adaptive and flexible to manage the data handling in each instance. The main standard used to model BP is Business Process Model and Notation (BPMN), proposed by OMG. The new version 2.0 solves the majority of the modelling problems. However, it remains as yet insufficiently powerful since, among other requirements, there is a significant need for the representation of the combination of activities where, the concrete data of each activity depends on the concrete data of the others, since they are related by means of constraints. To the best of our knowledge, there are no solutions with BPMN that enable to represent problems where the explicit order of the activities are not defined, and where the model is influenced by data constraints. Although it represents business processes, by means of Sequence Flows and Data Flows, the objective function and the constraints that relate the data input can only be added through annotations. Moreover, the annotations cannot be mapped to executed code in an automatic way. For this reason, the aim of this paper is to extend the expressiveness of BPMN 2.0 with a new sub-process. The proposal is focused on the support of this combination of activities, whose main purpose is to optimize an objective function, where there is a set of possible data input for the activities that are related between them by means of constraints. Furthermore, this new sub-process enables the creation of executable code in an automatic way.
The rest of the paper is organized as follows: Section 2 motivates and explains the necessity of a combination of activities to search the concrete values of data to achieve a common goal. Section 3 summarizes the main issues about the combination of activities specification. Section 4 defines the BPMN extension to represent the combination of activities from the business descriptions perspective. Section 5 includes certain relevant related work. And finally, conclusions are drawn and future work proposed in Section 6. 2 Motivating Example In this section we present a scenario to illustrate the combination of activities in the kind of problems addressed in this paper. Later on, it will be also used to explain our approach. Our scenario is the Travel Booking Example presented in [13]. This example is proposed to show in-line event handling via event sub-process constructs. Although this is not the purpose of this work, the example highlights the lack of graphic representation for the combination of activities to search the concrete values for the data handling that achieve a common objective. If we look through the Travel Booking Diagram (Chapter 9, page 28 in [13]), the customer wants to book a flight and a hotel room. The resulting business process (i) starts with the travel booking reservation request, (ii) follows with the search and evaluation of both flights’ and hotel rooms’ availability, (iii) selected alternatives are packaged and offered to the customer and (iv) the customer can select a proposed alternative or cancel the request. We are focused on the second step, where the searches of flights and hotel rooms are based on the customer request and are made in a parallel way. This is only possible when the customer request is formed by a concrete data input, in other words, when each data input has only one possible value (atomic value) and there is no relation between the customer criteria and the final result of both activities. It means that there are no relations between the activities, then they can be executed in a parallel way. For example, the customer wants to organize a trip, where he wants to depart on 2012-09-15 and return on 2012-09-30, with a flight from Madrid to London, and wants to book a hotel room in London during these days. The dates and the locations given by the customer are the data input. These data input have atomic values for the flight and hotel room searches, hence both searches can be performed in an independent way. Generally, the customer searches a trip for a concrete dates and location. Then, if necessary and also cheaper, the customer tries with another departure or return dates, thereby expanding the range of dates when leaves or arrives. For that reason, we focus on problems when the customer wants to obtain the best result with a specific criteria by providing constraints between the data given. In that case, executing the activities in a parallel way is not enough, since obtaining the optimized value in an independent manner does not necessarily mean that the overall result will be the best option. For example, the customer wants the cheapest trip with the data input presented before, in this case also
providing an interval (either range) of dates (for example, the departure date can be between 2012-09-15 and 2012-09-17, and the return can be either on 2012-09-30 or on 2012-10-01). Both, the flight and hotel room searches, have to combine their results and decisions to obtain the common objective. These possible values are also determined by a set of constraints that relates these data input, for example, (i) the depart date has to be a value between 2012-09-15 and 2012-09-17, (ii) the return date has to be a value between 2012-09-30 and 2012- 10-01, and (iii) the return date of the flight and the check-out date at the hotel have to be the same. Therefore, this is an example where the activities share their data input. On the other hand, the objective function is a combination of the data outputs of these activities, given by their executions. In this example, the sum of the cost of buying an airline ticket and stay in a hotel room for these dates and locations. The aim of the problem is to know which is the best set of values for the interval data input that optimize the objective function and satisfy all the constraints. 3 Formal Definitions In order to clarify the problem, a formalization is introduced. With the aim to understand how the relation between the activities data can be defined, the constrains definition that involve them and the objective function are essential. This definition enables the identification, description and definition of the type of problems that need the modelling for the combination of activities. Let a Combination of Activities that involves Data Constraint to Optimize an Objective Function (CAO) be a business process whose activities (A1, ..., An) are independent and there is no priority order and clear sequence relationship between them. For each activity Ai, a set of input variables (IAi), and a set of output variables (OAi) are defined. Then, the following concepts are introduced for this CAO: Definition 1. Activities Data Input (ADI): The set of variables that represents the union set of all the data input of the nactivities of the CAO. ADI = i:1..n IAi Definition 2. Activities Data Output (ADO): The set of variables that represents the execution result of the nactivities (OAi). ADO = i:1..n OAi Definition 3. Process Data Input (PDI): The set of variables that represents the data introduced to the BP. Every variable xj∈PDI could have multiple values v(xj)∈D(xj),whereD(xj)is the domain of xj(D(xj)is a finite set comprising all possible values that can be assigned to variable xj).
Definition 4. Process Data Output (PDO): The set of variables returned by the BP. These variables represent the concrete values for the ADI that optimize the objective function. These concrete values will be provided to the user of the BP or another external process. Definition 5. Objective Function (ObjFun): The global optimization function to be satisfied. This function can be defined in terms of ADO,ADI and PDI, and can be maximizing or minimizing. In a CAO,thereisasetofconstraints (C),whereeachCk∈Crelates a subset of variables (xm, .., xz) belonging to the union of the ADI and PDI sets. And it represents a subset of the cartesian product D(xm)×... ×D(xz) that specifies allowed combinations of values for the variables xm...xz.Theresult of a CAO is an assignment vfor that, each instance is a mapping that assigns to every variable yd∈PDO an element v(yd)∈D(yd). This assignment vsatisfies all the constraints belonging to C, such that {yk1, ..., ykg},C k∈ Ciffv(yk1, ..., ykg)∈Ckand optimize the global function. Fig. 1. The Travel Booking Example Structure In the Travel Booking Example (see Figure 1), there are two activities: the Flight Search (A) and the Hotel Search (H). The PDI is the set of dates and locations given by the customer (location origin (LO), location destination (LD), initial depart date (IDD), last depart date (LDD), initial return date (IRD) and last return date (LRD)). The variables of the ADI are: airplane location origin (ALO), airplane location destination (ALD), airplane departure date (ADD), airplane return date (ARD), hotel location (HL), hotel check-in (HCI) and hotel check-out (HCO). There are many constraints that relate the ADI variables: the flight lands at the airport of the same city where is located the hotel, the departure and return date of the flight must match with the check-in and checkout date of the hotel, respectively. Moreover, there are constraints that relate
ADI with the PDI : for example, the value of the flight depart date has to fit with one of the depart dates given by the customer. On the other hand, there are two variables of the ADO: the cost of the flight and the cost of the hotel (CostA and CostH respectively). The objective function is to minimize the sum of both prices. Finally, the PDO is the set of the concrete values that optimize the objective function for the ADI. 4 BPMN Extension for Combining Activities That Involves Data Constraints In business process modelling, one of the main goals is to facilitate the description of process model, shielding the user from unnecessary implementation details. However, BPMN 2.0 does not explicitly consider mechanisms to represent CAO as is defined in Section 3. For that reason, in order to capture these combination of activities within the business process, a notation supported by a set of graphical concepts is essential. This new notation enables a semantic representation and a graphical modelling. The extension presented in this section details this new notation and its marker associated. BPMN 2.0 specification wants to stress the different stages in which the modeling process is composed: description, analysis and execution. The Description stage concerns the visible elements and attributes used in high-level modeling, in other words, the closest stage to the human level. The analysis stage contains all of the description stage and others, and it is closer to a software engine level. Both stages are focused on visible elements and a minimal subset of supporting attributes/elements. On the other hand, the execution stage focuses on what is needed to execute process models. To do this, following Subsections 4.1, 4.2, 4.3 and 4.4 define the metamodel, the new sub-process description, the operational semantics and the event handling, respectively. Finally, Subsection 4.5 presents a proposal to the executable stage. The typography, linguistic conventions and style of BPMN are also following to define this new extension. 4.1 Meta-model of the Combination of Activities Sub-Process The Combination of Activities Sub-Process (CombA Sub-Process) meta-model proposed enables the analyst to describe and specify all aspects of CAO functionality and usage. BPMN offers a way to represent the activities that have no REQUIRED sequence relationships through Ad-Hoc Sub-Process [7]. The Ad-Hoc Sub-Process semantics description is not enough for the combination of activities where the concrete values for the data input have to be found to optimize the goal, and there is no way to determine them at design time. Although there is no explicit process structure in Ad-Hoc Sub-Process, some sequence and data dependencies can be added to the details of the process. In addition, the performers1 1A Performer defines the resource that will perform or will be responsible for an activity. The performer can be specified in the form of a specific individual, a group, an organization role or position, or an organization [7].
determine when the activities will start, what the next activity will be, and so on. However, this is not valid when there are no sequence relationships, the data dependencies are on the data input of the activities and the performers cannot determine the sequence, as occurs in CAO. Furthermore, the list of BPMN elements that MUST NOT be used in an Ad-Hoc Sub-Process includes: Start and End Events, Conversations (graphically), Conversations Links (graphically) and Choreography Activities, which are useful to combine the activities to achieve an optimal goal. In order to include these new requirements, an extension of Sub-Process definition [7] is necessary. A new contextual scope is defined to achieve an optimization agreement between different parts to search the data input values of the activities that optimize a goal. The new meta-model related to Sub-Process, adding the new type of Combination of Activities Sub-Process, called CombA Sub-Process, is presented in this paper. 4.2 CombA Sub-Process Definition First of all, and according to the BPMN methodology, a descriptive stage is necessary to define the new sub-process. This description enables a high-level modeling through a visible element and a set of attributes. CombA Sub-Process is a specialized type of Sub-Process which is a set of activities2that have no REQUIRED sequence relationships. This new sub-process has to combine the activities in order to search the concrete values for the interval data input handle that optimize a common objective. The set of activities can be defined in the process. However, the sequence and the number of performances for the activities cannot be determined by the performers of the activities, since the behavior of an activity depends on the data input belonging to other activities, and vice versa. The main purpose of the combination of activities is to search the values of the data input that optimize a goal, not as much as the execution of the activities. However, the execution of the activities is a consequence since the objective function to optimize depends on the data output of the activities. Therefore, the activities have to be executed several times to agree which are the best values of the data input. If there were no intervals in the data input (since they have atomic values), the activities have to be executed only once to answer the customer request. The formal definition presented in Section 3 is translated into BPMN elements in order to define the CombA Sub-Process. Therefore, the CombA Sub-Process is composed of: –Activities (Ain the formal definition): generally, these activities are tasks. A task is a unit of work, the job to be performed. However, each activity, in turn, can be another process. The unique requirement is that each activity has different and independent functionality. 2An Activity is a Process step that can be atomic (Tasks) or decomposable (Sub- Processes) [7].
–Data Object: it represents the information flowing through the process. The CombA Sub-Process handled mainly two types of data: •Data Input: there are two types of data input in the CombA Sub-Process: the first corresponds to the external input for the entire process. It can be read by an activity and is given by a performer (PDI in the formal definition); and the second type corresponds with the data input of each activity that participate in the optimization agreement (ADI in the formal definition). •Data Output: there are two types of data output: the first one corresponds to the variable available as result of the entire process and the answer of the customer request (PDO in the formal definition). And the second type corresponds to the output value of each activity (ADO in the formal definition). –Constraints (Cin the formal definition): a set of Formal Expressions3that relate both types of data input. –Optimization Function: The Formal Expression used to define the function to be optimized. This function relates the data output of the activities. As the visible element for the modelling, we propose to use a puzzle piece symbol like the marker for the CombA Sub-Process and it can be used in a collapsed and expanded way. The reason of choosing this symbol is that the activities in the CombA Sub-Process have to fit as the pieces of a puzzle, that can be a right visualization for the business level. The circular structure in the expanded CombA Sub-Process represents the lack of predefined order and sequence relationship, centered on the objective function, which is the CombA Sub-Process Core. Fig. 2. Expanded Search Travel CombA Sub-Process Figure 2 depicts the way to represent the combination of activities between Airline Searching and Hotel Searching activities with the new CombA Sub- Process marker. 3A Formal Expression is used to specify an executable Expression using a specified Expression language. A concrete constraint language is the one proposed in [6].
This CombA Sub-Process can be added to the diagram presented in [13] replacing the parallel search of flights and hotel rooms with this new Travel Search Sub-Process (see Figure 3). Fig. 3. Collapsed Travel Search CombA Sub-Process included in the example presented in [13] The CombA Sub-Process element inherits the attributes and model associations of activities through its relationship to sub-process [7]. Table 1 presents the additional attributes and model associations of the CombA Sub-Process. Table 1. CombA Sub-Process model associations Attribute Name Description - Usage objectiveFunction:FormalExpression Definition of the global optimization goal. constraints: set of Formal Expressions Definition of the constraints that relate the data input of the activities, limiting their possible behaviours. numberSolutions: Integer Attribute to determine if the CombA Sub-Process searches one of the best solutions or all the best solutions (values 0 or 1 respectively). The default value is 0. Activities within this sub-process are generally disconnected from each other. During execution of the Process, all the activities are activated asynchronously and have to communicate their decisions to the others to achieve an agreement. The formal definition given in Section 3 for the Trip Planner Example is valid for the CombA Sub-Process definition. Therefore, the attributes of CombA Sub- Process for the example are: – objectiveFunction: To get the cheapest trip, the objective function is: min(costA +costH). – numberSolutions: All the best solutions regarding the objective function to optimize. According to the values given in Table 1, the value is 1. –constraints:Two of the possible constraints of the problem are: the depart date has to be a value between the initial depart date and the last departure date given by the user (C1) and the destination airport is at the same location than the hotel (C2). (C1)IDD ≤DD && DD ≤LDD (C2)ALD == HL