supporting adaptation patterns in the event-driven business process modelling paradigm
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_22TRANSCRIPT
1
Supporting Adaptation Patterns in the Event-driven
Business Process Modelling Paradigm
Malinda Kapuruge, Jun Han and Alan Colman
WISE 2013 - Nanjing, China
2
Outline
• Adaptation patterns.
• Event-driven business processes .
• Support for adaptation patterns in Event-driven business processes.
• Key takeaways and future research.
• Questions.
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
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)
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
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...!
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);}
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
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.
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.
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.
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
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
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.
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 ;
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.
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
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
19
Thank You !
mkapuruge [at] swin.edu.au