MDPE Workbench - A Solution for Performance related Decision Support Mathias Fritzsche1 , Jendrik Johannes2 , Sebastian Cech2 , Wasif Gilani1 , 1 SAP Research CEC Belfast United Kingdom mathias.fritzsche@sap.com and wasif.gilani@sap.com 2 Technische Universität Dresden Germany jendrik.johannes@tu-dresden.de and sebastian.cech@tu-dresden.de Abstract. Continuous optimization of business process execution in- cluding its adaptation to changes within the market environment or the company itself becomes increasingly important. Therefore, business per- formance related decision support needs to be an integral part of Business Process Management (BPM) Environments. We experienced that such a support is especially useful when dealing with complex and resource intensive business processes, such as business processes with layered use of resources or with very complex workflows. Also the statistical distri- bution of the history data or the plan data related to a process might be a reason for such support. In this paper we present our generic Model- Driven Performance Engineering (MDPE) Workbench, which seamlessly integrates different kinds of existing Performance Analysis Tools, such as discrete event simulation tools and optimization tools, with the design- time and runtime of different BPM Environments. In more detail, the MDPE Workbench allows a push-button performance related decision support based on existing process models and process instance data with- out requiring deep performance expertise of BPM users. 1 Introduction Continuous optimization of business process execution, including its adaptation to changes within the market environment or the company itself becomes in- creasingly important. Therefore, business performance related decision support needs to be an integral part of Business Process Management (BPM) environ- ments. We experienced that such support is especially useful in cases of a high degree of complexity in resource intensive processes, such as in the case of lay- ered use of resources or complex workflows. Also the statistical distribution of the history data or the plan data related to a process might be a reason for such support. We further experienced the need to provide support related to throughput and utilization of resources. Additionally, predictions of gross execution time of process instances are important in order to answer questions like “How will 2 the execution time of a Sales Ordering Process be affected by a certain planned increase of the number of Sales Orders?”. Such predictions are supported by discrete event simulation tools, such as AnyLogic [1]. Some of the existing BPM anvironments already provide basic simulation capabilities. However, most of them, such the EMC Documentum Process Suite [2], are limited when it comes to sophisticated simulation features, such as resource sharing scenarios between different departments. Additional decision support need to be provided via the automated execution of numerous what-if simulations for the purpose of business optimizations, for instance in order decide at which point of time a certain business resource is needed to meet processing targets and to optimize revenue. For optimization, existing libraries and tools can be used, such as OptQuest [3]. Moreover, we experienced the need for analytical bottle-neck analysis. Es- pecially if resources are used in a layered way, such as in the case of a Sales Ordering Process where certain process steps can only be finalized if support from a invoicing-department is provided which is itself dependent on the IT- department. If the Sales Order Processing is not processed within targets, one needs support to decide if the sales-department, Invoicing-department or IT- department is the bottle-neck of the process. Such questions can be answered with help of analytical bottle-neck analysers, such as the LQNSolver [4]. Model-Driven Performance Engineering (MDPE) provides a solution which enables to extend existing BPM Environments with multi-paradigm decision support by integrating existing Performance Analysis Tools like the AnyLogic simulation tool, the OptQuest optimization tool and the LQNSolver for analytic bottle-neck analysis. The remaining part of the paper is structured as followed: The next section describes one use case of MDPE which enables business performance related decision support across multiple BPM Environments. In Section 3, an overview on the architecture of MDPE is provided. Finally, in Section 4, we describe the experiences we gained with our approach and follow-up steps. 2 Use Case Real world business processes might be based on different BPM Environments, for instance in the case of supply chains or processes or in the case a long- running business process which can be extended for changing business conditions with a Composite Application [5] having a comparable short lifecycle. In [6] we provide one example for the last case. In this example, a manager of the Sales and Distribution Organization of the Wine Seller wants to extend the existing business process, Sales Order Processing in this case, which is provided by the SAP Business Suite so that it is supported to add an extra free bottle of wine to orders of those customers who notified a quality issue for their previous order. This raised the need for an extended version of the Business Suite process. It was, however, not desirable to change the business process directly in the Business Suite because the application should be independent of the software vendor life 3 cycle. Therefore, a Composite Application has to be implemented. In our case, we chose the NetWeaver BPM Environment [5] for this task. Other environments, such as JCOM [7] or the EMC Documentum Process Suite [2] can be used for this purpose as well. However, business performance related decision support is needed for the manager of the Sales and Distribution Organization to indicate how the planned Composite Application will affect the end-to-end business process spanning Sales Order Processing and the process extension. In order to enable such support, we were required to extend the NetWeaver BPM Environment and BPM tooling provided for the management of Business Suite processes, in our case a SAP proprietary modelling tool and process monitoring tools such as the tooling called Process Performance Manager (PPM) by IDS Scheer [8]. The following section describes the MDPE Workbench a solution for this need. 3 MDPE Workbench Architecture Figure 1 shows that the MDPE Workbench enables to interconnect arbitrary BPM Environments with Performance Analysis Tools of choice which enables multi-paradigm decision support. !!! !!!                                                  5 !!! !!!   "#        "#       5                 "#              "#                                     Fig. 1. Architecture of the MDPE Workbench as Block Diagram [9] The central part of the MDPE Workbench, the so called MDPE Core com- bines Performance Parameter, such as how much time was consumed by a spe- cific activity, with Process Models. Performance Parameters are either assumed and/or planned values, or data which are approximated from historical process instance data with help of a heuristic [10]. As central model within the MDPE Core, a so called Tool-Independent Performance Models (TIPM) is used, which associates behaviour information from the Process Models with its related re- source consumption from the Performance Parameters. The TIPM is used as input to create Tool-Specific Performance Models (TSPMs) which are contain- ing input for a Performance Analysis Tool, such as the input files to execute a discrete event simulation in AnyLogic [1]. 4 This decomposed transformation approach via the TIPM has been choosen in order to reduce the number of required model-to-model transformations as we are required to interconnect n different BPM Environments with m kinds of Performance Analysis Tools. Thus, the TIPM simply reduces the number of required transformations from n ∗ m to n + m. Beside of capabilities to generate input for Performance Analysis Tools, the MDPE Core enables to analyse the Performance Analysis Results, for instance by checking if a prediction meets all user provided targets (see Result Analyzer in Figure 1). Additionally, the MDPE Core enables to trace Decision Support Results back with help of the Tracing Controller [11]. The MDPE Workbench is configured via the MDPE Administration Tool in order to specify which BPM Environment Adaper and Performance Analysis Tool are active to interconnect BPM Environments and Performance Analysis Tools. This configuration, including the paths of all Process Models, the TIPM and all TSPMs, are strored within a so called megamodel [12] which is used as input for the Transformation Controller to locate the required models when the transformations between the BPM Environments and the Performance Analysis Tools are executed. Furthermore, different kinds of relationships between modelling artefacts can be stored in the megamodel. For instance, the relationship between the different models of the transformations provided by the Source- and Target- Adapters are stored within this model. This information is accessed by the Tracing Controller for the tracing of Performance Analysis Results back to the BPM Environment. 4 Experiences and Future Work In this paper, the basic architecture of the MDPE Workbench has been de- scribed. This tooling enables to interconnect arbitrary BPM Environments with multi-paradigm decision support by integrating existing Performance Analysis Tools. We successfully evaluated the MDPE Workbench by extending the JCOM BPM Environment, the NetWeaver BPM Environment and a SAP proprietary process modelling tools for SAP Business Suite processes with the AnyLogic simulation tool, the OptQuest optimization tool and the LQNSolver bottle-neck analyser. The flexibility of the MDPE Workbench has been identified as especially beneficial when we experimented with performance related decision support for the extension of the Sales Ordering Process with a Composite Application for the needs of a wine seller as described in Section 2. In that case, we had to extend the NetWeaver BPM Environment and the BPM tooling for SAP Business Suite processes at the same time. As Process History Data we utilized assumed data in that case as we haven’t integrated the relevant business process logs yet. We however experienced that such integration is beneficial as we are already able to consume historical pro- cess instance data from the business log of the JPASS BPM Environment as this prevents users to manually annotate assumed Performance Parameters [10]. 5 Therefore, as follow-up step we anticipate to integrate the business process log of the NetWeaver BPM Environment and process logs for Business Suite processes, such as the PPM tooling to further evaluate our tooling on real-world processes. Moreover, we are currently employing an approach for user guided uncertainty reduction for cases where the data quality of the logged data is low, for example due to a high variance [10]. Disclaimer The information in this document is proprietary to the MODELPLEX consor- tium members SAP AG, and TU Dresden. The information in this document is provided “as is”, and no guarantee or warranty is given that the information is fit for any particular purpose. The above referenced consortium members shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials subject to any liability which is mandatory due to applicable law. Copyright 2008 by SAP Research and TU Dresden. References 1. XJ Technologies: (AnyLogic — multi-paradigm simulation software) URL http://www.xjtek.com/anylogic/. 2. Associates, B.S.: The BPMS Report: EMC Documentum Process Suite 6.0 (2007) 3. Ycesan, E., h. Chen, C., Snowdon, J.L., Charnes, J.M.: (Optimum-seeking simula- tion in the design and control of manufacturing systems: Experience with optquest for arena) 4. Franks, R.G.: Dissertation: Performance analysis of distributed server systems (1999) 5. Snabe, J.H., Rosenber, A., Molle, C., Scavillo, M.: Business Process Management: The SAP Roadmap (2008) 6. Fritzsche, M., Gilani, W., Fritzsche, C., Spence, I.T.A., Kilpatrick, P., Brown, T.J.: Towards utilizing model-driven engineering of composite applications for business performance analysis. In: ECMDA-FA, LNCS 5095, Springer (2008) 7. JCOM: http://www.jcom1.com/ (2008) 8. IDSScheer: http://www.ids-scheer.com (2009) 9. Knöpfel, A., Gröne, B., Tabeling, P.: Fundamental Modeling Concepts: Effective Communication of IT Systems. John Wiley & Sons (2006) 10. Fritzsche, M., Kilian-Kehr, R., Gilani, W.: Guided uncertainty reduction in au- tomatically generated business simulations. In: To appear in proceedings of the IEEE SIMUL’09 conference. (2009) 11. Fritzsche, M., et al., J.J.: Systematic usage of embedded modelling languages in model transformation chains. In: SLE’08, LNCS 5701, Springer (2009) 12. Fritzsche, M., Bruneliere, H., Vanhoof, B., Berbers, Y., Jouault, F., Gilani, W.: Applying Megamodelling to Model Driven Performance Engineering. In: 16th IEEE ECBS’09, IEEE (2009)