Designing internal control points in partially managed processes by using business vocabulary



Similar documents
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

IBM Operational Decision Management v8

Business Process Management

White Paper. Enrich the Decisioning of Your COBOL Applications

Oracle Service Bus Examples and Tutorials

QLIKVIEW GOVERNANCE DASHBOARD 1.0

IBM BPM V8.5 Standard Consistent Document Managment

Visual Interactive FORTRAN (VIFOR)

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Tivoli Enterprise Portal

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

JRules 6.0. from ILOG

IBM WebSphere ILOG Rules for.net

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

Automating Healthcare Claim Processing

Infor Supply Chain Execution

WebSphere Business Monitor

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

Guide to Automating Workflows Quickly and Easily

Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager

Ticketing Hands-on Exercise

Comprehensive Compliance Auditing and Controls for BI/DW Environments

Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases

Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x

SERENITY Pattern-based Software Development Life-Cycle

Developing accessible portals and portlets with IBM WebSphere Portal

Eight principles of risk convergence

JOURNAL OF OBJECT TECHNOLOGY

Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development

SAMAY - Attendance, Access control and Payroll Software

IBM Software Enabling business agility through real-time process visibility

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Augmented Search for Software Testing

Cloud Services MDM. Management Admin Guide

IBM Business Monitor V8.0 Global monitoring context lab

Semantic Analysis of Business Process Executions

InfiniteGraph: The Distributed Graph Database

Decisions in IBM Websphere ILOG BRMS

How To Write A Rulebook In Anib Websphere Jrules

Introducing CXAIR. E development and performance

Using Assurance Models in IT Audit Engagements

IBM Business Monitor. BPEL process monitoring

WebSphere Business Monitor

Component visualization methods for large legacy software in C/C++

A Tipping Point for Automation in the Data Warehouse.

Better management through process automation.

Databases in Organizations

Extend the value of your core business systems.

SOA: The missing link between Enterprise Architecture and Solution Architecture

2/5/2013. Session Objectives. Higher Education Headlines. Getting Started with Data Analytics. Higher Education Headlines.

Rational Team Concert. Quick Start Tutorial

ElegantJ BI. White Paper. Considering the Alternatives Business Intelligence Solutions vs. Spreadsheets

Enterprise Application Development in SharePoint 2010

Audit TM. The Security Auditing Component of. Out-of-the-Box

SC121 Umoja Contractor & Consultant Services Overview. Umoja Contractor & Consultant Services Overview Version 7

Augmented Search for IT Data Analytics. New frontier in big log data analysis and application intelligence

APPLICATION COMPLIANCE AUDIT & ENFORCEMENT

How To Evaluate Web Applications

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7

Graphical Web based Tool for Generating Query from Star Schema

Smarter Healthcare Processes in Imagine if

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

Using Process Mining to Bridge the Gap between BI and BPM

Building and Using Web Services With JDeveloper 11g

Listeners. Formats. Free Form. Formatted

Security management solutions White paper. IBM Tivoli and Consul: Facilitating security audit and compliance for heterogeneous environments.

SAP Data Services 4.X. An Enterprise Information management Solution

BPM and Rules Technical Update. Sunil Aggarwal, WebSphere BPM Leader UK&I

Achieve greater efficiency in asset management by managing all your asset types on a single platform.

IT Analytics and Big Data - Making Your Life Easier

Manageability with BPM

User's Guide - Beta 1 Draft

Business 360 Online - Product concepts and features

Using LDAP Authentication in a PowerCenter Domain

Samples and tutorials Version Hiring Sample Tutorial for IBM Process Designer

Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.

Skynax. Mobility Management System. System Manual

Witango Application Server 6. Installation Guide for Windows

August 2014 San Antonio Texas The Power of Embedded Analytics with SAP BusinessObjects

A SOA visualisation for the Business

ORACLE MANUFACTURING EXECUTION SYSTEM FOR DISCRETE MANUFACTURING

The role of integrated requirements management in software delivery.

Taleo Enterprise. Taleo Reporting Getting Started with Business Objects XI3.1 - User Guide

Configuring Situation Events in Action Manager for WebSphere Business Monitor Version 6.0

RETRATOS: Requirement Traceability Tool Support

Integrity 10. Curriculum Guide

Knowledgent White Paper Series. Developing an MDM Strategy WHITE PAPER. Key Components for Success

