Separation of concerns has long been an important strategy in the software systems development to cope with the complexity embedded in such systems. The same type of concerns, like security concerns, is often repeated in many modules of a system, which hinders the consistency, re-usability, change and maintenance of the system. Aspect orientation aims to separate and encapsulate these concerns to solve the complexity problem. This paper introduces the use of aspect orientation for case and adaptive case management through changing the rules that govern business processes on the fly. It introduces a taxonomy of such rules based on the declarative workflows approach. It also shows how so-called form-based case management systems could be extended to support aspect orientation to reduce the complexity problem. This work is presented in Adaptive Case management and other non-workflow approaches to BPM in Ulm, Germany, 2014
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
Towards Aspect Oriented Adaptive Case Management
1. 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
2. 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
3. Scattering Problem
Pieces of code related to a cross-cutting concern are “scattered“ through the code. Solution - encapsulation
3
SecurityBusiness logic Transactionmanagement ImplementationTransaction managementBusiness Logic (Core-Concern) Security
4. 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 ConcernAccounting moduleATM moduleDatabase module
5. 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
6. 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
8. Questions to solve?
Applying AO to BPM and ACM
8
Issue a bank draft
Traceability
Auditing
Deal for speculation
Transfer Money
Logging
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:
9. 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. 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. 11
Interpretation from state-oriented view
Each form specifies a fragment of the state space
12. 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
13. Correspondence between Operational View and State-Oriented View
Transition in the state space VS Actions Chain
13
StartedSavedCommitedCanceledss'Temporal state System StatesAction Lifecycle The relation between system state and action lifecycle stateAction transition cancelSave Commit Commit Action lifecycle transition
14. 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
15. 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?
16. Questions & Answers
Thank you for your attention!
Corresponding author Amin Jalali,
Email: aj@dsv.su.se
16