prototyping business processes

41
Prototyping Business Process Ang Chen and Didier Buchs RSP 2006, Crete

Upload: angchen

Post on 05-Dec-2014

3.812 views

Category:

Education


1 download

DESCRIPTION

Rapid System Prototyping, 2006. Seventeenth IEEE International Workshop. 14–16 June 2006. Chania, Crete, Greece

TRANSCRIPT

Page 1: Prototyping Business Processes

Prototyping Business Process

Ang Chen and Didier BuchsRSP 2006, Crete

Page 2: Prototyping Business Processes

Outline

Business Process Management

CO-OPN Language

BP Modeling (service, control, data, transactions)

Verification and Prototyping

Future Works

Page 3: Prototyping Business Processes

Context

Process-Oriented System in Service-Oriented Architecture

Domain Specific Languages (DSL)

Expressive Power, formal semantics

Semantics Basis: e.g. logic, Petri Nets, Register

Complexity of Verification

Page 4: Prototyping Business Processes

Prototyping: Target Environment

Environment

Distributed Systems (may be embedded)

Service Oriented Architecture (SOA)

Web Service, XML

Grid Computing

Target Languages: Java, .NET, BPEL (Business Process Execution Language) etc.

Page 5: Prototyping Business Processes

Business Process Management

Page 6: Prototyping Business Processes

Example: E-Shop

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition

Providers

Admin client

•Buy•Return•Query

Page 7: Prototyping Business Processes

E-Shop: Business Processes

order Payment

Query

Delivery

Return

Stock

RMASend

MaterialMoneyBack

RMA: Return Materials Authorization

Page 8: Prototyping Business Processes

E-Shop: supply chain

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition

Providers

Admin

Client

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition Admin

Page 9: Prototyping Business Processes

Principe of BPMAffect the software development process

Separate the development of

Business Processes and

Business Process Management System

Business Processes: The softwares to be developed

BPMS: The infrastructure

Page 10: Prototyping Business Processes

Concurrent Object-Oriented Petri Nets

Page 11: Prototyping Business Processes

COOPNConcurrent

Object-Oriented

Petri Nets

in1_:H

in2_:Oout_:H2O

Fireph_

po_

this=Self::Fire With this.out water::ph h1, ph h1, po o1 ->

variablesh1,h2: Ho1: O

H, O, H2O are Algebraic Abstract Data Typeswater is a value (generator) of ADT H2O

Page 12: Prototyping Business Processes

COOPN ElementsADT

Object

black token: @

data ADTs: boolean, natural etc.

container ADTs: pair, list etc.

object reference

object netsreference netsmobility of objects

Token place/transition nets

colored Petri nets

ADTs

Objects

Place Context

contains

Transaction

Method Gate

can be

Page 13: Prototyping Business Processes

Algebraic Abstract Data Type

Immutable entities

Use generator and axiomatic rules to construct data type

Axioms can be used to infer properties on data, e.g. commutativity and associativity rules

Generic Abstract Adt ListStructure(Elem);...Interface Generators [] : -> list; _ ' _ : elem, list -> list; _ | _ : list, list -> list;;; Specific elements Operations head _ : list -> elem; tail _ : list -> list; pick _ from _ : natural, list -> list; drop _ from _ : natural, list -> list; reverse _ : list -> list;...End ListStructure;

Page 14: Prototyping Business Processes

COOPN: Transactions

ACID Transactions with different rules

Parallel: //

Sequential: ..

Alternative: |

T1 With T2 ∈Trans

T1 // T2 ∈Trans

T1 .. T2 ∈Trans

T1 | T2 ∈Trans

T1, T2 ∈Trans, where Trans is the set of transactions in a COOPN systemComposition:

Page 15: Prototyping Business Processes

COOPN: OverviewDeclarative, formal specification based on Petri Net semantics

State computation uses logical inference

Forward chaining: firing transitions

Backtracking: transaction resolution

Separation of Data and Behavior

Context coordination, Transaction semantics

Page 16: Prototyping Business Processes

Modeling Business Process

Page 17: Prototyping Business Processes

Control

Data Service

Dimensionality of Business Process

Other dimensions: Resources, Organizational

Page 18: Prototyping Business Processes

E-Shop: Service View I

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition

Providers

Admin

Client

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition Admin

Sub-systems are connected via services

Page 19: Prototyping Business Processes

E-Shop: Service View II

Sale department provides three services to clients Sale

Departmentclient•Order(...)

•Return(...)•Query(...)

Each process is a service for clients

Page 20: Prototyping Business Processes

E-Shop: Service View III

Execution environment: SOA

The underlying systems provide services to business process management system

Sale

BPMS

Order

Stock CRM etc.

Return Query

client

processdeployment

enactment

Underlying systems

services interactions

processexecution

Page 21: Prototyping Business Processes

Control Flow

Cases Handling System

Workflow Patterns: Split, Join, OR, AND, Merge etc.

Page 22: Prototyping Business Processes

