Date post: | 28-Nov-2014 |
Category: |
Science |
Upload: | amin-jalali |
View: | 231 times |
Download: | 4 times |
Amin Jalali and Ilia Bider
1
Department of Computer and Systems Sciences, Stockholm University, Sweden
3rd Int'l Workshop on Adaptive Case Management and Other Non-Workflow Approaches to BPM (AdaptiveCM 2014) – Ulm, Germany, 2014
Is it possible to introduce aspect orientation in BPM in general, and ACM in particular
Issues discussed
What is aspect orientation (in programming)
Problems to solves:
Scattering problem
Tangling problem
Main concepts
Cross-cutting concern, Aspect, Joint-point, Point-cut, Advice, Advice injection, Weaving
How Aspect orientation can be applied to ACM
2
Scattering Problem
Pieces of code related to a cross-cutting concern are “scattered“ through the code. Solution - encapsulation
3
Security
Business logic
Transaction
management
Implementation
Transaction management
Business Logic (Core-Concern)
Security
Tangling problem
The code related to the cross-cutting concern is invoked from many places: difficult to maintain when the conditions of invocation change. Solution – rule based invocation (untangling)
4
Security Concern
Accounting module
ATM module
Database module
Aspect-orientation – main notions 1
Advice – a piece of code related to a cross-cutting concern
Join point – a point in the code where an advice should be added
Advice injection adding an advice to the join point for execution
Pointcut – a rule (e.g., a predicate) defining the set of join points related to an advice
Injection rule – a pare <pointcut, advice>
5
Aspect-orientation – main notions 2
Aspect - a set of injection rules related to the same issue/concern , e.g. security
Weaving – the process of injecting advices at join points according to the injections rules
Static weaving – weaving prior execution, e.g. by transforming the code of a program to include advices
Dynamic weaving – weaving at runtime by detecting join points and invoking the advices whenever the pointcut rule/predicate yields true
6
Aspect-orientation
7
Aspect
AdvicePointcutJoin pointSystem
1
1 * *
selectsexposes
relates
Questions to solve?
Applying AO to BPM and ACM
8
Issue a bank draft
Traceability
Au
ditin
g
Deal for speculation
Transfer Money
Loggin
g
Change asset deal
Security
Cross-cutting concerns
Core-
Concerns
What kind of join points are there?
How to define pointcuts
What is an advice?
Static or dynamic weaving ?
The answers depends on the view/perspective on business processes:
Different views on process instance
Operational view VS State/Data/Shared space view
9
Step
form
Step
form
Step
form
Step
form
Step form
Step form - part of the case's shared space that corresponds to a step
10
Adaptive Case Management as a Process of Construction of and Movement in a
State Space
Ilia Bider - IbisSoft/DSV SU, Stockholm, Sweden Amin Jalali, Jens Ohlsson- DSV SU Stockholm, Sweden
Presentation at the workshop on “Adaptive Case Management and Other Non-workflow approaches to BPM”, Graz, Austria, September 2013
11
Interpretation from state-oriented view
Each form specifies a fragment of the state space
12
Interpretation from state-oriented view • Field - a dimension of a state space
• Form – a fragment of the state space
• Picking a form - adding a fragment to the overall state-space of the given process instance/case
• Filling a form - moving in the sub-space defined by a form
• Form synchronization - restrictions on construction of the state space (an example – there can be others)
• Restrictions on the order of filling forms – restrictions on movements in the overall state-space
Summary handling a case in ACM is constructing and moving in the state
Correspondence between Operational View and State-Oriented View
Transition in the state space VS Actions Chain
13
Started
Saved
CommitedCanceled
s s'
Temporal state
Syst
em S
tate
sA
ctio
n L
ifec
ycle
The relation between system state and action lifecycle state
Action transition
cancelSave
Commit
Commit
Action lifecycle transition
Different solution for different views
Operational view State-oriented view
Main concept Action/Task/Activity Fragment of the state-space (a form)
Type of rules of control
Orderliness of actions, e.g. through a graph or through declarative rules
Rules of limiting freedom of picking and filling forms
Joint points On start, On Commit On start, On commit, On Save
Pointcuts (rules)
Based on the action names or an action classification
Fragment of a form and predicate on the content (commit and save)
Advice Actions added or deleted Changing a form, e.g. adding new fragments (or removing some) + changing the rules ) + note allowing to commit or save (on commit or save
14
Example of an injection rule for BMP & ACM
15
If the a money transaction involve more than 1000000, the manager should authorize it.
JP
BPM
ACM
Money transfer
Money transfer
Authorization
JP
Which one is more flexible?
Questions & Answers
Thank you for your attention!
Corresponding author Amin Jalali,
Email: [email protected]
16