Prototyping Business Processes
description
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