+ All Categories
Home > Science > Towards Aspect Oriented Adaptive Case Management

Towards Aspect Oriented Adaptive Case Management

Date post: 28-Nov-2014
Category:
Upload: amin-jalali
View: 231 times
Download: 4 times
Share this document with a friend
Description:
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
16
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
Transcript
Page 1: Towards Aspect Oriented Adaptive Case Management

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

Page 2: Towards Aspect Oriented Adaptive Case Management

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

Page 3: Towards Aspect Oriented Adaptive Case Management

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

Page 4: Towards Aspect Oriented Adaptive Case Management

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

Page 5: Towards Aspect Oriented Adaptive Case Management

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

Page 6: Towards Aspect Oriented Adaptive Case Management

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

Page 7: Towards Aspect Oriented Adaptive Case Management

Aspect-orientation

7

Aspect

AdvicePointcutJoin pointSystem

1

1 * *

selectsexposes

relates

Page 8: Towards Aspect Oriented Adaptive Case Management

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:

Page 9: Towards Aspect Oriented Adaptive Case Management

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

Page 10: Towards Aspect Oriented Adaptive Case Management

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

Page 11: Towards Aspect Oriented Adaptive Case Management

11

Interpretation from state-oriented view

Each form specifies a fragment of the state space

Page 12: Towards Aspect Oriented Adaptive Case Management

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

Page 13: Towards Aspect Oriented Adaptive Case Management

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

Page 14: Towards Aspect Oriented Adaptive Case Management

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

Page 15: Towards Aspect Oriented Adaptive Case Management

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?

Page 16: Towards Aspect Oriented Adaptive Case Management

Questions & Answers

Thank you for your attention!

Corresponding author Amin Jalali,

Email: [email protected]

16


Recommended