WHITEPAPER. Creating and Deploying Predictive Strategies that Drive Customer Value in Marketing, Sales and Risk

Flexible Decision Automation for Your zenterprise with Business Rules and Events

IBM Tivoli Composite Application Manager for WebSphere

Writers: Joanne Hodgins, Omri Bahat, Morgan Oslake, and Matt Hollingsworth

Analysis of the Specifics for a Business Rules Engine Based Projects

TechTips. Connecting Xcelsius Dashboards to External Data Sources using: Web Services (Dynamic Web Query)

SAP Business Objects XIR3.0/3.1, BI 4.0 & 4.1 Course Content

Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved.

Electronic Forms Processing (eforms)

Transcription:

Designing internal control points in partially managed processes by using business vocabulary Yurdaer N. Doganata, IBM T. J. Watson Research Center Hawthorne, NY 10532 yurdaer@us.ibm.com Abstract The challenges of automatically detecting compliance failures in partially managed processes are addressed and a solution is proposed. Detecting compliance failures by creating internal controls is a requirement of enterprise risk management framework. In case of unmanaged or partially managed processes, lack of full process visibility and the dependence on in depth knowledge of IT system and business application code are the main challenges of generating internal controls. Integration of business provenance management system with a business rule management system is proposed to overcome these challenges. I. INTRODUCTION Detecting compliance failures help organizations better control their operations and remain competitive. The quality of product and services can not be ensured in a business if the processes do not conform to design goals and comply with the rules and regulations. Moreover, organizations may be subject to serious financial penalty as well as civil and penal consequences if they failed to comply with established guidelines, rules and regulations. Hence, the impact of noncompliance may have devastating consequences [1], [2]. Compliance can be managed relatively easy when business processes are fully automated, well structured and documented [3]. In a fully automated structured business process real time information about the status of various activities can be collected by business activity monitoring software [4]. Hence, the trace of the business operations is completely visible when processes are managed by software applications. In modern enterprises, however, operations are not fully automated. Business activities span across systems and organizations integrating legacy and newly developed applications and activities often relay on human interactions in the absence of predefined control structures. Activities are not controlled by a single system or predefined rules, in other words, they are either partially managed or unmanaged. Enterprise Risk Management framework such as COSO ERM requires creating internal control points to detect compliance failures for the purpose of preventing business risk from occurring [5],[6]. Internal controls can provide a reasonable assurance that the goal of an organization is met. Traditionally, auditors are used to check the status and the effectiveness of internal controls; however, this is a costly and time consuming approach. Automating the auditing tasks is possible provided that the internal controls are expressed in terms of business entities that are produced during the execution of a business process. This paper focuses on the challenges of creating internal control points to detect compliance failures automatically where the processes are either unmanaged or partially managed and proposes solutions for these challenges. In a business environment where activities are not fully controlled, there are primarily two challenges in detecting compliance failures. The first challenge is to create internal controls when end-to-end operations are not fully visible and the business artifacts that are needed to define a control point are not always available. The second challenge is to enable creating internal controls without depending on in depth knowledge of IT system and business application code. Business people should be able to create new control points without requiring the application code to be modified every time there is a change. Hence, for a successful automation of detecting compliance failures, the visibility of operations needs to be increased while the gap between IT systems and business people is decreased. This requires tracking, capturing and correlating relevant aspects of the business operations and enabling internal control point creation by using the language of business people. Traditionally internal control points are implemented by the IT organization based on the requirements prepared by business people [7] [8]. This is mainly because the internal controls are buried into the application code[9]. Implementing new internal controls by IT department every time there is a need is very costly and not flexible. In today s enterprises, business people like to test different internal controls without requiring changes in the application code every time a new control is created. In the next section, the problem of traceability in partially managed processes is tackled by employing business provenance technology [10]. The goal is to provide enough operational visibility to define internal controls from business process artifacts. In Section III, integrating the execution trace into a business rule management system [11] to business province management system is discussed in response to eliminating IT dependency in creating internal controls. The idea is to make the relevant business execution data available to a business rule management system to define internal controls by using business vocabulary.

