supporting adaptation patterns in the event-driven business process modelling paradigm

19
1 Supporting Adaptation Patterns in the Event-driven Business Process Modelling Paradigm Malinda Kapuruge, Jun Han and Alan Colman WISE 2013 - Nanjing, China

Upload: malinda-kapuruge

Post on 11-May-2015

269 views

Category:

Technology


0 download

DESCRIPTION

The event-driven business process modeling has been emerged as an alternative paradigm to the traditional workflow-based business process-modeling paradigm. One of the influencing factors for using this new paradigm is the flexibility and the agility it provides in supporting business process change. Weber et al. have proposed 14 high-level adaptation patterns that need to be supported by a flexible process-aware information system irrespective of the chosen paradigm. In this presentation we present a paper that investigate whether the event-driven paradigm can satisfactorily support these adaptation patterns; if so, how an event-driven approach should support these adaptation patterns. We also point to the future research directions that this work can lead to. Paper available at: http://link.springer.com/chapter/10.1007/978-3-642-41154-0_22

TRANSCRIPT

Page 1: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

1

Supporting Adaptation Patterns in the Event-driven

Business Process Modelling Paradigm

Malinda Kapuruge, Jun Han and Alan Colman

WISE 2013 - Nanjing, China

Page 2: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

2

Outline

• Adaptation patterns.

• Event-driven business processes .

• Support for adaptation patterns in Event-driven business processes.

• Key takeaways and future research.

• Questions.

Page 3: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

3

• A control flow structure specifies the order of execution of activities.

• Example 1: B should execute after A (Sequential).

• Example 2: C and D both need to be executed after B (Parallel).

• How to describe the changes to the control-flow?

• Use change primitives:

Add Node X, Remove Edge A→B, Add Edge A→X, Add Edge X→B.

• Low level -> Perhaps a higher level operation?.

• Common Adaptation Patterns, anyone?

Control flow changes

A BC

DE F

X

x

Page 4: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

4

Adaptation Patterns

• In 2008, Weber et al. identified a set of Change Patterns and Features that

should be supported by Process Aware Information Systems (PAIS).

Weber, B., Reichert, M., Rinderle-Ma, S, Change patterns and change support features – Enhancing flexibility in process-aware information systems. Data & Knowledge Engineering. Vol. 66, pp. 438-466 (2008)

• A common set of 14 high level adaptation patterns.

• Based on observations in

• Healthcare domain (98 process models)

• Automotive domain (59 process models)

Page 5: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

5

Few examples ...

A

XXB A B

A BC

DE F F

C

DE A B

X X

A B C A B C

AP1a. Insert (Serial)

AP1b. Insert (Parallel)

AP5. Swap process fragment

Page 6: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

6

Adaptation Patterns - Advantages

• Provide high level operations to perform control-flow adaptations.

Single Adaptation Pattern = Many change primitives

• Based on observations of real world business process models.

• Provide a criteria to analyse the support for adaptability in process aware

information systems.

Good enough for us to investigate further...!

Page 7: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

7

Event-driven Processes

• An alternative paradigm to workflow-based process modelling.

• Events -> Action -> Events -> Action -> Events...

• A combination of events → pre-/post-conditions of an Action. E.g.,

Event A situation of interest (passive) e.g., Allergy Test Done

Action An execution (active) e.g., Treat Patient

Activity: TreatPatient { pre_ep: DoctorReferralRecieved AND AllergyTestDone; post_ep: PatientTreated AND (NextAppointmentReqd XOR NoAppointmentReqd);}

Page 8: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

8

Event-driven approaches - Examples

• Alexopoulou, N., Nikolaidou, M., Chamodrakas, Y., Martakos, D.: Enabling On-the-Fly Business Process Composition through an Event-Based Approach. In: Hawaii International Conference on System Sciences, pp. 379-389. IEEE Computer Society, (2008)

• Dayal, U., Hsu, M., Ladin, R.: Organizing long-running activities with triggers and transactions. SIGMOD Rec. Vol. 19, pp. 204-214 (1990)

• Geppert, A., Tombros, D.: Event-based distributed workflow execution with EVE. In: Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, pp. 427-442. Springer-Verlag, (1998)

• Paschke, A., Kozlenkov, A.: Rule-Based Event Processing and Reaction Rules. In: Governatori, G., Hall, J., Paschke, A. (eds.) Rule Interchange and Applications, vol. 5858, pp. 53-66. Springer Berlin Heidelberg (2009)

• And some commercial products• JBoss Drools and JESS

Page 9: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

