Towards Service-based Business Process Modeling, Prototyping and Integration
description
Transcript of Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and Integration
Ang Chen, Didier Buchs
System Modeling and Verification Laboratory
University of Geneva
RISE 2005
Ang Chen, Didier Buchs
System Modeling and Verification Laboratory
University of Geneva
RISE 2005
RISE 2005RISE 2005
OutlineOutline
Business Process Management
COOPN Approach
Workflow Patterns
Prototyping & Integration
Conclusions & Future Work
Business Process Management
COOPN Approach
Workflow Patterns
Prototyping & Integration
Conclusions & Future Work
RISE 2005RISE 2005
Business Process ManagementBusiness Process Management
RISE 2005RISE 2005
Business Process ManagementBusiness Process Management
What is business process management?
What is business process?
What is the problem?
RISE 2005RISE 2005
Example: RISE WorkshopExample: RISE Workshop
Activity, Case, Participant, Process, Resource, Data
Call for papers
Submission Review Selection
Accepted? Acceptedpapers
Rejectedpapers
Registration Presentationyes
no
RISE 2005RISE 2005
Example: RISE Workshop cont.Example: RISE Workshop cont.
What to do if we want
To add/remove an activity in the process?
To change the way of “review”?
The “selection” to be automatic?
Is the process reusable? Entirely or partially?
Is the process executable?
RISE 2005RISE 2005
BPMBPM
Complexity comes from the change of
requirements
Tends to process-aware or process-oriented systems (from data-oriented)
Make the distance between design and
execution of process shorter
RISE 2005RISE 2005
BPM: solutionsBPM: solutions
Modeling Approaches
• UML activity diagram, Petri Nets, etc
• Workflow patterns, perspectives
Implementation (process enactment service)
• Centralized/Embedded workflow engine
• Service Oriented
• Standards: WfMC, BPEL, BPMI, OMG etc.
RISE 2005RISE 2005
BPM: Our solutionBPM: Our solution
Why do we propose to use a formal specification language?
More precise semantic, no ambiguity
Automatic verification and test generation
Execution via prototype generation
Enhanced reusability, modularity (Object-Orientation)
RISE 2005RISE 2005
COOPN approachCOOPN approach
RISE 2005RISE 2005
COOPNCOOPN
Concurrent Object-Oriented algebraic Petri Nets Concurrent Object-Oriented algebraic Petri Nets
Petri Nets
Algebraic - all types are defined
Object-Oriented - encapsulationConcurrent - synchronizations
counter
0
x
x+1
x==9?
inc
out
counter
0
x
x+1
x==9?
inc
out
counter
0
x
x+1
x==9?
inc
out
//0
0
0
RISE 2005RISE 2005
COOPN cont.COOPN cont.
Three types of modules– algebraic Abstract Data Type (ADT)– Class– Context
Well-defined semantic with formal foundation, graphical representation
Axiomatic behavior description, declarative– Event :: condition :: pre -> post
Inc :: n<9 :: p (n) -> p (n+1)– When event Inc occurs, if (n<9), take n from place p,
and put n+1 into place p.
Three types of modules– algebraic Abstract Data Type (ADT)– Class– Context
Well-defined semantic with formal foundation, graphical representation
Axiomatic behavior description, declarative– Event :: condition :: pre -> post
Inc :: n<9 :: p (n) -> p (n+1)– When event Inc occurs, if (n<9), take n from place p,
and put n+1 into place p.
RISE 2005RISE 2005
Basic Workflow ConstructsBasic Workflow Constructs
COOPN Workflow elements ADT Case -> <ID, LocalState> Class Activity; Objects -> Activity instances Context Process Methods Provided Services Gates Required Services Methods and Gates Input/Output Events
COOPN Workflow elements ADT Case -> <ID, LocalState> Class Activity; Objects -> Activity instances Context Process Methods Provided Services Gates Required Services Methods and Gates Input/Output Events
Required serviceOutput eventGate
PAProvided service
Input eventMethod
Brequest
response
RISE 2005RISE 2005
Basic Workflow Constructs cont.Basic Workflow Constructs cont.
Submission Review Selection
AND-SPLITMERGE + XOR SPLITMinimum 2 reviews
submission
<,>
<ID, submitted>
Reviewer 1
<,>
Reviewer 2
<,>
Reviewer 3
<,> <ID, rank>
selection
<,>
<,>
<,>
<ID, rejected>
<ID, accepted>
Send message to authors
RISE 2005RISE 2005
Workflow PatternsWorkflow Patterns
RISE 2005RISE 2005
Workflow PatternsWorkflow Patterns
Initiator: Wil Van der Aalst, Eindhoven
University of Technology, Netherlands
More than 20 patterns for control-flow
Flexible way to solve problems
Reusable
Perspectives: Control, Data, Resources etc.
Initiator: Wil Van der Aalst, Eindhoven
University of Technology, Netherlands
More than 20 patterns for control-flow
Flexible way to solve problems
Reusable
Perspectives: Control, Data, Resources etc.
RISE 2005RISE 2005
Transactional PatternsTransactional Patterns
Complement of common workflow patterns
States of process instance are transactional
in the model
More interesting with resource perspective,
e.g. dinning philosophers, resources
allocation problem
Complement of common workflow patterns
States of process instance are transactional
in the model
More interesting with resource perspective,
e.g. dinning philosophers, resources
allocation problem
RISE 2005RISE 2005
Transactional Patterns cont.Transactional Patterns cont.
F1*
take free
P2*
eat think
P1*
eatthink
F2*
takefree
////
//
//
////
//
//
P2 eat P2 think
P1 eat P1 think
RISE 2005RISE 2005
Prototyping & IntegrationPrototyping & Integration
RISE 2005RISE 2005
PrototypingPrototyping
– Automatic Java code generation– Automatic Java code generation
Embedded transition engine Embedded transition engine
– JavaBeans-liked prototype– JavaBeans-liked prototype
COOPNBuilder environment COOPNBuilder environment
Simulation before integration Simulation before integration
RISE 2005RISE 2005
IntegrationIntegration
Service-Oriented Environment
Enactment system
DBMS
ERP systems
MIS systems
Process controller
Remote system
Generated Pluggable process controller
service
s
services
Process controller
Process controller
Process controller
RISE 2005RISE 2005
Integration cont.Integration cont.
Process enactment system should guarantee the execution of process
Process enactment system should guarantee the execution of process
The responsibilities between the process controller and the enactment system should be clearly defined
The responsibilities between the process controller and the enactment system should be clearly defined
Automatic integration is possible Automatic integration is possible
RISE 2005RISE 2005
Conclusions & Future WorkConclusions & Future Work
RISE 2005RISE 2005
ConclusionsConclusions
Methodological approach Methodological approach
Technical design Technical design
Domain specific language, formal Domain specific language, formal
Reusability: black-box, white-box, patterns Reusability: black-box, white-box, patterns
Rapid process prototyping and integration Rapid process prototyping and integration
RISE 2005RISE 2005
Future worksFuture works
Develop transactional patterns Add other perspectives (dimensions) to the model
– Data, Operational, Resources
Develop transactional patterns Add other perspectives (dimensions) to the model
– Data, Operational, Resources
Verification–Define high-level pertinent properties–Use model checking and theorem proving techniques
Tools implementation–Verification–Generalized workflow engine (enactment system)–Automatic integration of prototypes–Service-based interaction with external information systems
RISE 2005RISE 2005
Thanks for your attentionThanks for your attention
Questions?Questions?