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

Business Process Management
CO-OPN Language
BP Modeling (service, control, data, transactions)
Verification and Pr...
Context

Process-Oriented System in Service-Oriented Architecture
Domain Specific Languages (DSL)
Expressive Power, formal ...
Prototyping: Target Environment
Environment
   Distributed Systems (may be embedded)

   Service Oriented Architecture (SO...
Business Process
 Management
Example: E-Shop
  Acquisition    Stock    Admin
                                       client

  Providers      Sale      ...
E-Shop: Business Processes

 order   Payment      Stock       Delivery



                                   Send        M...
E-Shop: supply chain
                                                Client
Acquisition    Stock    Admin     Acquisition ...
Principe of BPM
Affect the software development process
Separate the development of
   Business Processes and
   Business ...
Concurrent Object-
Oriented Petri Nets
COOPN
                                                     Fire
       Concurrent
                                        ...
COOPN Elements
Token      ADT      black token: @                place/transition nets

                 data ADTs: boolea...
Algebraic Abstract Data Type
                               Generic Abstract Adt ListStructure(Elem);
                    ...
COOPN: Transactions
                       T1, T2 ∈Trans, where Trans is the set
ACID Transactions      of transactions in...
COOPN: Overview
Declarative, formal specification based on Petri Net semantics
State computation uses logical inference
   ...
Modeling Business
    Process
Dimensionality of Business Process




Data                  Service
                                Other dimensions:
   ...
E-Shop: Service View I
                                                       Client
Acquisition       Stock      Admin   ...
E-Shop: Service View II

Sale department
provides three
                                Sale  •Order(...)
services to clie...
E-Shop: Service View III
                                        client

Execution
                       Order       Retu...
Control Flow


Cases Handling System
Workflow Patterns: Split, Join, OR, AND, Merge etc.
Patterns of control flow
   A               B                                    B

       sequence                A       ...
E-Shop: Control-Flow View
                                                                  Activity : Payment by Credit C...
Data Modeling
Implement XML algebra with ADT
   Define data types representing XML structure: tree, set,
   elements, attri...
E-Shop: Data View
Client ID
              Payment           Product IDs     Shipping ID


      Order              Paid   ...
Process Verification and
      Prototyping
Process Verification

Advantages of formal and Petri nets based semantics
High-level properties can be mapped into Petri Ne...
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 th...
Properties of BP


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

When several BPs are connected, no cycle dependence should
exist.
   E.g. to get a job, you must have wo...
Characteristics of Activity

A preliminary work for verification, basic classifications:
   Source (creation point of instan...
Transactional BP
Modeling transaction coordinators which handle different
transactions by implementing transaction protoco...
Properties of TBPs

Success guarantee: if a TBP succeeds, everything should have
done successfully.
Rollback and compensat...
Prototyping
       BP                    COOPN                        Java

    Process                                   ...
Integrating Prototypes
                                                                                 Process controller...
The framework
         Business Process
                                              integration
                        ...
Conclusion &
Future Work
Conclusion
Most modeling work are done, e.g. perspectives:
   Control
   Data
   Service
   Transaction
Time to propose an...
Future Works

Investigation on the constraints between the dimensions
Service Oriented Business Process Specifications (SO-...
Thank you for your
    attention
Upcoming SlideShare
Loading in …5
×

Prototyping Business Processes

3,149 views

Published on

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

Published in: Education, Technology, Business
1 Comment
1 Like
Statistics
Notes
  • This is a good presentation
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,149
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
83
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Prototyping Business Processes

  1. 1. Prototyping Business Process Ang Chen and Didier Buchs RSP 2006, Crete
  2. 2. Outline Business Process Management CO-OPN Language BP Modeling (service, control, data, transactions) Verification and Prototyping Future Works
  3. 3. 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
  4. 4. 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.
  5. 5. Business Process Management
  6. 6. Example: E-Shop Acquisition Stock Admin client Providers Sale CRM •Buy •Return •Query Delivery Finance Banking
  7. 7. E-Shop: Business Processes order Payment Stock Delivery Send Money Return RMA Material Back Query RMA: Return Materials Authorization
  8. 8. E-Shop: supply chain Client Acquisition Stock Admin Acquisition Stock Admin Providers Sale CRM Sale CRM Delivery Finance Banking Delivery Finance Banking
  9. 9. Principe of BPM Affect 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
  10. 10. Concurrent Object- Oriented Petri Nets
  11. 11. COOPN Fire Concurrent ph_ Object-Oriented in1_:H po_ out_:H2O Petri Nets in2_:O this=Self::Fire With this.out water:: H, O, H2O are Algebraic ph h1, ph h1, po o1 -> Abstract Data Types variables water is a value (generator) h1,h2: H of ADT H2O o1: O
  12. 12. COOPN Elements Token ADT black token: @ place/transition nets data ADTs: boolean, natural etc. container ADTs: pair, list etc. colored Petri nets ADTs Objects object nets Object object reference reference nets mobility of objects Place Context Transaction Method Gate can be contains
  13. 13. Algebraic Abstract Data Type Generic Abstract Adt ListStructure(Elem); ... Immutable entities Interface Generators Use generator and axiomatic [] : -> list; _ ' _ : elem, list -> list; rules to construct data type _ | _ : list, list -> list; ;; Specific elements Axioms can be used to infer Operations head _ : list -> elem; properties on data, e.g. tail _ : list -> list; commutativity and pick _ from _ : natural, list -> list; drop _ from _ : natural, list -> list; associativity rules reverse _ : list -> list; ... End ListStructure;
  14. 14. COOPN: Transactions T1, T2 ∈Trans, where Trans is the set ACID Transactions of transactions in a COOPN system with different rules Composition: T1 With T2 ∈Trans Parallel: // Sequential: .. T1 // T2 ∈Trans Alternative: | T1 .. T2 ∈Trans T1 | T2 ∈Trans
  15. 15. COOPN: Overview Declarative, 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
  16. 16. Modeling Business Process
  17. 17. Dimensionality of Business Process Data Service Other dimensions: Resources, Organizational Control
  18. 18. E-Shop: Service View I Client Acquisition Stock Admin Acquisition Stock Admin Providers Sale CRM Sale CRM Delivery Finance Banking Delivery Finance Banking Sub-systems are connected via services
  19. 19. E-Shop: Service View II Sale department provides three Sale •Order(...) services to clients • Return(...) client Department •Query(...) Each process is a service for clients
  20. 20. E-Shop: Service View III client Execution Order Return Query process environment: SOA deployment process The underlying BPMS execution systems provide services enactment services to business interactions process management Sale Stock CRM etc. Underlying systems system
  21. 21. Control Flow Cases Handling System Workflow Patterns: Split, Join, OR, AND, Merge etc.
  22. 22. Patterns of control flow A B B sequence A MUL C B Multi-Choice A AND A C AND split DIS C B B Discriminator A XOR C B XOR Split A A start C end E AND C B D AND join Interleaved parallel routing A B XOR C A XOR AND D B XOR join C XOR Split AND join process not well-formed
  23. 23. E-Shop: Control-Flow View Activity : Payment by Credit Card Check credit card activity <id,accepted> <id,payment> XOR-SPLIT <id,rejected> order request response Payment Stock Delivery Credit Card Checking Process or Web Service Send Money Return RMA Material Back Query RMA: Return Materials Authorization
  24. 24. 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
  25. 25. E-Shop: Data View Client ID Payment Product IDs Shipping ID Order Paid Shipping Shipped Return Request Returned state change used by (data dependence) Can be modeled by Colored tokens, Automate, XML algebra
  26. 26. Process Verification and Prototyping
  27. 27. 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.
  28. 28. Properties of Petri Nets Liveness: of PN, of an initial marking Deadlock free: of PN, of an initial marking Soundness
  29. 29. 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.
  30. 30. Properties of BP If a BP instance terminates, there should be no hanging tasks for this instance (soundness): no dead tokens.
  31. 31. 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.
  32. 32. 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
  33. 33. 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, //, .. , |
  34. 34. 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.
  35. 35. Prototyping BP COOPN Java Process Java ADT ADT Instance impl. XML message External Java Data Data Data Type Type Activity Class JavaBean Process Context Services Transaction Endpoint Action Transaction Object Event Method Java Method Atomic Gate Java Event Transaction configurable modeling transformation
  36. 36. Integrating Prototypes Process controller prototype Client delivery credit card Enactment service service system Shopping Process send <id, order> in_ order order ask payement askPayment id input credit card out_ verify credit card <id, transaction> in_ credit card valid validPayment id transaction ask delivery askDelivery id out_ in_ <id, delivery> confirm delivery confirmDelivery id delivery delivered id
  37. 37. The framework Business Process integration Remote UI Process instance system ERP / user Data Activity IS Atomic Transaction Service Interface Process Event Executable model (PSM) Action embedded controller Java ADT impl. modeling Java Data Type JavaBeans Java Event n atio Transaction Object COOPN model (PIM) rm s fo Java Method External Data Type n tra web service ADT Class Context Gate Method Configuration Class Transaction (Mapping rules) Library verification validation simulation refinement
  38. 38. Conclusion & Future Work
  39. 39. Conclusion Most modeling work are done, e.g. perspectives: Control Data Service Transaction Time to propose an XML-based Domain Specific Language
  40. 40. Future Works Investigation on the constraints between the dimensions Service Oriented Business Process Specifications (SO-BPS) Verification and model checking techniques Tools supports
  41. 41. Thank you for your attention

×