II. INCREASING VISIBILITY OF UNMANAGED PROCESSES The efficacy of internal controls depends on the visibility of the underlying process. Visibility of an unmanaged process is measured by the amount of relevant process artifacts that can be captured and distinguished. Hence, capturing and correlating the business events within the context of the business operations is an important part of increasing the visibility of a business process. This section overviews the business provenance management system [10] that has been proposed and used to increase the visibility of unmanaged or partially managed processes in response to the first challenge. The business provenance subsystem monitors the various underlying systems across which the process executes, and is responsible for gathering relevant events (such as tasks being performed, data being accessed or modified and so on), and correlating these into coherent business process traces. Each relevant event produced by the IT system is stored in a provenance graph as a particular type of node or edge. Central to this process is the development of the provenance data model, based on the IT implementation of the process and the context of the business operations. During the development of the provenance data model, nodes and edge types that are expected to be produced at runtime are modelled. The data model is based on the known types of events that the IT systems produce. A relation between a resource record and a task record shows who was involved in executing that particular task. A relation between a data record and a task record reflects the effects of the task on the business artifact or the task dependency on its availability. A business goal and the associated internal controls often combines aspects by describing which tasks should be performed, when, how and who should be involved A. Capturing and storing business events The trace of a business process is obtained by using recording clients which process application events and transform them into provenance events. The captured data must be relevant and specific to the business operation under consideration. Capturing application event data may require access to underlying system logs, email repositories, or user specified directories where documents are stored. The recorder client processes application events, transforms them into provenance events and records them in the provenance store. A provenance event contains a subset of application data that needs to be stored as business provenance. The captured data must be relevant and specific to business control points. To avoid redundancy and possible exposure of sensitive data, recorder clients do not copy all application data. The captured data is then typed according to the proposed data model by using the specifications of the business and stored. Once the provenance data is stored, relations among the entities are established by running analytics. The data correlation and enrichment component links and enriches the collected data to produce the provenance graph. To do so, the analytics components have access to the content of the provenance store. The enriched business data is accessed through a query interface and analysed to verify business control points in two different styles. Firstly, a query can be deployed into the provenance store to emit results in real-time, feeding existing dashboard systems to display key performance indicators for example. Secondly, a query frontend enables visualization and navigation through the provenance graph from the outside B. Business Provenance Graph Data Model The types of graph nodes should be general enough to support various meeting data without lack of generality. We propose to extend the following data types for meeting visualization which are proven sufficient to represent any business process: Data Type: The business artifacts that were produced or exchanged during the business process such as documents, e- mails, database records, etc. Task Type: A task record is the representation of a particular process activity that utilizes or manipulates data and is executed by the process resources. Resource Type: A resource record represents a person, a runtime or a different kind of resource relevant to the selected scope of business provenance; an actor of a particular task is an example of such a record. Custom Records: Custom records provide an extension point to capture domain specific, mostly virtual artifacts like compliance goals, alerts and checkpoints. Nodes of the provenance graph represent these four classes of records. Edges between nodes are made based on correlation between two records, Relation Records represent the edges. These are the records generally produced as a result of relation analysis among the collected records. Some relations are rather basic on the IT level, like the read and write between tasks and data. Other relations are derived from the context. C. Example: New position open process Fig. 1 shows a sample business process to open a new position. The example is taken from Lombardi user guide [12]. In the example depicted by Fig. 1, the hiring manager submits a job requisition for a new position. If this is for a new job position, the requisition is routed to the general manager for approval. If this is for an existing position, the requisition is routed directly to human resources. The general manager evaluates the submitted requisition and either approved it or rejects it. This is represented by Approve/reject requisition task. If approved, the requisition is routed to human resources. Otherwise, it is terminated and the hiring manager is notified. Based on the data model described in the previous section, the records that are created for this process are as follows: Data records: Job Requisition, GM s approval, GM s rejection, List of job candidates.

