Prototyping Business Processes

Post on 05-Dec-2014

3.812 views 1 download

description

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

Transcript of Prototyping Business Processes

Prototyping Business Process

Ang Chen and Didier BuchsRSP 2006, Crete

Outline

Business Process Management

CO-OPN Language

BP Modeling (service, control, data, transactions)

Verification and Prototyping

Future Works

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

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.

Business Process Management

Example: E-Shop

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition

Providers

Admin client

•Buy•Return•Query

E-Shop: Business Processes

order Payment

Query

Delivery

Return

Stock

RMASend

MaterialMoneyBack

RMA: Return Materials Authorization

E-Shop: supply chain

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition

Providers

Admin

Client

Sale

Stock

Finance

CRM

BankingDelivery

Acquisition Admin

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

Concurrent Object-Oriented Petri Nets

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

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

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;

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:

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

Modeling Business Process

Control

Data Service

Dimensionality of Business Process

Other dimensions: Resources, Organizational

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

E-Shop: Service View II

Sale department provides three services to clients Sale

Departmentclient•Order(...)

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

Each process is a service for clients

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

Control Flow

Cases Handling System

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

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

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

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

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)

Process Verification and Prototyping

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.

Properties of Petri Nets

Liveness: of PN, of an initial marking

Deadlock free: of PN, of an initial marking

Soundness

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.

Properties of BP

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

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.

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

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, //, .. , |

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.

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

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_

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

Conclusion &Future Work

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

Control

Data

Service

Transaction

Time to propose an XML-based Domain Specific Language

Future Works

Investigation on the constraints between the dimensions

Service Oriented Business Process Specifications (SO-BPS)

Verification and model checking techniques

Tools supports

Thank you for your attention