Enhancing the Case Handling Paradigm to Support Object-aware Processes Carolina Ming Chiao, Vera Künzle, and Manfred Reichert Institute of Databases and Information Systems, Ulm University, Germany {carolina.chiao,vera.kuenzle,manfred.reichert}@uni-ulm.de Abstract. Despite the widespread adoption of process management sys- tems (PrMS) by industry, there exist numerous processes that cannot be adequately supported by PrMS so far. A common characteristic of these processes, which is usually neglected by traditional activity-centric PrMS, is the role of data as driver for process modeling and enact- ment. To overcome the limitations caused by missing integration of data and process, several data-centric process management approaches have emerged. A popular one is the Case Handling (CH) paradigm. However, previous case studies pointed out that, although it targets some of the limitations from activity-centric PrMS, the integration of processes and data supported by CH is still unsatisfactory. In this paper, we present the lessons learned from previous case studies and discuss the limitations of CH. We then present the PHILharmonicFlows framework, which en- hances the power of data-centric approaches such as CH by enforcing a well-defined modeling methodology governing the object-centric spec- ification and execution of processes and based on a formal operational semantics. Key words: Case Handling, Data-centric Processes, Object-aware Pro- cess Management 1 Introduction Business process management provides generic methods, tools and techniques for designing, configuring, enacting, and monitoring business processes [1]. Existing process management systems (PrMS) are usually activity-centric; i.e., processes are defined as a set of “black-box” activities and control flow elements, express- ing the order and constraints for executing these activities. However, in these PrMS, business data is typically treated as second-class citizen [2, 3]. Most PrMS only cover atomic data elements, which are needed for control flow routing and as input parameters of process activities. In turn, business objects are usually stored in external databases; i.e., they are outside the control of the activity- centric PrMS. Traditional activity-centric PrMS have been primarily designed for highly structured, repetitive processes. By contrast, knowledge-intensive processes are often unstructured or semi-structured [4]; i.e., these processes are driven by user decisions and cannot be straight-jacketed into activities [2]. Moreover, such 89 processes require integrated access to data; i.e., users shall be able to immedi- ately access important information at arbitrary points in time during process execution. Additionally, the execution of knowledge-intensive processes depends on the availability of certain information, but not on the completion of a certain activity (as in activity-centric PrMS). Consequently, they are data-driven; i.e., instead of depending on activity completion, the progress of process execution depends on changes of correspondent business objects. Besides, these processes normally depend on data from other process instances from the same or dif- ferent type. Therefore, a PrMS must provide a mechanism for coordinating the interactions between such interdependent processes. In several case studies in different domains [5, 6, 7, 8, 9], we learned that the described limitations can be traced back to the missing integration of business data and processes. To overcome at least some of the more severe limitations, there exist several approaches that support a tight integration of process and data [2, 3, 7, 10, 11, 12, 13]. One prominent data-centric approach is provided by the Case Handling paradigm (CH) [2, 14, 15]. In CH, the central concept is the case (e.g., an insurance claim or a job offer), which comprises tasks (i.e., ac- tivities), data elements, and relations between the tasks making up the process. Although CH overcomes some of the limitations known from activity-centric PrMS, the paradigm is still not broadly used in practice. To better understand the reasons for this, in several case studies [5, 6, 8] we applied the CH paradigm to existing processes. Thereby, we have observed that CH is limited in respect to object-awareness. Although CH permits to associate different types of data elements to a case, which may be considered in tight accordance with an object, it neither provides explicit support for complex objects nor the relations between them. More precisely, CH supports object behavior ; i.e., it allows specifying in which order and by whom the data elements (i.e., object attributes) shall be writ- ten at runtime. However, CH does not properly take into account the interaction among different cases or different instances of the same case type. In this pa- per, we present the lessons learned in these case studies and discuss some of the fundamental limitations of CH. We further discuss the challenges to be tackled to improve the paradigm in order to provide adequate support for object-aware processes. We then give insights into the PHILharmonicFlows framework, which enhance the CH paradigm by giving adequate support to object-aware processes. Section 2 provides more details on object-aware processes and their charac- teristics. In Section 3, we present a job application process as example. Along with this example, we present a set of requirements to be met by a PrMS in order to provide an adequate support. In Section 4, CH is introduced followed by a discussion of how CH meets the requirements. Finally, we sketch how to enhance the CH paradigm (and other data-centric approaches as well) by intro- ducing the PHILharmonicFlows framework in Section 5. Section 6 closes with a summary and an outlook. 90 2 Object-aware Processes This section describes the fundamental characteristics of object-aware processes. Several require a full integration of process and data. As we learned in case studies in a variety of domains [5, 6, 7, 8, 9], object-aware processes present the following major characteristics: Object behavior. This characteristic deals with the processing of individual object instances. More precisely, for each object type a separate process defini- tion must be provided. At runtime, the latter is then used for coordinating the processing of individual object instances among different users. In addition, it must be specified in which order and by whom the attributes of a particular object instance shall be (mandatorily) written, and what valid attribute settings (i.e., attribute values) are. Furthermore, when executing activities, the involved object instances need to be in certain states. Consequently, for each object type, its behavior should be definable in terms of states and transitions. At runtime, the creation of an object instance shall be directly coupled with the creation of its corresponding process instance. In this context, it is important to ensure that mandatory data is provided during process execution; i.e., during the processing of object instances. For this reason, object behavior should be defined in terms of data conditions rather than based on black-box activities. Object interactions. The behavior of a particular object must be coordi- nated with the one of other related objects. The related object instances may be created or deleted at arbitrary point in time, resulting in a complex data struc- ture. The latter dynamically evolves during runtime, depending on the types and numbers of created object instances. Further, individual object instances of the same type may be in different processing states at a certain point in time. More precisely, it must be possible to execute individual process instances (of which each corresponds to the processing of a particular object instance) in a loosely coupled manner; i.e., concurrently to each other and synchronizing their execu- tion where needed by taking semantic object relations and cardinality constraints into account. Data-driven execution. To proceed with the processing of a particular ob- ject instance, in a given state, certain attribute values are mandatorily required. Hence, object attribute values reflect the progress of the corresponding process instance. More precisely, the setting of certain object attribute values is enforced in order to progress with the process through the use of mandatory activities. However, if required data is already available (e.g., it may be optionally provided by authorized users before the respective mandatory activity becomes enabled), these activities will be automatically skipped when being activated. Furthermore, users shall be able to re-execute a particular activity, even if all mandatory ob- ject attributes have been already set. For this purpose, data-driven execution must be combined with explicit user commitments. Finally, the execution of a mandatory activity may depend on attribute values of related object instances. Thus, the coordination of multiple process instances should be supported in a data-driven way as well. 91 Flexible activity execution. For creating object instances and changing object attribute values, form-based activities can be used. Respective user forms should comprise input fields (e.g., text fields or check-boxes) for writing selected attributes and data fields for reading attributes of object instances. However, different users might prefer different work practices. Activities should therefore be executable at different levels of granularity; e.g., it should be possible that an activity may relate to one or multiple object process instances. Integrated access. Authorized users should be able to access and manage process-related data objects at any point of time. More precisely, permissions for creating and deleting object instances, as well as for reading and writing their attributes need to be defined. Attribute changes contradicting specified object behavior must be prevented. Which attributes may be written or read by a par- ticular (form-based) activity not only depends on the user invoking this activity, but also on the progress of the corresponding process instance. While certain users must execute an activity mandatorily in the context of a particular object instance, others might be authorized to optionally execute this activity; i.e., a distinction is made between mandatory and optional permissions. Furthermore, for object-aware processes, the selection of actors usually not only depends on the activity to be performed, but also on the object instances processed by this activity. In this context, the relationships between users and object instances must be taken into account. 3 Illustrating Example and Requirements This section presents an example of an object-aware process showing the char- acteristics sketched in Section 2. Following this, we discuss some of the require- ments to be met by a PrMS in order to give adequate support to this process. 3.1 Illustrating Scenario: Recruitment Process As example we consider a (simplified) scenario for recruiting people as known from human resource management (cf. Fig. 1). Example 1 (Recruitment Process). In the context of recruitment, applicants may apply for job vacancies via an Internet online form. Before an applicant may send her application to the respective company, specific in- formation (e.g., name, e-mail address, birthday, residence) must be provided. Once the application has been submitted, the responsible personnel officer in the human resource department is notified. The overall process goal is to decide which applicant shall be invited for the interview. When the personnel officer receives a job application, he may request in- ternal reviews for each applicant. The concrete number of reviews may differ from application to application. Corresponding review forms have to be filled by employees from functional divisions. Employees make a proposal on how to 92 Fig. 1. Example of a recruitment process from the human resource domain proceed; i.e., they indicate whether the applicant shall be invited for an inter- view or be rejected. In the former case an additional appraisal is needed. After the employee has filled the review form, she submits it to the personnel officer. Based on the incoming reviews, he makes his decision on the application; i.e., if there are reviews indicating the applicant’s interview, the personnel officer shall invite the applicant for an interview. Otherwise, the application is rejected. 3.2 Scenario Requirements To adequately support such a scenario, any PrMS must meet a set of require- ments, which we describe in the following. This will later be followed by a dis- cussion, where we point out which of these requirements are met by CH and which are not. R1 (Data integration): According to our scenario, the data should be managed in terms of object types comprising object attributes and relations to other object types. Example R1 (Data integration): For each job, a set of applications may be created. In turn, for each application, several reviews may exist. Thereby, a review comprises attributes like application, employee, remark, proposal and appraisal. R2 (Flexible access to data): Authorized data access should be enabled at any point in time during process execution; i.e., not only during the execution of a particular activity. Example R2 (Flexible access to data): The personnel officer should be allowed to access an application even if no activity is currently contained 93 a Instance-specific Activity b Context-sensitive Activity c Batch Activity job job job application application application review interview review interview review interview Fig. 2. Types of form-based activities in his worklist. Furthermore, he should be allowed to update selected attributes from an application whenever needed. R3 (Support of form-based activities and control flow within user forms): A form-based activity comprises a set of atomic actions. Each of them corresponds to either an input field for writing or a data field for reading the value of an object attribute. Which attributes may be written or read in a particular form-based activity may depend on the user invoking this activity and the state of the object instance. In addition, since the writing of particular attributes are mandatory, these forms must signalize which are the corresponding mandatory input fields. However, whether a certain object attribute is mandatory in an activity might depend on the value of other related attributes; i.e., when filling a form, certain attributes might become mandatory on the fly. Example R3a (Form-based activities): An employee requires a form- based activity to write a review for an application. To complete this activity, she must assign values to attributes remark, proposal, and appraisal. In addition, she might access the attributes values of the corresponding application. Example R3b (Control flow within user forms): If an employee chooses to reject a job application, she must provide a reason for this; i.e., attribute rejection reason becomes mandatory and a value must be set for it. R4 (Support of variable activity granularity): Due to the tight inte- gration with data, the behavior of the form-based activities might be related to more than one object instance; i.e., some activities might read/write data in more than one object instance. Accordingly, they may be classified as instance- specific, context-specific, and batch activities. Instance-specific activities corre- spond to exactly one object instance (cf. Fig. 2a). When executing it, attributes of that object instance may be read, written or updated using a form. In turn, a context-sensitive activity additionally includes form fields corresponding to higher- or lower-level object instances (cf. Fig. 2b). Finally, batch activities al- low users to change a collection of object instances in one go; i.e., attribute values are assigned to all selected object instances using one single form (cf. Fig. 2c). 94 Example R4 (Support of variable activity granularity): An employee may choose a context-sensitive activity to edit a review; i.e., to write at- tributes proposal and appraisal and to read attributes referring to the respective application. In turn, personnel officer may choose a batch activity to mark all the other applications as “rejected” when an applicant is hired for the job. R5 (Support of mandatory as well as optional activities): In order to reach process objectives, certain activities must be mandatorily executed for progressing with the control-flow. At the same time, users should be allowed to optionally execute additional activities; e.g., to write certain attributes even if they are not required at the moment. Example R5a (Mandatory activity): When performing a review of a job application, the employee must provide a recommendation on whether to invite the job applicant for an interview or reject the job application; i.e., a form-based activity needs to be mandatorily executed. Example R5b (Optional activity): After a review has been requested and performed by an employee, the personnel officer might want to update the review request; e.g., attribute remark may be optionally updated even if it has been already set. R6 (Alignment of process execution with object behavior): It should be possible to determine in which order and by whom object attributes must be (mandatorily) written and what valid attribute value settings are. Consequently, for each object type, its behavior should be definable in terms of states and transitions. In particular, it should be possible to drive process execution based on data and to dynamically react on attribute value changes. Hence, it is crucial to map states to attribute values. Example R6 (Object behavior): The object review can be defined by different states: initiated (when the personnel officer is setting which job application is going to be reviewed and which employee shall perform the review), under review (when the employee decides whether reject or invite the job applicant), rejected (if the job application is rejected), and invited (if the employee decides to invite the job applicant for an interview). An employee may only provide a review for a particular job application if the process is cur- rently at state under review. The latter is automatically activated as soon as values for attributes employee and application have been assigned. If he rejects the job application (i.e., attribute proposal is set as rejected), then the at- tribute remark shall instantly become mandatory. R7 (Support of flexible process execution): The value setting of cer- tain object attributes are mandatory for process execution; i.e., the mandatory activities enforce the value setting of these object attributes as required for pro- gressing with the process. In principle, respective attributes might be written 95 by executing optional activities as well. If an optional activity is executed be- fore activating a mandatory activity, the latter may be automatically skipped (if other attribute mandatorily set by it have been written before as well). Example R7 (Flexible process execution): An employee might reject a job application, through an optional activity, while the personnel officer is still setting values for other attributes regarding the review; i.e., the review activity is skipped and will not be shown in the employee’s worklist. R8 (Support of activity re-execution): Users should be allowed to re- execute a particular activity (i.e., to update the referring attributes), even if all mandatory attributes have been already set. To reflect this behavior, users must explicitly commit the completion of the respective activity. Example R8 (Activity re-execution): An employee may change his proposal (i.e., invite or reject the job applicant) in the context of a review arbitrarily often, as long as he has not explicitly confirmed his decision. R9 (Enable proper data authorization): To enable access to data at any point in time, permissions for creating and deleting object instances as well as for reading/writing their attributes must be defined. However, attribute changes contradicting to object behavior must be prevented. To achieve this, the progress of the process must be taken into account when granting permissions to change object attributes. Example R9 (Proper data authorization): An employee must not see the review proposal of other employees. At the same time, she must not update her own proposal after submitting it to the personnel officer. 4 The Case Handling Paradigm Case Handling (CH) [2, 14, 15] is a paradigm for supporting flexible and knowledge-intensive processes by strongly integrating them with data. This sec- tion first summarizes basic CH concepts. This is followed by a discussion on whether or not CH meets the requirements introduced in Section 3.2. 4.1 Basic Case Handling Concepts The core concept of the CH approach is the case type. The latter comprises tasks (i.e., activities), atomic data elements, and a set of precedence relations between the tasks making up a process. Opposed to traditional activity-centric PrMS, the primary driver for progressing with a case (i.e., a process instance) is not the event related to task completion, but the availability of values for the data elements of the case. While an activity-centric process model clearly separates the process from its associated data, CH integrates both in a tighter manner, 96 Cases related to b Interaction among a illustrating example case instances Job Offer Job Offer Job Application Job Job Application 1 Application 2 Review Review 1 Interaction not possible Interaction possible c Example of Job Application case type form Execute role: JobApplicant Form Job { Redo role: nobody Skip role: nobody assigned roles Application task-form binding Name restricted binding Fill in Job Birthdate Application Inform Skills task E-Mail Address Form Skills mandatory binding free data element Remarks E-Mail Name Birthdate Skills Remarks data Address input field element Fig. 3. CH paradigm applied to our example using produced data not only for routing decisions, but also for determining which parts of the process have already been accomplished. With CH, each task may be associated with three sets of data elements, each serving a distinct purpose: the first association is between a task and all data elements that must be accessible while performing this task. Further, all data elements mandatory for a task must be set (i.e., bound to a value) before the task itself is considered to be completed by the CH system. Finally, a data object may have a random number of tasks to which it is restricted, meaning that it can only be updated while performing one of these tasks. Interactive tasks are connected to forms, each providing access to a selection of data objects. Note that a particular form may be associated with multiple tasks. Finally, it is possible to associate a form to the case itself; i.e., the case and its data elements may be accessed at any point in time using this form. If a user closes a form after filling out only parts of the mandatory data fields of a task, despite the task not considered as finished, data already entered will still be available to the person who continues working on that task. Such a closely intertwined relation between data and process, however, abandons their often unnatural separation as pursued in traditional PrMS. With the status of data elements being the primary determinant of the case status, this concept overcomes some of the limitations of traditional PrMS: – Work can now be organized by those performing it with a far higher degree of freedom. Activities may either be performed only partially, without losing intermediary results, or multiple related activities may be handled in one go, surpassing the weakened border between tasks. – Routing is no longer solely determined by the pre-specified process model. Case types may be designed in such a manner that multiple activities are enabled concurrently, providing different ways of achieving the same goal. 97 In addition to the execute role, specifying the subset of resources allowed to handle a specific task, CH introduces two other roles being crucial for any operational support: the skip and redo roles. The skip role allows users to bypass a selected task. To skip a task, however, all preceding tasks, which have not been completed yet must be skipped (or completed) beforehand. This becomes necessary to ensure an unambiguous state of the process. In turn, the redo role enables the user to deliberately roll back the state’s case by undoing tasks. In the latter context, the values provided for data objects during the execution of tasks, which are now undone, are not discarded, but merely marked as unconfirmed. Hence, they may serve as a default value when re-executing the respective tasks later on. Before a task may be redone, all subsequent tasks that have already been completed must be rolled back as well. Fig. 3a illustrates an example of how cases and sub-cases can be related. In this example, the case of type job offer is related to a varying number of sub- cases of type job application. In turn, this sub-case may be related to different reviews. Details of a case type are shown in Fig. 3c. Thereby, data elements are associated with forms representing corresponding input fields. In turn, forms are associated with tasks. In our example, the depicted form is associated to both tasks of the case. More precisely, data elements name, birthdate and e-mail address are mandatory for completing task Fill in job application form, while data element skills is mandatory for task Inform skills. In particular, data element name may be only filled in the context of task Fill in job application form. Data element remarks, in turn, is a so-called free data element; i.e., it may be accessed at any point in time during case executiong by any involved user role. 4.2 How Does Case Handling Meet the Requirements of Object-aware Processes We now analyze and discuss whether CH meets the requirements of object-aware processes presented in Section 3.2. This analysis is based on previous case studies [5, 6, 8] as well as on hands-on experience with the CH tool BPMone1 . The latter is a commercial tool that implements the concepts of the CH paradigm. R1 (Data integration): In CH, a case may be considered in tight accor- dance with an object; i.e., the data elements related to a case may logically be considered as data attributes of an object. Further, a case may be hierarchically related with sub-cases, representing object relationships. However, only direct relations (i.e., case and correspondent sub-cases) are supported. Neither interac- tions between two instances of the same case nor access to a case’s data elements by a corresponding sub-case are allowed (cf. Fig. 3b). R2 (Flexible access to data): One of the main characteristics of the CH paradigm is its focus on the entire case; i.e., all users get full reading access to the whole case when they are executing any activity. In particular, context 1 http://www.perceptivesoftware.com/products/perceptive-process/business- process-management 98 tunneling (i.e., limitation of the user’s view to single work items) is avoided, which increases process flexibility. The users involved in one case instance may read all related data elements of the case at any point in time. Additionally, values of free data elements may be edited by all users at any point in time during case execution. R3 (Support of form-based activities and control flow within user forms): Like activity-based modeling approaches, in CH, process steps corre- spond to activities. Such activities can be implemented in terms of forms. Each form is linked with a collection of atomic data elements, which are either manda- tory or restricted. An activity will be considered as completed if all mandatory data elements have an assigned value. However, CH does not allow a field (and the corresponding data element) to become mandatory dynamically; i.e., there are no mechanisms that allow defining the internal flow logic within a form. Hence, this requirement is not completely met. R4 (Support of variable activity granularity): Similar to activity- centric approaches, in the CH paradigm, each task instance is related to exactly one process instance (i.e., instance-specific activities). However, using sub-cases as workaround, context-sensitive activities are partially; i.e., if a case has sub- cases, its tasks may access data elements from its sub-cases. Since CH does not support interactions among different instances of the same case type, batch activities are not directly supported. R5 (Support of mandatory as well as optional activities): In CH, a task may have associated data elements that must be set before completing the case. Setting these mandatory data elements is considered as a mandatory activity. In turn, the definition of optional activities in CH is enabled by the use of free data elements. Since the latter are not relevant for process control, they may be set at any point in time during case execution by any user involved in the case. R6 (Alignment of process execution with object behavior): In par- ticular, the data elements of a case may be associated with tasks (i.e., activities) and be declared as mandatory or restricted. Free data elements, in turn, may be changed at any point in time by any user involved in the case. Thereby, CH al- lows capturing of the object behavior. In other words, by associating mandatory data elements with tasks from a case, it becomes possible to specify in which order and by whom these data elements (or object attributes) shall be written. Additionally, input fields and transitions may be associated with constraints on attribute values. Finally, it is possible to initialize and terminate a case instance at any point in time. R7 (Support of flexible process execution): Enabling of a task is driven by data; i.e., tasks are enabled when data becomes available. When all mandatory data elements, related to a particular activity, are set, the subsequent activity becomes enabled. Additionally, tasks may be automatically skipped at runtime if their mandatory data elements have been provided by other tasks before. R8 (Support of activity re-execution): For each task in CH, separate roles can be defined. More precisely, it is possible to define who shall work on 99 an activity and who may redo or skip it. The redo role allows actors to execute activities several times. However, the user may re-execute the task only until the completion of the respective case. If the execution of the case is completed, the user must not re-execute the task anymore. Hence, user commitments are not considered; i.e., the user cannot indicate to the system that he agrees with the values, set for the data elements, so that the task is then finished in a user- controlled way. R9 (Enable proper data authorization): In CH, data elements are as- sociated with the tasks in order to define the order in which they shall be set. The user role assigned as execute role to a particular activity is the one al- lowed to write the related data elements. However, the direct association of roles with tasks does not allow declaring such tasks as optional for other user roles. Moreover, to avoid context-tunneling, any user involved in the case may read information of the entire case at any point in time; i.e., data privacy becomes a severe issue. 5 Enhancing the Case Handling Paradigm The CH paradigm overcomes many of the limitations caused by the missing integration of data and processes. However, as discussed, there still exist re- quirements not fully met by CH; e.g., concerning flexible activity granularity and data privacy issues. Although CH focus on data as driver for process execu- tion, it does not take object states and transitions between them into account; i.e., CH does not enable mappings between attribute values and objects states and therefore is unable to ensure compliance between them. To deal with these drawbacks of the CH paradigm and other existing data-centric approaches, we have developed the PHILharmonicFlows framework. Fig. 4 summarizes its main components. Basically, PHILharmonicFlows comprises both modeling and run- time environment enabling full lifecycle support for object-aware processes. As a fundamental prerequisite, a data model describing the respective domain needs to be defined; i.e., object type and relations are defined (cf. Fig. 5a). The modeling environment of PHILharmonicFlows enforces a well-defined modeling methodology governing the definition of processes at two different levels of granularity: micro and macro processes. A micro process captures the behavior of an object (cf. Fig. 6), while the macro process realizes the objects interactions. In particular, PHILharmonicFlows supports the interaction and coordination of object instances asynchronously as long this does not violate any semantic dependencies to be considered. Process and data authorization is based on user roles. Data may be accessed optionally and at any point in time. In turn, process execution is based on permissions for creating and deleting object instances as well as for reading or writing their attributes. Furthermore, to enable access at the object attribute level, PHILharmonicFlows maintains a comprehensive authorization table. Fi- nally, based on these authorization settings, PHILharmonicFlows automatically generates user forms. Besides the form-based activities, the framework support 100 Fig. 4. PHILharmonicFlows a Data structure b Process structure job offer job offer asynchronous object object 0..n attributes instances behavior b job application job application relations 1..5 review review Fig. 5. Data structure and corresponding process structure a Object Type b States c Object Behavior Review initiated application is not application employee null and employee employee is not null employee rejected proposal under review (proposal=‘reject‘ appraisal or initiated under review remark proposal=‘invite‘) and appraisal is not submitted null invited rejected remark is not null personnel officer invited submitted=true employee Fig. 6. Object behavior defined based on states and transitions by PHILharmonicFlows black-box activities as well (i.e., activities that invoke external applications or functions that implement more complex computations). The runtime environment provides data- and process-oriented views to end- users; i.e., authorized users may invoke activities for accessing data at any point in time as well as activities needed to proceed with the flow of the processes. Moreover, PHILharmonicFlows is based on a well-defined formal semantics, which allows for the automatic generation of end-user components corresponding to the runtime environment (e.g., user worklists and form-based activities). Due to the lack of space, we do not describe the components of the framework. A more detailed description of the framework as well as its components can be found in [7, 16]. 6 Summary & Outlook In this paper, we discussed the limitations of the CH paradigm regarding the sup- port of object-aware processes. We based this discussion on several case studies, including hands-on experience we gathered when working with the CH system BPMone. + supported Case Handling PHILharmonicFlows o partially supported Paradigm Framework - not supported R1 (Data integration) o + R2 (Flexible access to data) + + R3 (Support of form-based activities and control flow within user forms) o + R4 (Support of variable activity granularity) o + R5 (Support of mandatory as well as optional activities) + + R6 (Alignment of process execution with object behavior) + + R7 (Support of flexible process execution) + + R8 (Support of activity re-execution) o + R9 (Enable proper data authorization) - + Fig. 7. Comparing the CH paradigm and PHILharmonicFlows In particular, CH does not enable mappings between attribute values and ob- jects states and therefore is unable to ensure compliance between them. Hence, problems like the limited interaction among case instances and lack of data pri- vacy make the CH paradigm unsuitable for object-aware processes. We further presented the PHILharmonicFlows framework. Its objective is to enhance the power of CH paradigm and other data-centric approaches to enable proper sup- port of such processes. This approach has been applied in several case studies comprising different domains (e.g., human resources management, healthcare, and automotive industry). As proof-of-concept, a prototype has been developed, enabling the modeling and enactment of object-aware processes. Finally, Fig. 7 shows a compilation of the requirements of object-aware processes and how well both approaches (i.e., CH and PHILharmonicFlows) meet them. Acknowledgements The authors would like to acknowledge the financial support provided by the Ernst Wilken Foundation. 102 References [1] Reichert, M., Weber, B.: Enabling Flexibility in Process-aware Information Systems: Challenges, Methods, Technologies. Springer (2012) [2] van der Aalst, W.M.P., Weske, M., Grünbauer, D.: Case handling: A new paradigm for business process support. Data & Knowledge Engineering 53(2) (2005) 129–162 [3] Cohn, D., Hull, R.: Business artifacts: A data-centric approach to modeling business operation and processes. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 32(3) (2009) 3–9 [4] Silver, B.: Case management: Addressing unique bpm requirements. Tech- nical report, BPMS Watch (2009) [5] Künzle, V., Reichert, M.: Towards object-aware process management sys- tems: Issues, challenges, benefits. In: Proc. BPMDS’09. (2009) 197–210 [6] Künzle, V., Reichert, M.: Integrating users in object-aware process manage- ment systems: Issues and challenges. In: Proc. BPM’09 Workshops. (2009) 29–41 [7] Künzle, V., Reichert, M.: Philharmonicflows: Towards a framework for object-aware process management. Journal of Software Mainteinance and Evolution: Research and Practice 23(4) (2011) 205–244 [8] Künzle, V., Weber, B., Reichert, M.: Object-aware business processes: Fun- damental requirements and their support in existing approaches. Int’l Jour- nal of Information System Modeling and Design 2(2) (2011) 19–46 [9] Chiao, C.M., Künzle, V., Reichert, M.: Towards object-aware process sup- port in healthcare information systems. In: Proc. eTELEMED 2012. (2012) 227–236 [10] Bhattacharya, K., Hull, R., Su, J.: A data-centric design methodology for business processes. In: Handbook of Research on Business Process Manage- ment. (2009) 503–531 [11] Liu, R., Bhattacharya, K., Wu, F.Y.: Modeling business contexture and behavior using business artifacts. In: Proc. CAiSE’07. (2007) 324–339 [12] Müller, D., Reichert, M., Herbst, J.: Data-driven modeling and coordination of large process structure. In: Proc. CoopIS’07. (2007) 131–149 [13] Vanderfeesten, I., Reijers, H.A., van der Aalst, W.M.P.: Product-based workflow support: Dynamic workflow execution. In: Proc. CAiSE’08. (2008) 571–574 [14] Guenther, C., Reichert, M., van der Aalst, W.M.P.: Supporting flexible processes with adaptive workflow and case handling. In: Proc. ProGility’08. (2008) 229–234 [15] Mutschler, B., Weber, B., Reichert, M.: Workflow management versus case handling: results from a controlled software experiment. In: Proc. SAC’08. (2008) 82–89 [16] Künzle, V.: Object-aware Process Management. PhD thesis, Ulm Univer- sity, Germany (2013) 103