Task records: submit job requisition, approve/reject requisition, find job candidates, and notify hiring manager. Resource records: hiring manager, general manager, human resources, system Relation records: actor, generates, manager, next task, submitterof, approvalof Figure 1. New position open process Figure 2. A trace of New Position Open Process Fig. 2 shows the visualization of new position open process execution trace as a graph. The various icons such as person, gear, and notepad represent resources, tasks and data items respectively. The internal control is created during the execution of the traces as a custom node and connected to Job Requisition, Approval Status and the Candidate List data nodes. Associated connections between the control node and the data nodes are made by checking the content of each data item and run correlation rules to form edges between the control point and the associated data items. The compliance status of the internal control point is verified by checking if the edges specified in the definition of internal control point exist. For the New Position Open Process, one possible way of storing the provenance data is exemplified in Table 1. The XML elements of each class are extensible to add any element relevant to internal controls. Every provenance data element is stored in a row and the attributes of each data entity is stored as XML elements under the XML column. Hence, the table stores the content of the recorded provenance events as XML. The attributes of each provenance data entity can be extracted from the table by using XML queries. Application ID, APPID, helps differentiating entities that belong to different traces in a table where all the traces are stored. TABLE I. STORING THE PROVENANCE ENTITIES OF AN EXECUTION TRACE ID CLASS APPID XML PE1 Resource App01 <ps:person ps:id=" ps:class="resource" > <ps:appid>app01</ps:appid> <ps:name>joe Doe</ps:name> <ps:timestamp value=".. <email>jdoe@acme.com</email> <manager>jane Smith</manager> <role>sales Manager </role> </ps:person> PE2 Task App01 <ps:submission ps:id= ".." ps: class = " resource" > <ps:appid>app01</ps:appid> <ps:start> </ps:start> <ps:end> </ps:end> <email>jdoe@acme.com</email> <manager>jane Smith</manager> </ps:submission> PE3 Data App01 <ps:jobrequisition ps:id=".." ps:class="data" > <ps:appid>app01</ps:appid> <ps:reqid>req001</ps:reqid> <ps:timestamp value=".. <ps:type>new</ps:type> <dept>dept501</dept> <ps:position> Sales</ps:position> </ps:jobrequisition> PE4 Relation App01 <ps:relation <ps:source>source Node</ps:source> <ps:target>target Node</ps:target> <ps:timestamp value=".. <ps:type></ps:type> </ps:relation> PE4 Custom App01 <ps:controlpoint> edge definitions </ps:controlpoint> Business control points associated with the business rules can be created using this description in terms of provenance graph entries. A business control point is satisfied if certain vertices and edges exist in the provenance graph. Hence, it is possible to claim that a business control point is a sub graph of the provenance graph While the relevant details of the process trace is stored in Error! Reference source not found. as exemplified above directly from recorder clients, creating internal controls is not