Patterns of control flowA B

sequence

A

B

AND

C

AND split

B

A XOR

C

XOR Split

A

AND C

B

AND join

A

DIS C

B

Discriminator

A

XOR C

B

XOR join

B

A MUL

C

Multi-Choice

A

D

C

B

start end E

Interleaved parallel routing

B

A XOR

C

XOR Split

AND D

AND join

process not well-formed

Page 23: Prototyping Business Processes

E-Shop: Control-Flow View

order Payment

Query

Delivery

Return

Stock

RMASend

MaterialMoneyBack

RMA: Return Materials Authorization

Credit Card Checking Process or Web Service

Check credit card activity

<id,payment><id,accepted>

<id,rejected>

request response

Activity : Payment by Credit Card

XOR-SPLIT

Page 24: Prototyping Business Processes

Data Modeling

Implement XML algebra with ADT

Define data types representing XML structure: tree, set, elements, attributes.

Operations on the data: add, modify, remove elements or attributes

Operation on the structure: schema algebra and validation

Page 25: Prototyping Business Processes

E-Shop: Data View

Order

Payment

Paid

ReturnRequest Returned

Shipping Shipped

Shipping IDProduct IDs

Can be modeled by Colored tokens, Automate, XML algebra

Client ID

state change used by (data dependence)

Page 26: Prototyping Business Processes

Process Verification and Prototyping

Page 27: Prototyping Business Processes

Process Verification

Advantages of formal and Petri nets based semantics

High-level properties can be mapped into Petri Nets properties

Several techniques are possibles: model checking, automatic test generation, simulation.

Page 28: Prototyping Business Processes

Properties of Petri Nets

Liveness: of PN, of an initial marking

Deadlock free: of PN, of an initial marking

Soundness

Page 29: Prototyping Business Processes

Properties of BP

A BP instance FINALLY terminates (absence of deadlock in PN): valid input tokens will FINALLY arrive the ending state. Multiple ending states can exist in a BP definition.

Page 30: Prototyping Business Processes

Properties of BP

If a BP instance terminates, there should be no hanging tasks for this instance (soundness): no dead tokens.

Page 31: Prototyping Business Processes

Properties of BP

When several BPs are connected, no cycle dependence should exist.

E.g. to get a job, you must have work experiences; to have work experiences, you must get a job.

Page 32: Prototyping Business Processes

Characteristics of Activity

A preliminary work for verification, basic classifications:

Source (creation point of instance or data)

Sink (end point of instance or data)

Filter/Join (mutation of instance or data)

Composition of these activities

Page 33: Prototyping Business Processes

Transactional BP

Modeling transaction coordinators which handle different transactions by implementing transaction protocols

Building blocks

COOPN modules representing activities

COOPN modules encoding transaction states

With, //, .. , |

Page 34: Prototyping Business Processes

Properties of TBPs

Success guarantee: if a TBP succeeds, everything should have done successfully.

Rollback and compensation guarantee: if it does not succeed, rollback and compensation will be done, as “nothing happens”.

From one consistent state to another consistent state. e.g. the philosopher problems.

Page 35: Prototyping Business Processes

PrototypingJava ADT

impl.

JavaBean

Java

Method

Java Event

Java Data

Type

Transaction

Object

ADT

Class

Context

Transaction

Method

Gate

External

Data TypeData

Process

Instance

Activity

Process

Action

Event

Atomic

Transaction

XML message

Services Endpoint

modelingconfigurable

transformation

BP COOPN Java

Page 36: Prototyping Business Processes

Integrating Prototypes

Shopping Process

askPayment id

Enactment

system

delivery

service

credit card

service

Client

order send <id, order>

ask payement

input credit card

verify credit card

credit card valid validPayment id

askDelivery idask delivery

confirm delivery confirmDelivery id

transaction

delivery

order

<id, transaction>

<id, delivery>

delivered id

Process controller prototype

in_

in_

in_

out_

out_

Page 37: Prototyping Business Processes

The framework

COOPN model (PIM)

ADT

External Data Type

Class

Context

Transaction

Method

Gate

Business Process

Data

Process instance

Activity

Process

Atomic Transaction

Action

Event

Configuration

(Mapping rules)

modeling

Class

Library

transf

ormatio

n

validationverification simulationrefinement

ERP /

IS

integration

embedded

controller

UI

Executable model (PSM)

Java ADT impl.

Java Data Type

JavaBeans

Transaction Object

Java Method

Java Event

web service

Service Interface

Remote

systemuser

Page 38: Prototyping Business Processes

Conclusion &Future Work

Page 39: Prototyping Business Processes

ConclusionMost modeling work are done, e.g. perspectives:

Control

Data

Service

Transaction

Time to propose an XML-based Domain Specific Language

Page 40: Prototyping Business Processes

Future Works

Investigation on the constraints between the dimensions

Service Oriented Business Process Specifications (SO-BPS)

Verification and model checking techniques

Tools supports

Page 41: Prototyping Business Processes

Thank you for your attention