Requirements for a Pattern Language for Event-driven Business Activity Monitoring Thomas Raffelsieper viadee Unternehmensberatung GmbH, 48147 Münster, E-Mail: thomas.raffelsieper@viadee.de Jörg Becker, Martin Matzner University of Muenster, European Research Center for Information Systems (ERCIS), 48149 Münster, E-Mail: joerg.becker|martin.matzner@ercis.uni-muenster.de Christian Janiesch Karlsruhe Institute of Technology (KIT), Institute of Applied Informatics and Formal Description Methods (AIFB), 76131 Karlsruhe, E-Mail: christian.janiesch@kit.edu Abstract To measure and evaluate the productivity of service processes in near real-time, the fusion of Complex Event Processing (CEP) and Business Activity Monitoring (BAM) for Business Process Management (BPM) has been proposed under umbrella terms such as event-driven BAM or event-driven BPM. However, evaluations of the resulting architectures have shown that there is a need for structured design methods which allow for the consistent engineering and management of the respective models. Since we observed repetitive patterns in BAM queries for service monitoring, we have started the engineering of a pattern language to increase consistency and generally ease the design process. Based on an evaluation of related work, we present more than two dozen requirements of general nature as well as requirements for sourcing, calculation, and evaluation definitions and discuss these. 1 Introduction The productivity of services and service systems is an often overlooked aspect in the engineering and management of services. Currently, despite the tight link between service and technology, there is not only a lack of methodical means to measure and evaluate services in a standardized way but also a lack of tooling which is adapted to the needs of service intelligence. Operational intelligence is an area of growing interest which aims at closing this gap by trying to combine different technologies in a novel way. Business Process Management Systems (BPMS) allow to design and execute services orchestrated into a business process. Still, built-in monitoring capabilities possess a lack of 2 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch flexibility and usability, as well as timeliness [1] when trying to measure the productivity of certain processes. Here, Business Activity Monitoring (BAM) is an approach to monitor business performance and therefore business processes in real-time, by processing events from multiple service systems to identify critical business performance indicators [2]. However, current BAM solutions suffer from a number of drawbacks, e.g.: There is no clear definition of the required information, the implementation is time consuming and error-prone, and often the solution is hard-wired into the system, so that external data sources cannot be accessed easily. Complex Event Processing (CEP) has proven to be a promising way to handle these problems. The term CEP enfolds several techniques to derive higher level knowledge from simple events in a timely and online fashion [3]. We observed that the development of mostly CEP-based monitoring models, which define the behavior of the BAM system, is based on repeated design actions and reoccurring modeling decisions, especially because the main event source is the same: a BPMS [1]. Hence, it is possible to identify and categorize patterns of those actions to form a BAM pattern language [4]. A pattern language in general is a set of patterns, used to solve a specific problem, which in this case is the complex creation of monitoring models for event-driven BAM. It helps to standardize the measurement and evaluation of services and decreases the required effort to set up, analyze, and optimize monitoring models. Thus, it enables timely reaction to changes in the business environment during design time. This paper represents a first step towards the development of a pattern language for eventdriven BAM. At this stage, the main focus is to understand the current body of knowledge in the relevant areas to gather requirements for a BAM pattern language. We have done a literature review and interviewed experts from a major software vendor who is in the process of rolling out a monitoring solution for its BPM product. In relation to the overall design science process, this means that the current work encompasses the early stages of the process. Due to length restrictions we were not able to include preliminary results for the latter stages. We will however be able to present and discuss these at the conference. The paper is structured as follows. First we introduce relevant related work from the areas of CEP, BAM, and their fusion event-driven BAM. Based on the design process for event-driven BAM, we derive requirements for a pattern language and summarize and discuss them. We argue that a pattern language which implements these requirements allows for exploiting more timely insights and resulting actions in service systems. 2 Related Work 2.1 Patterns as a Means in IS Design Processes “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over.” [5, p. x] Accordingly, a pattern can be understood as an abstract problem-solution pair, applicable for a specific environmental context. Patterns can be found in different disciplines [6]. Patterns and pattern languages became particular popular in computer science with the publication of the design patterns of Gamma et al. [7]. Multikonferenz Wirtschaftsinformatik 2012 3 A pattern usually follows a three-parted scheme [6]: • Context: Situation, in which a problem can occur, • Problem: A problem often occurs within a context, • Solution: Solution to the problem within the context. The context can be described very detailed, as well as very generic, depending on the intended application of the pattern. This makes the exact definition of the context for a specific problem difficult. To make a pattern language comprehensible, the context for similar problems should address the same level of abstraction. In the first part of the problem section, a general and concise description is given, followed by a more detailed explanation, e.g., by a set of forces which influence the context. Three typical elements of the description are requirements, constraints or desirable properties [5]. The solution gives an explanation of how to solve the described problem, or in other words: How the related forces can be balanced. It is not mandatory for the balance to be equally distributed over the forces. Depending on the context, a pattern might want to prefer some forces or neglect some of them, depending on the desired result [5]. In case of BAM, patterns help designers and developers to create monitoring models faster and more consistently and, thus, reduce ambiguity. They enable reuse of sub-patterns, comparability of similar queries and ease the amount of testing by using pre-defined structures. Ultimately, the patterns must be available in CEP engines to design BAM models. 2.2 Complex Event Processing Generally speaking, an event is anything that happens at a point in time [8]. When talking about application systems, an event is a record of an activity in a system, where the event signifies the activity [3]. Many raised events signify an action raised within other systems (e.g., a Web service call), information about a certain system state or simply a log of information to enable subsequent analysis of the system’s behavior. Nowadays, companies that are engaging in service systems employ different information systems, with diverse participants and tasks distributed over several networks or locations [3]. All of them traverse through several states and in doing so raise billions of events during day-to-day business [9]. This broad mass of unstructured data is called event cloud, from which gathering any insight is hardly possible without structuring first [3]. When trying to analyze the system’s behavior, the biggest problem is that a specific event within the event cloud usually has hardly any value without knowledge of its context. In CEP events are defined on a higher level of abstraction by defining a sequence or group of events as a new event, a complex event. Complex events can be used to define even more complex events and so forth. The abstraction rule for a complex event is called event pattern. The detection of a complex-event often implies action. Therefore, they are evaluated by a machine or a human user and, if necessary, an action is taken. The set of methods for detection, calculation, and evaluation of complex events, or simpler, the management of the events in the cloud, is called CEP [3, 9, 10]. The CEP engine is the center of a CEP application. It is responsible for processing and evaluating incoming events. So called producers create the events to be evaluated. 4 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch Consumers on the other hand react on complex events and trigger actions or provide calculated data for visualization or analysis purposes. To define the behavior of the CEPengine, so called Event Query Languages (EQL) are used [1]. 2.3 Business Activity Monitoring CEP can be used in several application areas, one of them is BAM. BAM refers to methods for the timely identification of threads and opportunities of business processes. Furthermore, it has been discussed as a precondition for so called predictive business, next to Business Process Management (BPM) and to be a driver for the competitiveness of enterprises in future [9]. Business Process Monitoring has been part of BPM for a long time. Common methodologies have been summarized under the term of Business Intelligence (BI). Management concepts such as the Balanced Scorecard (BSC) require business analysts to switch from traditional finance-oriented, data-driven and time consuming BI monitoring projects to agile, value creation oriented projects. The BSC aims at monitoring any activity within a company permanently [11]. This means that business processes need to be monitored permanently and in real-time. In other words, BI shifts from the strategic to the operational level. Though some industries are pioneering (e.g., energy or automotive) in this movement, most enterprises are not aware of the status of their running process instances as no standardized way to access the required data has been established yet [9]. However, the Gartner Group proposed Business Activity Monitoring (BAM) as the ’New Age’ of BI [2]. BAM does not replace BI, but augments it by methods to give a real-time view on process information [11]: “BAM is [...] defining how we can provide real-time access to critical business performance indicators to improve the speed and effectiveness of business operations. Unlike traditional real-time monitoring, BAM draws its information from multiple application systems and other internal and external sources.” [12, p. 2] 2.4 Event-driven Business Activity Monitoring CEP can be used as a technical foundation for BAM, which is then called event-driven BAM. This idea has been proposed by several authors and currently appears to be a promising way to realize real-time monitoring of business processes [3, 8]. Instead of querying data from a database or other systems, the responsibility to provide all necessary information in time is forwarded to the application itself – by providing events to the event cloud [11]. Then a monitoring query for BAM (i.e. a BAM model) can be created. A BAM model is written in an EQL. It has to be executed by the CEP engine. Depending on the application scope of BAM, one can identify four general targets, which will be outlined in detail below: • Monitoring of time-critical performance indicators through visual dashboards or programmatic rules to adjust tactical or operational decisions timely [13], • Monitoring of business-level policies to avoid breaches of Service Level Agreement (SLA) [14], • Extended monitoring of the event cloud to identify business threads and opportunities in real-time [13], • Automated action triggering to call for proactive intervention [1, 15]. Multikonferenz Wirtschaftsinformatik 2012 5 Monitoring of Time-critical Performance Indicators A measure is a quantifiable value based on one or more events [16]. Measures can be derived from other measures to form a measurement system. Measures can be interpreted, either manually or automatically, to give an indication of the business performance. Such measures are called performance indicators or, if they are vital for the success of the venture, Key Performance Indicators (KPI) [17]. A KPI usually has a direction in which it shall develop, or a range in which it has to stay. Besides general purpose KPIs, one can identify a specific measurement type for processes, which is termed Process Performance Indicator (PPI). Those indicators have in common that they are directly related to a single process definition and reflect a measure of success in general or for each instance [18]. Accordingly, measures and process measures are distinguished. When monitoring explicit business processes, each event can be traced back to its originating process in a BPMS, which means in turn that each measure, which is derived from a single event, is by nature a process measure, even if it can be interpreted differently. With event-driven BAM, performance indicators can be monitored in real time. If they do not develop in the desired direction or exceed the specified range, entrepreneurial action can be taken in a timely fashion. Definitions of measurement systems for CEP are usually implemented using data stream query languages, whereas the monitoring of direction and range is realized with composition operators. Monitoring of business-level policies It is possible to monitor constraints of a SLA – either with customers or suppliers or internally with other departments – in the same fashion. An SLA is an agreement between the provider(s) and the consumer(s) of a service on the provided service’s quality with respect to its non-functional properties [19]. The SLA can, e.g., define the amount of timed out requests per day, which would be accepted by the service consumer before the provider is penalized. Monitoring SLAs thus corresponds to monitoring performance indicators, in terms of the BAM model. It requires calculating measures, which are evaluated to possibly trigger actions. Extended Monitoring of the Event Cloud The core functionality of CEP can be applied on the business level also in order to identify business threats and opportunities. Composition operators allow defining complex events to detect activity timeouts, fraud, or other typical event combinations [3]. Usually, this is done by the composition-operator based part of the BAM model, as it requires dynamic analysis and matching of event sets, which cannot be done by predefined joins of relational representations of the stream at a single point in time. Automated Action Triggering Also, CEP engines allow triggering automated actions, sending out alerts or directly providing their calculated information for visualization on dashboards. An action can for example be triggered through a Web service or a Java bean. The action is usually not invoked within the EQL itself, but rather uses proprietary interfaces [1]. Therefore it will not be in the focus here. 6 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch 3 Requirements for a Pattern Language for Event-Driven BAM Modeling 3.1 Overview Event-driven BAM either requires only a subset of the CEP functionality, or uses different methods to solve similar problems. In both cases, a pattern language can decrease the complexity of the design process for BAM significantly by specifying the set of methods to use. In the previous sections, we highlighted the different targets of BAM: Monitoring of performance indicators, monitoring of business-level policies, and extended monitoring of the event cloud. Obviously, extended monitoring of events is rather company-specific and diverging in different application domains and, thus, not suitable for a generic pattern language. But the monitoring of business-level policies, as well as monitoring of performance indicators, follows a repetitive scheme: First, the required data is gathered from the event cloud. Second, the target measures are calculated through queries or EQL expressions. Third, the measures are evaluated. Evaluation might be in form of manual analysis (e.g., on dashboards) or in an automated manner inside the CEP engine. A CEP-based BAM model can therefore be divided into sourcing, calculation, and evaluation. The event-driven BAM model division at the same time reflects the phases of the BAM model design process. A pattern language will simplify the modeling process itself, by giving advice to the creation of each part of the model structure. It acts as an abstraction layer between the application capabilities of CEP and the BAM targets. Figure 1 gives exemplary overview of this process in a simple example for purchase order processing. ORDER CREATED ORDER ACCEPTED DURATION CREATED TO ACCEPTED OUT OF NORMAL RANGE DURATION CREATED TO COMPLETED DURATION ACCEPTED TO COMPLETED 3 TIMES IN A ROW ORDER COMPLETED SOURCING Figure 1: CALCULATION EVALUATION Exemplary BAM Model Structure Also, a pattern language can augment the usability and readability of the model itself. In the following, the requirements for each part of the modeling process are identified, followed by general requirements for an event-driven BAM modeling pattern language. 3.2 BAM Preparation Before a BAM system is designed, it is important to define the values which shall be monitored and especially how they are calculated. Otherwise, developers would not know which data to source. This comprises the measures as well as their targets or constraints in case of performance indicators or business-level policies, respectively. Accordingly, Marr et al. [20] see a direct correlation between the definition of sufficient KPIs and the strategic key capabilities of organizations. Consequently, companies tend to use industry specific standard indicators, if available. Such indicators can, e.g., be used by companies in order to compare Multikonferenz Wirtschaftsinformatik 2012 7 the process performance with competitors [21]. Popular examples for industry-specific KPIs are given in the IT Infrastructure Library (ITIL) and the Supply Chain Operations Reference Model (SCOR). Also user-based libraries such as the SAP Business KPI Community or the KPI-Library can be taken as a reference for the definition of a KPI system. Still, since each company has its own organizational goals, they will have a set of self-defined indicators, which are not publicly available. Business-level policies and especially SLAs are commonly not based on standards, but rather on mutual agreements between providers and consumers of services. It can be assumed that such a measurement definition is created by business analysts with sparse knowledge of the technical system landscape. This suggests that tooling for BAM and for KPI definitions is separated, so the measurement definition needs to be transferred into an EQL representation. The output of the BAM preparation therefore is a conceptual representation of the monitoring model or in the best case a “scaffold model” in the required EQL. In the worst case, the developer will have to rebuild the model from scratch. 3.3 Sourcing Definition Assuming that the underlying system landscape can access an event cloud with all required events, the developer’s first step is to determine how the measures, which have been specified by the business analysts, can be calculated on the basis of events from the cloud. Sometimes, the developer will find the exact value as context data of a given process. But sometimes, it will require a complex calculation of the value, as information might be distributed over several processes or require the access to external systems. Furthermore, the developer needs to make sure that the monitored value represents exactly what was meant by the Business Analyst. Additionally, depending on the available data, the developer will have to make adjustments to the units. For example if values are available, but are in the wrong format, e.g., 100¢ instead of $1, he will have to implement the necessary conversion. However, he would need to know the unit of the measure definition. Depending on the value to be calculated and the system structure, additional contextual data needs to be passed to the CEP system. Such data could be a reference identifier to the respective process or process element. This mapping of attributes needs to be done, too, as it depends on the applied CEP engine and may differ in syntax and semantics. Output of this step should be an executable BAM model without any calculated measures or KPIs. A pattern language has to facilitate the categorization of events from the cloud in order to further compute them. Thus, it would improve the events’ usability and comprehensibility. Nevertheless, it is a tradeoff for powerfulness. For that reason, each sourcing construct in the EQL should have a definite type of event. Furthermore, the language must not drop any BAM related-data from the cloud, so all data is available to the CEP engine for possible calculations of the pattern language. At the same time, the language should disallow access to unnecessary data, e.g., network events, which have no use in the calculation of business related measures. For the sake of conformity, the access of the event cloud has to be standardized and reduced to a single set of connectors. A set of basic attributes should be defined which has to be available in the BAM model. In turn, this set defines which events from the cloud are BAM related and are required to be accessible for the language to work. Additionally, in order to increase the information content the unit of the sourced data must be specified. 8 3.4 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch Calculation Definition The actual calculation definition is the translation from the conceptual model – as created in the preparation phase – into the EQL. It represents the core of the processing rules for the CEP engine. There are many different ways to define measures, performance indicators, or business-level policies, even though the definition is that important. Also, the definition might contain descriptive parts, giving additional information on when and how to use the measure which cannot be formalized easily. When using more than one reference to another stream for the calculation of a new measure, it is necessary to create a join. A join merges related data from two or more streams (respectively, relations) into a single readable result. In order to know which data shall be merged one or more conditions are defined which need to be fulfilled before rows are joined. Usually, each condition requires the column of one event of a stream to equal another column of another event. Also, composition operator-based languages have join concepts, even though they follow different comparison paradigms. Basically, the selection of the join configuration is arbitrary, which means that the developer has to think about the adequate join each time a new derived stream with more than one stream reference is created. A pattern language for event-driven BAM with a non-arbitrary set of stream combinations should suggest adequate joins for specific situations to the developer. A pattern language must exactly specify how a calculation of a measure is set up and whether the pattern might be reused in further calculation steps. Accordingly, each new measure has to be created in a standardized manner independent of the calculation. Thereby, the resulting implementations will not contain different calculation approaches if created by different developers. The models will be easier to maintain and extend, and the model will exhibit how it might be reused by other patterns. Furthermore, the explication of the calculation avoids that the business analysts try to use constructs which are not supported on the technical level, as long as the tooling to specify the indicators or policies is consistent with the pattern specification. Accordingly, common calculations should not be done with different calculation approaches. Each calculation needs to be identifiable, and must not be mixed up with other calculations. Typical calculations for durations of processes or activities should be directly available, just like common handling definitions for data measures like literals, XML-Data, etc. Predefined calculations will ease validation. If the calculation of a specific pattern has been proved to be valid (e.g., by means of tests), all patterns which apply to that calculation do not require additional validation. Additionally, as business processes are addressed, it makes sense to have predefined calculations for common enterprise application statistics to perform a quantitative analysis [22]. Furthermore, it appears to be promising to cover popular stochastic measures for real-time determination of distribution functions. Besides the actual calculation, the language has to define which attributes (i.e., columns in SQL) should be picked from one measure by another, so that as much information as possible is prevailed but the calculation is still comprehensible. However, the language must not prevent the usage of composition operators, which are a powerful feature of CEP. Neither should it hide common SQL functionality like filtering and unions. A BAM pattern language has to specify how data from different sources is merged, if multiple values are used for the measure. This means that such a language has to support the developer in the selection of joins as much as possible. Finally, it should be possible to track the development of a measure over time. Multikonferenz Wirtschaftsinformatik 2012 3.5 9 Evaluation Definition If the calculations of all measures have been implemented in the BAM model, they can be evaluated. As stated before, it is not mandatory to evaluate measures in the BAM model. The values can also be sent to a dashboard or external applications. Each evaluation is done as an additional measure. The rules for automated actions are given by the business analysts in general. It is important that the evaluation is consistent with the prior definition of performance indicators and business-level policies. Usually, an evaluation inherits a so called condition measure. Such measures represent a logical expression, which can be either true or false. Those expressions are then used to trigger actions, either automated or initiated by humans. Again CEP offers a plethora of evaluation possibilities – either through composition operatorbased situation detection or through logical evaluation of metrics. Here, a pattern language should provide a standardized approach to create evaluations and support the developer with common evaluation methods such as ranges or value checks. Besides that, a BAM pattern language should contain some problem related patterns, which have a use in several modeling situations. The underlying processes from the technical landscape are the base of the calculations. There should also be patterns to evaluate the process performance. 3.6 General Requirements Generally, CEP is a technique which allows for processing all kinds of events with different attributes, different types, and different behavior. BAM in contrast utilizes CEP for its own purposes, which leaves a large set of CEP features unused. The preceding sections exemplified requirements to a BAM modeling pattern language referring to the distinctive parts of the BAM modeling process (as introduced in Figure 1). To interconnect the particular phases of the design process, it is important to keep the BAM model consistent. The model shall be easily understandable with as little information loss as possible. This requires the language to assist the developer in the naming of attributes as well as naming of measures. A name has to identify the value it represents and therefore must be unique. To keep the amount of design decisions for the developer low, the patterns have to request as few parameters as possible and allow for a swift composition of patterns. 4 Discussion and Outlook The purpose of this study was to identify requirements a BAM pattern language needs to implement to be able to transfer timely reaction to changes in the business environment to the design time level of BAM. We addressed this purpose by reviewing related work on CEP, BAM, and their fusion: event-driven BAM. The review revealed that BAM is an increasingly important part of process and, thus, service productivity measurement. BAM combined with or based on CEP technology offers an even wider range of applications such as the monitoring of time-critical performance indicators through visual dashboards or programmatic rules, the monitoring of business-level policies to avoid breaches of SLAs, the extended monitoring of the event cloud to identify business threats and opportunities in real-time as well as an automated action triggering to call for proactive intervention. Until recently, this fusion of measurements and analysis concepts and their respective technology has not been in focus in service management. 10 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch As more and more research analyzes CEP-based BAM applications, also more and more issues of the loose coupling become apparent such as the complexity of designing interrelated service and event triggers or the complexity of their maintenance. To ease the effort required to set up, analyze, and optimize monitoring models, we have gathered requirements for a pattern language to transfer one of the key targets of BAM to the design time level: Timely reaction to changes in the business environment. We have gathered more than two dozen requirements of general nature as well as requirements for sourcing, calculation, and evaluation definitions. They highlight aspects which range from the necessity of calculation validation to the observation of changes in measure over time. But mainly they postulate standardized behavior for access, attributes, calculation rules, event types, evaluations, and naming among others. In the following Table 1, the requirements are summarized. The goal of the pattern language has to be to fulfill as many of the requirements as possible. Requirement Sourcing Definition Calculation Definition Evaluation Definition General Requirements Table 1: Resulting Requirements Rationale useful event type categorization no loss of available context data in the cloud standardized access of data no access of unnecessary events definition of mandatory attributes definition of units standardized calculation rules calculate process/ activity durations handling of data measures patterns for enterprise application performance patterns for common statistical measures calculate aggregations validated calculations merge definition (joins) composition operator applicability possibility to filter unwanted events possibility to unite measures possibility to monitor development of a measure standardized evaluation specification of ranges specification of data measure value checks specification of problem identification patterns ability to represent business performance standardized naming of attributes standardized naming of measures unique naming of measures names shall identify the content as little information loss as possible easy composition of patterns structure input data, ease of use (calculations) keep data rich, avoid reloading data conformity, reduce amount of adapters focus on business events enable similar access to all events reduce ambiguity of data improve reusability by developers reduce design efforts through high-level process, data, enterprise patterns reuse of calculations reduce testing keep CEP functionality and flexibility track change, auditability reduce ambiguity ease definition of KPI targets keep relation to event origin consistency reduce ambiguity enable readability by humans meaningfulness of data enable involvement of business users Requirements Overview for an Event-driven BAM Pattern Language The list reflects today practical challenges in BAM model design and provides a hands-on overview of these challenges. Recent releases of BPMS provide increased support for process reporting but fall short in addressing a heterogeneous event cloud. Also, there is at Multikonferenz Wirtschaftsinformatik 2012 11 best limited support for the interplay between analysts and developers to transfer changes in design-time into process adaptations in a timely fashion. Based on these challenges, a BAM pattern language that implements these requirements is a good candidate to ease the design of event-driven BAM applications. As patterns have proven to be useful in theory and practice and as there is a clear need for a higher level of abstraction in event-driven BPM projects to measure the productivity of services, we estimate this to be a good basis for discussion and subsequent design. However, we acknowledge that the presented work is subject to various limitations. One might, e.g., argue that a BAM pattern language necessarily would have to consider the business domain it is applied within. Further, a pattern-language marks only one approach to cope with the complexity of the interplay of CEP and BPM. Extending EQL by capabilities to more abstractly describe process aspects might be another promising approach. In present research activities, we design a BAM pattern language based on the presented requirements in cooperation with industry partners. The language will consist of building blocks, in which patterns on different levels of abstractions are introduced to solve specific problems of service productivity with event-driven BAM. On the one hand, custom measurement systems, as well as the evaluation of their values can be created with so called base patterns. On the other hand, the language will provide patterns to create common measures at once with respect to different domains (e.g., statistics, enterprise performance, etc.). This modular design will allow for future extension of the given pattern set by the composition of existing patterns. The resulting pattern language will be subject to verification in a productive environment, statistical research on the usability of the language and its implementation, and the integration with domain specific patterns. 5 References [1] Janiesch, C; Matzner, M; Müller, O (2011): A Blueprint for Event-driven Business Activity Management. In Rinderle, S; Toumani, F; Wolf, K (Eds.), 9th International Conference on Business Process Management (BPM). Lecture Notes in Computer Science Vol. 6896. Clermont-Ferrand. 17-28. [2] Dresner, H (2002): Business Activity Monitoring: New Age BI. Gartner Research LE15-8377. [3] Luckham, D (2002): The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Professional, Boston, MA. [4] Paschke, A (2008): Design Patterns for Complex Event Processing. In 2nd International Conference on Distributed Event-Based Systems (DEBS). Roma. 1-2. [5] Alexander, C; Ishikawa, S; Silverstein, M (1977): A Pattern Language: Towns, Buildings, Constructions. Oxford University Press, New York, NY. [6] Buschmann, F (1998): Pattern-orientierte Software-Architektur: Ein Pattern-System. 2nd Edn. Addison-Wesley, Bonn. [7] Gamma, E; Helm, R; Johnson, R; Vlissides, J (1994): Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA. [8] Chandy, KM (2009): Event Processing: Designing IT Systems for Agile Companies. McGraw-Hill, New York, NY. 12 Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch [9] von Ammon, R; Silberbauer, C; Wolff, C (2007): Domain Specific Reference Models for Event Patterns for Faster Developing of Business Activity Monitoring Applications. In VIP Symposia on Internet Related Research with Elements of M+I+T++ (VIPSI). Bled. 1-9. [10] Etzion, O; Niblett, P (2010): Event Processing in Action. Manning Publications, Cincinnati, OH. [11] Heß, H (2005): From Corporate Strategy to Process Intelligence: What Comes after Business Intelligence? In: Scheer, A-W; Jost, W; Heß, H; Kronz, A (Eds.) Corporate Performance Management: ARIS in Practise. Springer, Berlin, 7-31. [12] McCoy, DW (2002): Business Activity Monitoring: Calm Before the Storm. Gartner Research Note LE-15-9727. http://www.gartner.com/resources/105500/105562/ 105562.pdf. Accessed at 2010-08-23. [13] Golfarelli, M; Rizzi, S; Cella, I (2004): Beyond Data Warehousing: What’s Next in Business Intelligence? In 7th ACM International Workshop on Data Warehousing and OLAP (DOLAP). Washington, DC. 1-6. [14] Luckham, D (2004): The Beginnings of IT Insight: Business Activity Monitoring. ebizQ. http://www.ebizq.net/topics/cep/features/4689.html. Accessed at 2011-09-20. [15] Ly, LT; Rinderle-Ma, S; Knuplesch, D; Dadam, P (2011): Monitoring Business Process Compliance Using Compliance Rule Graphs. In Meersman, R; Dillon, T; Herrero, P; Kumar, A; Reichert, M; Qing, L; Ooi, B-C; Darmiani, E; Schmidt, DC; White, J; Hauswirth, M; Hitzler, P; Mohania, M (Eds.), 19th International Conference on Cooperative Information Systems (CoopIS). Lecture Notes in Computer Science Vol. 7044. Hersonissos. 82-99. [16] Hubbard, DW (2010): How to Measure Anything: Finding the Value of Intangibles in Business. 2nd Edn. Wiley, Hoboken, NJ. [17] Keller, A; Ludwig, H (2003): The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services. Journal of Network and Systems Management 11(1):57-81. [18] del Río-Ortega, A; Resinas, M; Ruiz-Cortés, A (2010): Defining Process Performance Indicators: An Ontological Approach. In: On the Move to Meaningful Internet Systems. In Meersman, R; Dillon, TS; Herrero, P (Eds.), On the Move to Meaningful Internet Systems (OTM). Lecture Nores in Computer Science Vol. 6426. Hersonissos. 555572. [19] Ouelhadj, D; Garibaldi, J; MacLaren, J; Sakellariou, R; Krishnakumar, K; Meisels, A (2005): A Multi-agent Infrastructure and a Service Level Agreement Negotiation Protocol for Robust Scheduling in Grid Computing. In Sloot, PMA; Hoekstra, AG; Priol, T; Reinefeld, A; Bubak, M (Eds.), Advances in Grid Computing (EGC). Lecture Notes in Computer Science Vol. 3470. Amsterdam. 651-660. [20] Marr, B; Schiuma, G; Neely, A (2004): Intellectual Capital-defining Key Performance Indicators for Organizational Knowledge Assets. Business Process Management Journal 10(5):551-569. [21] Wang, W; Heng, M; Chau, P (2007): Implementing Supply Chain Management in the New Era: A Replenishment. Idea Group, Hershey, PA. [22] Lankhorst, M (2009): Enterprise Architecture at Work: Modelling, Communication and Analysis. Springer, New York, NY.