9

Support for Adaptation Patterns in Event-driven Processes

• Adaptation patterns are proposed mainly for Workflows.

• However, should equally be applicable for other paradigms too.

• How they are applicable in event-driven processes,

• E.g., Insert an activity -> How to change event-action rules?

• Differences in paradigms

• Change primitives such as Remove/Add Node are applicable.

• Change primitives such as Remove/Add Edge are NOT applicable.

• Use change primitives applicable for the Event-driven processes.

• Change pre- and post-conditions.

Page 10: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

10

Our Contribution

• Explain how Adaptation Patterns are applicable in Event-driven paradigm.

• Use change primitives compatible with Event-driven paradigm.

• Present a common language (EventLang) and meta-model to represent

event-driven processes.

• Use EventLang to demonstrate that how all 14 adaptation patterns are

supported in Event-driven paradigm.

Page 11: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

11

Event Lang

• An event-driven language is required to show how the adaptation patterns are

supported.

• However there are many such languages.

• We use Event-Lang, which is a language designed with following objectives:

• Minimalistic: Consist of minimal concepts to support process modeling

constructs used in the original article (Weber et al., 2008).

e.g., activity, process fragments and definition.

• Representative: Be independent of the existing event-driven

approaches, yet provide an abstract representation of them so that this

work could be generally applicable.

Page 12: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

12

Event Lang – Meta model

+id

Process Fragment

Event

+id

Activity+id+pre_ep+post_ep+evaluation_rules

Process Definition+id+CoS+CoT

Instantiated / Terminated byGenerated / Initiated by

Page 13: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

13

Event Lang - Example

ProcessDefinition Hospital_OPDProcess{ProcessFragment TreatmentSubProcess{

Activity OpenPatientFile{pre_ep: PatientRequestRecieved;post_ep: AssignedToADoctor XOR

RequestRejected;}...Activity TreatPatient{

pre_ep: DoctorReferRecieved AND AllergyTestDone;

post_ep: PatientTreated AND (NextAppointmentReqd XOR NoAppointmentReqd);

}Activity ScheduleApntmnt {

pre_ep: NextAppointmentReqd;post_ep: AppointmentScheduled;

}Activity ClosePatientFile {

pre_ep: PatientTreated AND NoAppointmentReqd;

post_ep: CaseClosed;}

}ProcessFragment PatientDataRetrieveal { ... }

}

List

ing

Page 14: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

14

Change Primitives

add A : add an activity A.

delete A : delete an activity A.

assign A.prop1=B.prop2 : the value of a property prop1 of an activity A is assigned as the value of a property prop2 of an activity B.

Page 15: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

15

Example

add A : add an activity A.

delete A : delete an activity A.

assign A.prop1=B.prop2 : the value of a property prop1 of an activity A is assigned as the value of a property prop2 of an activity B.

A

XXB A B

AP1a - Insert (Serial)

add X ;assign A.post_ep = X.pre_ep ;assign B.pre_ep = X.post_ep ;

Page 16: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

16

Example(2)

AP5 – Parallelize

E F G H I E G IF

Hassign G.pre_ep = E.post_epassign H.pre_ep = E.post_ep assign I.pre_ep = (F.post_ep AND G.post_ep AND H.post_ep)

add A : add an activity A.

delete A : delete an activity A.

assign A.prop1=B.prop2 : the value of a property prop1 of an activity A is assigned as the value of a property prop2 of an activity B.

Page 17: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

17

• Weber et al. introduced 14 adaptation patterns commonly observed in

business processes.

• This paper demonstrated how all the adaptation patterns are supported in

event-driven paradigm.

• We presented an event-driven language (EventLang) that is minimalistic and

representative of the event-driven paradigm.

• We tested all these adaptation patterns with Serendip (Event-driven) process

enactment engine.

• Bridges the knowledge-gap between high-level adaptation patterns and their

applicability to the event-driven paradigm.

Key Takeaways

Page 18: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

18

• As a reference in supporting adaptation patterns at the implementation level

by suitably mapping to specific language.

A high-level API to support common adaptations ?

• Modern Complex Event Processing (CEP) literature supports more

expressive event correlation operations.

E.g., temporal-intervals and event windows

• Comprehensiveness of applying adaptation patterns on running instances.

Workflow engine vs Event-driven engine. Which is more flexible, in which

situations?

Future Research Directions

Page 19: Supporting  Adaptation Patterns  in the Event-driven  Business Process Modelling Paradigm

19

Thank You !

mkapuruge [at] swin.edu.au