Towards Service-based Business Process Modeling, Prototyping and Integration Ang Chen, Didier Buchs System Modeling and Verification Laboratory University of Geneva RISE 2005
Outline Business Process Management COOPN Approach Workflow Patterns Prototyping & Integration Conclusions & Future Work
Business Process Management
Business Process Management What is business process management? What is business process? What is the problem?
Example: RISE Workshop Activity, Case, Participant, Process, Resource, Data Call for papers Submission Review Selection Accepted? Accepted papers Rejected papers Registration Presentation yes no
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?
BPM 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
BPM: 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.
BPM: 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)
COOPN approach
COOPN Concurrent Object-Oriented algebraic Petri Nets Petri Nets  Algebraic - all types are defined Object-Oriented - encapsulation Concurrent - 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
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 .
Basic 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 Required service Output event Gate P A Provided service Input event Method B request response
Basic Workflow Constructs cont. AND-SPLIT MERGE + XOR SPLIT Minimum 2 reviews Submission Review Selection submission <,> <ID, submitted> Reviewer 1 <,> Reviewer 2 <,> Reviewer 3 <,> <ID, rank> selection <,> <,> <,> <ID, rejected> <ID, accepted> Send message to authors
Workflow Patterns
Workflow 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.
Transactional 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
Transactional Patterns cont. take free // // // // // // // // P2 eat P2 think P1 eat P1 think F1 * P2 * eat think P1 * eat think F2 * take free
Prototyping & Integration
Prototyping Automatic Java code generation Embedded transition engine JavaBeans-liked prototype COOPNBuilder environment Simulation before integration
Integration Service-Oriented Environment Enactment system DBMS ERP systems MIS systems Process controller Remote system Generated Pluggable process controller services services Process controller Process controller Process controller
Integration cont. Process enactment system should guarantee the execution of process  The responsibilities between the process controller and the enactment system should be clearly defined Automatic integration is possible
Conclusions & Future Work
Conclusions Methodological approach Technical design Domain specific language, formal Reusability: black-box, white-box, patterns Rapid process prototyping and integration
Future works 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
Thanks for your attention Questions?

Towards Service-based Business Process Modeling, Prototyping and Integration

  • 1.
    Towards Service-based BusinessProcess Modeling, Prototyping and Integration Ang Chen, Didier Buchs System Modeling and Verification Laboratory University of Geneva RISE 2005
  • 2.
    Outline Business ProcessManagement COOPN Approach Workflow Patterns Prototyping & Integration Conclusions & Future Work
  • 3.
  • 4.
    Business Process ManagementWhat is business process management? What is business process? What is the problem?
  • 5.
    Example: RISE WorkshopActivity, Case, Participant, Process, Resource, Data Call for papers Submission Review Selection Accepted? Accepted papers Rejected papers Registration Presentation yes no
  • 6.
    Example: RISE Workshopcont. 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?
  • 7.
    BPM Complexity comesfrom 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
  • 8.
    BPM: solutions ModelingApproaches 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.
  • 9.
    BPM: Our solutionWhy 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)
  • 10.
  • 11.
    COOPN Concurrent Object-Orientedalgebraic Petri Nets Petri Nets Algebraic - all types are defined Object-Oriented - encapsulation Concurrent - 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
  • 12.
    COOPN cont. Threetypes 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 .
  • 13.
    Basic Workflow ConstructsCOOPN 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 service Output event Gate P A Provided service Input event Method B request response
  • 14.
    Basic Workflow Constructscont. AND-SPLIT MERGE + XOR SPLIT Minimum 2 reviews Submission Review Selection submission <,> <ID, submitted> Reviewer 1 <,> Reviewer 2 <,> Reviewer 3 <,> <ID, rank> selection <,> <,> <,> <ID, rejected> <ID, accepted> Send message to authors
  • 15.
  • 16.
    Workflow 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.
  • 17.
    Transactional Patterns Complementof common workflow patterns States of process instance are transactional in the model More interesting with resource perspective, e.g. dinning philosophers, resources allocation problem
  • 18.
    Transactional Patterns cont.take free // // // // // // // // P2 eat P2 think P1 eat P1 think F1 * P2 * eat think P1 * eat think F2 * take free
  • 19.
  • 20.
    Prototyping Automatic Javacode generation Embedded transition engine JavaBeans-liked prototype COOPNBuilder environment Simulation before integration
  • 21.
    Integration Service-Oriented EnvironmentEnactment system DBMS ERP systems MIS systems Process controller Remote system Generated Pluggable process controller services services Process controller Process controller Process controller
  • 22.
    Integration cont. Processenactment system should guarantee the execution of process The responsibilities between the process controller and the enactment system should be clearly defined Automatic integration is possible
  • 23.
  • 24.
    Conclusions Methodological approachTechnical design Domain specific language, formal Reusability: black-box, white-box, patterns Rapid process prototyping and integration
  • 25.
    Future works Developtransactional 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
  • 26.
    Thanks for yourattention Questions?