A Koschmider et al. Data S Knowledge Engineering 70(2011 )483-503 Query interface ustomer approval AND order] wordNet rst Ele Last Element Property esource Process Part O Business Process Both[Search Fig 3. Query for all process model (parts)that are related to customer approvals. where a is a process activity and 0, is the starting time of a,(e.., can be considered as an integer number indicating the relative point of time where activity a is executed. ) Each process activity a is characterized by a vector of K attribute values v=(vi1,, V, 1x..V,1,). e.g,(VL cost, Vi quality) for cost and quality of the process design. The evaluation of the process model design in attribute k is obtained from the evaluation V, 1, of the activities contained in the process model design via an aggregation function fi, which is specified for attribute k; e.g. the aggregation over all costs could b done with the function fcost The cost function for the process design is defined as follows: (aB)epi,cost where fcost is the sum of design costs of all process activities in the design. For attributes like cost, fcost is the sum of evaluations of all activities contained in the design. Thus, given a set R=(Pl, P2 ., PN)of N potential business process models matching the query we are interested in the Pi with the lowest costs of a process design, ie. minie(,N Ucost(P). The quality function is defined by the lowest quality of any process activity included in the process design fquality(P)= min(a, b, )epviquality where fquality is the quality of the process design. Here, for a setR=(Pl, P2. PN)of N potential business process models matching the query, we are interested in the P, with the highest quality of a process design, i.e, max=(1.. y quality()). a process model with lower design costs and of high quality is ranked higher than less significant process models. 3.2.2. Structural errors In our scenario a structural error can only occur in the interconnected process model, i. e the currently edited business process odel, which has been extended by a selected recommendation. An interconnected business process model is considered structurally correct if it complies with the well-structuredness property [68]. This structural property for business process models is M process design costs M process design quality structural errors earch Cancel Fig. 4. Optional search criteria
where ai is a process activity and θi is the starting time of ai (e.g., θi can be considered as an integer number indicating the relative point of time where activity ai is executed.). Each process activity ai is characterized by a vector of K attribute values vi=(vi, 11 ,vi, 12 ,…,vi, 1k ), e.g., (vi, cost,vi, quality) for cost and quality of the process design. The evaluation of the process model design in attribute k is obtained from the evaluation vi, 1k of the activities contained in the process model design via an aggregation function f1k , which is specified for attribute k; e.g. the aggregation over all costs could be done with the function fcost. The cost function for the process design is defined as follows: fcostð Þ P = ∑i:ð Þ ai;θi ∈Pvi;cost where fcost is the sum of design costs of all process activities in the design. For attributes like cost, fcost is the sum of evaluations of all activities contained in the design. Thus, given a set R= {P1, P2,…,PN} of N potential business process models matching the query, we are interested in the Pi with the lowest costs of a process design, i.e., mini ∈ {1,..,N}(fcost(Pi)). The quality function is defined by the lowest quality of any process activity included in the process design: fqualityð Þ P = mini: ai;θi ð Þ∈Pvi;quality where fquality is the quality of the process design. Here, for a set R= {P1, P2,…,PN} of N potential business process models matching the query, we are interested in the Pj with the highest quality of a process design, i.e., maxj ∈ {1,…,N}( fquality(Pj)). A process model with lower design costs and of high quality is ranked higher than less significant process models. 3.2.2. Structural errors In our scenario a structural error can only occur in the interconnected process model, i.e. the currently edited business process model, which has been extended by a selected recommendation. An interconnected business process model is considered structurally correct if it complies with the well-structuredness property [68]. This structural property for business process models is Fig. 4. Optional search criteria. Fig. 3. Query for all process model (parts) that are related to customer approvals. 488 A. Koschmider et al. / Data & Knowledge Engineering 70 (2011) 483–503
A Koschmider et al. Data 8 Knowledge Engineering 70(2011)483-503 Process Name Score Description CustomerOrder This process verify customer order 97. 45 The process.I 10 Handle Orders 30.45 On the basis Open graphical view Fig. 5. Limited table-based result list of recommendation. violated if, for example, an alternative flow initiated by an OR-split is synchronized by an AND-join Syntactically correct processes are ranked higher than process recommendations that will cause deadlocks in case of interconnection. Beside the well- structuredness property the verification might be extended for checking free-choiceness. Free-choiceness is also a structural analysis property and can easily be decided. Due to capacity and resource restrictions, the recommendation-based editor incorporates only a partial structural analysis. a deadlock can also occur in the interconnected business process model if, for instance, the model is not s-coverable. We decided for the verification of structural errors (not behavioral), which can easily be detected whenever the user inserts new nodes into her workspace. The query posed by the user in Fig 3 resulted in 10 business process models. These recommendations are ranked(so far) by their Lucene score. The results are displayed to the user in a table-based result list as shown in Fig. 5. The final ranking algorithm is a weighted sum of different ranking criteria and will be explained in more detail in Section 4. If the user is interested in a recommendation she can open a graphical view by selecting the corresponding row. 33. Related search results In Fig. 5 the recommender system only suggests process models which match the user's modeling intention. However, proces models may be appropriate for a particular intention even when they have been designed for a different purpose. It is therefore often useful to suggest related process models although they do not conform exactly to the specified query. For this reason, we take a user profile into consideration which is based on the users search history. to define a user session, the following information is a sequence of accessed recommendations by the user u sr=<ru, Mu, 4. L, where ru ER and R is the set of all accessed recommendations by the user u, sequence of posed queries by the user u(after removing stop words)sq=<qu, qu, 4 .. qu>, where qu, E Q and Q is the set of all posed queries by the user u, a sequence sm of newly created models or models opened for being editing by the user u where sm=<pmu, pm, and pmu, E P and P is the set of all newly created or edited models by the user u es Storing the user session data helps users to preview related process models with different modeling purposes. For this, we and provides the information required to fully understand the process model. Based on the documentation model the user will then generate a model for analysis purpose. Next, an execution model is created based upon a model, which fulfills the expectations defined in the scope of the business process modeling project Supported by the assumption that users follow these stages of a business process model life-cycle we can provide the feature of previewing all phases of the BPM life-cycle, from the early documentation of a process through subsequent phases of analysis and execution. Based on the user profile data, the system can also provide related process model parts(that were created by previous users). which are used in the user's current modeling domain(e.g, Manufacturing) and which succeed or precede the model pa question. The idea is that process parts that succeed or precede the part in question and were used in the same modeling domain he user is in at the moment can help to estimate the degree of fitness of a recommended model pa Therefore, each business process model (and thus each sub-process model part that occurs in this model) is assigned to a modeling domain before it is added to the process repository. We assume that the number of possible domains is usually known within a company; hence, we can provide the user with an interface where she can select the process domain. Additionally, the process property can be provided in this stage. ranched or the places of a backward branched transition are not forward branche A model is s-coverabl from s-components [68]-
violated if, for example, an alternative flow initiated by an OR-split is synchronized by an AND-join. Syntactically correct processes are ranked higher than process recommendations that will cause deadlocks in case of interconnection. Beside the wellstructuredness property the verification might be extended for checking free-choiceness. Free-choiceness4 is also a structural analysis property and can easily be decided. Due to capacity and resource restrictions, the recommendation-based editor incorporates only a partial structural analysis. A deadlock can also occur in the interconnected business process model if, for instance, the model is not s-coverable.5 We decided for the verification of structural errors (not behavioral), which can easily be detected whenever the user inserts new nodes into her workspace. The query posed by the user in Fig. 3 resulted in 10 business process models. These recommendations are ranked (so far) by their Lucene score. The results are displayed to the user in a table-based result list as shown in Fig. 5. The final ranking algorithm is a weighted sum of different ranking criteria and will be explained in more detail in Section 4. If the user is interested in a recommendation she can open a graphical view by selecting the corresponding row. 3.3. Related search results In Fig. 5 the recommender system only suggests process models which match the user's modeling intention. However, process models may be appropriate for a particular intention even when they have been designed for a different purpose. It is therefore often useful to suggest related process models although they do not conform exactly to the specified query. For this reason, we take a user profile into consideration which is based on the user's search history. To define a user session, the following information is used: • a sequence of accessed recommendations by the user u sr=brui ,rui + 1,…,run N, where rui ∈R and R is the set of all accessed recommendations by the user u, • a sequence of posed queries by the user u (after removing stop words) sq=bqui ,qui + 1,…, qum N, where qui ∈ Q and Q is the set of all posed queries by the user u, • a sequence sm of newly created models or models opened for being editing by the user u where sm=bpmui , pmui + 1,…, pmun N, and pmui ∈ P and P is the set of all newly created or edited models by the user u. Storing the user session data helps users to preview related process models with different modeling purposes. For this, we assume that users will first create a model for documentation purposes that depicts the current state of the business process model and provides the information required to fully understand the process model. Based on the documentation model the user will then generate a model for analysis purpose. Next, an execution model is created based upon a model, which fulfills the expectations defined in the scope of the business process modeling project. Supported by the assumption that users follow these stages of a business process model life-cycle we can provide the feature of previewing all phases of the BPM life-cycle, from the early documentation of a process through subsequent phases of analysis and execution. Based on the user profile data, the system can also provide related process model parts (that were created by previous users), which are used in the user's current modeling domain (e.g., Manufacturing) and which succeed or precede the model part in question. The idea is that process parts that succeed or precede the part in question and were used in the same modeling domain the user is in at the moment can help to estimate the degree of fitness of a recommended model part. Therefore, each business process model (and thus each sub-process model part that occurs in this model) is assigned to a modeling domain before it is added to the process repository. We assume that the number of possible domains is usually known within a company; hence, we can provide the user with an interface where she can select the process domain. Additionally, the process property can be provided in this stage. Fig. 5. Limited table-based result list of recommendation. 4 The transitions of a forward branched place are not backward branched or the places of a backward branched transition are not forward branched [20]. 5 A model is s-coverable if it can be composed from s-components [68]. A. Koschmider et al. / Data & Knowledge Engineering 70 (2011) 483–503 489