Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Towards Aspect Oriented Adaptive Case Management

1,127 views

Published on

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

Published in: Science
  • Be the first to comment

Towards Aspect Oriented Adaptive Case Management

  1. 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. 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. 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. 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. 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. 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
  7. 7. Aspect-orientation 7 AspectAdvicePointcutJoin pointSystem11** selectsexposesrelates
  8. 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. 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. 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. 11 Interpretation from state-oriented view Each form specifies a fragment of the state space
  12. 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. 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. 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. 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. 16. Questions & Answers Thank you for your attention! Corresponding author Amin Jalali, Email: aj@dsv.su.se 16

×