Supporting Adaptation Patterns in the Event-driven Business Process Modelling Paradigm
-
Upload
malinda-kapuruge -
Category
Technology
-
view
271 -
download
0
description
Transcript of 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
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