a trivial task. Extensive IT skills are required to manage the data stored in a database. Another problem is that the Error! Reference source not found. does not contain the semantic information related to the business process. The table provides for a structured representation of business process traces without using the business vocabulary. A semantic mapping between the IT level details stored in Error! Reference source not found. and the business language is needed to be able to provide a business level view of the trace. Often implementation of internal control points depends on IT departments in creating, testing and deployment of internal controls by business people. There exist tools that help creating internal controls as an expression of business policy in a form that is understandable by business users. The next section describes how one of these tools, namely ILOG JRules BMRS [11], can be utilized to create internal controls in the language of business people. Other tools can also be used without loosing the generality of the concept. D. Semantic Mapping: Creating Business Vocabulary Business users need to create internal controls using familiar business terms. ILOG JRules BMRS [11] is one of the tools that provide for a rule development environment to create business vocabulary which is called verbalization. The data model used to create provenance graph as explained above is the model against which the internal controls are run. The first step of the solution is to generate an executable java object model (XOM) from the provenance data model. This way the nodes and the edges of the graph and their attributes are directly linked to XOM java objects through getters and setters methods. In order to enable editing internal controls by using business vocabulary, the next step is to map XOM to business vocabulary by using so-called Business Object Model (BOM). With this vocabulary, internal control points can be described by using the language of business people. A BOM in a rule management system contains the classes and methods that the artifacts of internal controls act on. As an object model, the BOM is very similar to a Java object model. It consists of classes grouped into packages. Each class has a set of attributes, methods, and possibly other nested classes. BOM-to-XOM mapping defines the correspondence between the BOM and the XOM used at runtime. As an example, consider the data node PE3, jobrequisition, as shown in Fig. 2. The java class that represents this data object is given below. The associated XOM data object for jobrequisition is constructed by the attributes of PE3. package mycompany; public class jobrequisition { public String class = "data"; // Construct for jobrequisition public jobrequisition (String managergen, String appid, }} String reqid, Boolean type, String position) { this.managergen = managergen; this.appid = appid; this.reqid = reqid; this.timestamp=timestamp; this.type = type; this.position = position; this.dept = dept; In the execution model (XOM) jobrequisition is a data class with attributes or data members. When the BOM is created from the execution model, class attributes are verbalized as navigation phrases and the methods are verbalized as action phrases. Some of the sample navigation phrases generated for jobrequisition data class in are listed below. The association between java class members and the navigation/action phrases constitute the BOM. The content of BOM includes statements like: mycompany.jobrequisition#concept.label = Job Requisition mycompany.jobrequisition.managergen#phrase.navigation = {general manager} of {this} mycompany.jobrequisition.appid#phrase.navigation = {application ID} of {this} mycompany.jobrequisition.reqid#phrase.navigation = {requisition ID} of {this} mycompany.jobrequisition.position#phrase.navigation = {offered position} of {this} mycompany.jobrequisition.type#phrase.navigation = {position type} of {this} Optionally, managergen can be accessed from a hashtable by using a get method such as getmanagergen where dept and managergen are the <key, value> pairs: // Method to get the name of the hiring manager s name public String getmanagergen(string dept) { String managergen = (String) hashmap.get(dept); return managergen; } Hence depending on the underlying data model used in capturing and correlating the process artifacts, either navigation or action phrases are used for verbalization. In this case an action phrase is generated for getting the name of the general manager as mycompany.jobrequisition.getmanagergen#phrase.action = {general manager} of {this} Hence, when the phrase general manager appears in an expression, BOM indicates that general manager is obtained by using the getmanager method of the jobrequisition class. Fig. 3 depicts the verbalization of jobrequisition with attribute managergen as the job requisition and the general manager of the job requisition. Similarly, the relations are also verbalized by using the same concept. There is a java class representation of each relation type. A relation

is an edge in the graph where the source and the target nodes are the members of the java class that represents the edge. In short, the vocabulary is the set of terms and phrases attached to the elements of the BOM. Readers are referred to the user manual of ILOG JRules tool [11] for the details of verbalization of executable objects such as graph nodes. Vocabulary elements associated with the graph nodes are then used by internal control editor. internal control is not satisfied. A business person can create this internal control by using the vocabulary created by the graph nodes and using if-then-else statement without a need to know the data model or associated graph structure The internal control authoring tool (ILOG JRules) provides for editing capability in natural language. The business vocabulary generated in BOM is provided by using drop down menus in the rule editing tool. Hence, the drops down menus contain the associated vocabulary for every graph node and its attributes. All internal controls have the same structure: a list of conditions to meet before performing a list of actions. It has four parts; definitions, if, then and else. The variables for the internal control point descriptions are defined in the definitions section. The conditions for the internal controls are listed in the if part, and the actions to be performed are listed in the then and else parts. Internal controls can be created by using Business Action Language (BAL) [13] and the vocabulary created for the provenance graph items. BAL consists of predefined constructs to build business rules and the operators that can be used in rule statements to perform arithmetic operations, associate or negate conditions, and compare expressions. Figure 3. Steps of creating and editing internal controls III. AUTHORING INTERNAL CONTROLS This section gives an overview of the structure of an internal control point and how to author one. Once the internal controls are expressed by using business vocabulary, they are then mapped onto the nodes and edges of the provenance graph by linking to the associated data, task and resource items. Linking the internal controls to the provenance graph is done automatically. This is possible since the phrases used to express internal controls are linked to the members of the java classes that represent the data model of the provenance graph as explained in section II. The compliance results of process execution traces against the deployed internal control points are then queried from the provenance store and results are displayed in a dashboard. An internal control of the New hire open process described above is to ensure that the approval of the general manager exists for a new job requisitions before the search for a candidate starts. This internal control is represented in Fig. 2, with connections to three data nodes; job requisition, general manager approval and the candidate list. If the job requisition is for a new job, both the approval of the general manager and the candidate list must exist. If one of them is missing, then In the example below, the control point of the New Position Open Process is expressed by using the definition and if-then-else structure. In the definition section, Current job opening request is defined as the Job requisition with a string variable which is used to define the ID of the job requisition as follows: set the current job request to a job requisition where the id of Job Requisition is <string ID> This definition links the current job request to a data graph node labelled as job requisition with a specific ID. In addition, hiring manager of the request is defined as the submitter of this current job opening request ; general manager of the request is defined as the manager of the hiring manager of the request as follows: set hiring manager of the request to a person where the relation of this person to the current job request is the submitter of job requisition ; This definition links the hiring manager of the request to a graph node labelled as person which is connected to the current job request data node as defined above with an edge labelled the submitter of job requisition. Finally, the general manager of the request is defined as the manager of the hiring manager of the request and linked to the manager attribute of the resource node hiring manager of the request as:

set general manager of the request to the manager of the hiring manager of the request In the second part of the structure, the conditions are listed. The first condition is to check if the job requisition is for a new job opening. Otherwise, approval is not needed. The second condition is to ensure that the approval of general manager exists If all the following conditions are true: -The type of current job opening is new - Approval from the general manager of the request is not null Then Internal control is satisfied Else Internal control in not satisfied This way the internal control expression is formed by using business vocabulary and with proper verbalization of the provenance data objects. Linking this expression to a subgraph of the provenance graph that represents the control point is possible since the vocabulary used in the expression is directly linked to the graph nodes and edges. The first constraint of the expression is transformed into a graph query which retrieves a job requisition data node with type new for a given job requisition id. The second constraint is transformed into a query that retrieves a data of type Approval Status with a boolean status value Approved for the same requisition id. Finally, last constraint corresponds to a query that returns the list of candidates for the same requisition id. The internal control point is generated as a custom node connected to the three data nodes defined by the constraints. The internal control is satisfied if all the specified edges exist. IV. CONCLUSION Integration of a business rule management system to the business provenance management helps closing the gap between the IT and business people. Proper verbalization of the provenance data model is crucial in making the connection between business vocabulary and the data types used to capture the trace. This article shows how to create internal control points by using a rule management system and linking these internal control points to the process execution trace. The bridge between IT and the business vocabulary is built by connecting provenance data model to execution object model first, then to business object model, and finally to rule editing in business vocabulary. Once the proper verbalization is completed, the business people can create internal controls without a need to know data model and association to underlying provenance graph. Different verbalization for different business vocabulary is possible. This work suggests that the task of verbalization is a role that is executed after the provenance graph data is created. This study shows that verbalization can be done over the execution trace without changing the application code. Hence, the approach is applicable to partially managed or unmanaged processes where activities are not fully controlled or monitored. Future research includes improving verbalization process by adding business semantic into the provenance data model and automatic deployment of control points to provenance graph and continuous compliance checking. REFERENCES [1] J. Hagerty, J. Hackbush, D. Gaughan, S. Jacaobson, The Governance, Risk Management, and Compliance Spending Report, AMR Research Report, March 25, 2008. [2] S. Greengard, Compliance Software s Bonus Benefits, Business Finance Magazine, February 2004. [3] Gartner, Simplifying Compliance: Best Practices and Technology, French Caldwell, Business Process Management Summit, June 2005. [4] M. Hellinger, S. Fingerhut, Business Activity Monitoring: EAI meets data warehousing, EAI Journal, July 2002. [5] Enterprise Risk Management-Integrated Framework, Committee of Sponsoring Organizations of the Treadway Commission (COSO). Jersey City, NJ, 2004. [6] COSO Committee of sponsoring organizations of the treadway commission. http://www.coso.org. [7] S. Foley, Security Risk Management Using Internal Controls. WISG 09 Proc. 1st ACM workshop on Information Security Governance (WISG), Chicago, Illinois, November 2009. [8] G. Gheorghe, F. Massacci, S. Neuhaus, A. Pretschner, GoCoMM: A Governance and Compliance Maturity Mode, Proc. 1st ACM workshop on Information Security Governance (WISG 09), Chicago, Illinois, November 2009. [9] I. Rouvellou, L. Degenaro, J. Diament, A. Fokoue, S. Weber, Business Users and Program Variability: Bridging the Gap. ICSR 2004, pp. 11-22, Madrid, Spain. [10] F. Curbera, Y. Doganata, A. Marten, N. Mukhi, A. Slominski, Business Provenance - a technology to increase traceability of end-toend operations, CoopIS 2008, Monterrey, Mexico. [11] Websphere ILOG Business Rule Management Systems, http:// www.ibm.com/ developerworks/websphere/zones/brms/. [12] IBM Websphere Lombardi Edition, http://publib.boulder.ibm.com/ infocenter/wle/v7r1/index.jsp. [13] Business Action Language, http://publib.boulder.ibm.com/infocenter/ brjrules/v7r0m2/index.jsp?topic=/com.ibm.websphere.ilog.jrules.doc/c ontent/business_rules/documentation/_pubskel/jrules/ps_jrules_gl obal1718.html.