Modeling Service Choreographies
with
Rule-enhanced Business Processes
Milan Milanović1
and Dragan Gašević2
1
University of Belgrade, Serbia
2
Athabasca University, AB, Canada
Problem Domain
 Process modeling and service composition
 Orchestrations – CASCON 2009
 Business processes from one participant’s side
 Choreographies
 Business processes from a global perspective
 Available languages (e.g., BPMN)
 Challenges
 How to support business vocabularies/rules?
 How to manage redundant elements?
MODELS 2009
Choreography Modeling
 Extension of the BPMN2 language
 Software language engineering
 Adding support for vocabularies and rules
 Building on the previous related work
 iBPMN [Decker & Puhlmann, 2007]
MODELS 2009
Approach
Greetings for the EDOC friends from
the International Conference on Software Language Engineering
http://planet-sl.org
 Rule-enhanced BPMN - rBPMN
 Interconnection and interaction models
 Evaluation mechanism – expressiveness
 Service Interaction Patterns
MODELS 2009
Result
Processes & Rules – Option 1
 Complete processes modeled by rules
 With reaction and production rules
 Some issues
 What’s the identity of a business process?
 Which languages to use?
 Are the languages at the same level?
Processes & Rules – Option 2
 Hybrid approaches
 BP stays, but rules are added for
 control flow decisions,
data constraints, and
process composition [Graml et al., 2007]
MODELS 2009
The BPMN Language
Rules and Business Processes
 Challenges
 to have rules as first class concepts in BPs
 to support vocabularies/ontologies
 to define message and event typing
 to formalize defining conditions
 to enable declarative (parts of) processes
MODELS 2009
Representational Analysis
 Based on the BWW model
PΔR - Symmetric Difference; P R – Intersection; P/R & R/P -Relative Complement∩
Vid Prezel
Representational Analysis
 Based on the BWW model
Vid Prezel
Rule Modeling
 REWERSE I1 Rule Markup Language (R2ML)
 with a UML-based graphical concrete syntax
MODELS 2009
 REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
rBPMN in Action
rBPMN in Action
rBPMN in Action
OWL-based
reasoning
rBPMN in Action
Rete-based
 Multiplicity of participants – |||
 References –
to distinguish participants
 Correlation information –
who sent a message
MODELS 2009
Interaction Models
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
Case Study
Case Study
Rules in Choreography
EDOC 2009
Case Study
Rules in Choreography
EDOC 2009
Case Study
Case Study
Case Study
Rule in Choreography
EDOC 2009
Expressiveness comparison
 Service Interaction Patterns
Language
Pattern
group
Pattern Let’s
Dance
BPMN
WS-
CDL
iBPMN rBPMN
Send + + + + +
Receive + + + + +1)
Send/Receive + + + + +
Racing incoming messages + + + + +
One-to-many send + - +/- + +
One-from-many receive + - + + +
2)
One-to-many send/receive + - +/- + +
Multi-responses + + + + +
Contingent requests +/- - +/- +/- +3)
Atomic multicast notification - - - - -
Request with referral + - + + +
Relayed request + - + + +4)
Dynamic routing - - +/- - +/-
rBPMN Editor
 Implementation of BPMN2 + R2ML
 Eclipse plug-in based on GMF and EMF
 Binaries available for download
 Going out as open source shortly
 Looking fwd to your feedback
 http://rbpmneditor.googlecode.com/
 http://www.youtube.com/user/rbpmn
rBPMN Editor
rBPMN Heroes
 Language design and implementation
Milan Milanovic Luis Rocha
MODELS 2009
Conclusion REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
MODELS 2009
Conclusion REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Conclusion REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Conclusion REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
Expressiveness comparison
 Service Interaction Patterns
MODELS 2009
Conclusion REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
rBPMN metamodel weaving
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
MODELS 2009
Service Interaction Patterns
 Contingent requests pattern
Expressiveness comparison
 Service Interaction Patterns
rBPMN Editor
 Usability
 Semi-structured English vs. visual
 Interaction vs. interconnection model
 Quality and empirical issues of rBPMN
MODELS 2009
Future Work
 Usability
 Semi-structured English vs. visual
 Interaction vs. interconnection model
 Quality and empirical issues of rBPMN
MODELS 2009
Future Work
Community call:
We need a corpus!
 Language formalization affairs
 Static and operational semantics
 e.g., OWL2 and mCRL2
 Coupled co-evolution of rules & processes
MODELS 2009
Future Work
Thank you!
Questions?

Modeling Service Choreographies with Rule-enhanced Business Processes

  • 1.
    Modeling Service Choreographies with Rule-enhancedBusiness Processes Milan Milanović1 and Dragan Gašević2 1 University of Belgrade, Serbia 2 Athabasca University, AB, Canada
  • 2.
    Problem Domain  Processmodeling and service composition  Orchestrations – CASCON 2009  Business processes from one participant’s side  Choreographies  Business processes from a global perspective
  • 3.
     Available languages(e.g., BPMN)  Challenges  How to support business vocabularies/rules?  How to manage redundant elements? MODELS 2009 Choreography Modeling
  • 4.
     Extension ofthe BPMN2 language  Software language engineering  Adding support for vocabularies and rules  Building on the previous related work  iBPMN [Decker & Puhlmann, 2007] MODELS 2009 Approach Greetings for the EDOC friends from the International Conference on Software Language Engineering http://planet-sl.org
  • 5.
     Rule-enhanced BPMN- rBPMN  Interconnection and interaction models  Evaluation mechanism – expressiveness  Service Interaction Patterns MODELS 2009 Result
  • 6.
    Processes & Rules– Option 1  Complete processes modeled by rules  With reaction and production rules  Some issues  What’s the identity of a business process?  Which languages to use?  Are the languages at the same level?
  • 7.
    Processes & Rules– Option 2  Hybrid approaches  BP stays, but rules are added for  control flow decisions, data constraints, and process composition [Graml et al., 2007]
  • 8.
  • 9.
    Rules and BusinessProcesses  Challenges  to have rules as first class concepts in BPs  to support vocabularies/ontologies  to define message and event typing  to formalize defining conditions  to enable declarative (parts of) processes MODELS 2009
  • 10.
    Representational Analysis  Basedon the BWW model PΔR - Symmetric Difference; P R – Intersection; P/R & R/P -Relative Complement∩ Vid Prezel
  • 11.
    Representational Analysis  Basedon the BWW model Vid Prezel
  • 12.
    Rule Modeling  REWERSEI1 Rule Markup Language (R2ML)  with a UML-based graphical concrete syntax MODELS 2009
  • 13.
     REWERSE I1Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
     Multiplicity ofparticipants – |||  References – to distinguish participants  Correlation information – who sent a message MODELS 2009 Interaction Models
  • 19.
    MODELS 2009 Service InteractionPatterns  Contingent requests pattern
  • 20.
    MODELS 2009 Service InteractionPatterns  Contingent requests pattern
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
    Expressiveness comparison  ServiceInteraction Patterns Language Pattern group Pattern Let’s Dance BPMN WS- CDL iBPMN rBPMN Send + + + + + Receive + + + + +1) Send/Receive + + + + + Racing incoming messages + + + + + One-to-many send + - +/- + + One-from-many receive + - + + + 2) One-to-many send/receive + - +/- + + Multi-responses + + + + + Contingent requests +/- - +/- +/- +3) Atomic multicast notification - - - - - Request with referral + - + + + Relayed request + - + + +4) Dynamic routing - - +/- - +/-
  • 31.
    rBPMN Editor  Implementationof BPMN2 + R2ML  Eclipse plug-in based on GMF and EMF  Binaries available for download  Going out as open source shortly  Looking fwd to your feedback  http://rbpmneditor.googlecode.com/  http://www.youtube.com/user/rbpmn
  • 32.
  • 33.
    rBPMN Heroes  Languagedesign and implementation Milan Milanovic Luis Rocha
  • 34.
    MODELS 2009 Conclusion REWERSEI1 Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving
  • 35.
    MODELS 2009 Conclusion REWERSEI1 Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving MODELS 2009 Service Interaction Patterns  Contingent requests pattern
  • 36.
    MODELS 2009 Conclusion REWERSEI1 Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving MODELS 2009 Service Interaction Patterns  Contingent requests pattern MODELS 2009 Service Interaction Patterns  Contingent requests pattern
  • 37.
    MODELS 2009 Conclusion REWERSEI1 Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving MODELS 2009 Service Interaction Patterns  Contingent requests pattern MODELS 2009 Service Interaction Patterns  Contingent requests pattern Expressiveness comparison  Service Interaction Patterns
  • 38.
    MODELS 2009 Conclusion REWERSEI1 Rule Markup Language MODELS 2009 Extension for Rule Models rBPMN metamodel weaving MODELS 2009 Service Interaction Patterns  Contingent requests pattern MODELS 2009 Service Interaction Patterns  Contingent requests pattern Expressiveness comparison  Service Interaction Patterns rBPMN Editor
  • 39.
     Usability  Semi-structuredEnglish vs. visual  Interaction vs. interconnection model  Quality and empirical issues of rBPMN MODELS 2009 Future Work
  • 40.
     Usability  Semi-structuredEnglish vs. visual  Interaction vs. interconnection model  Quality and empirical issues of rBPMN MODELS 2009 Future Work Community call: We need a corpus!
  • 41.
     Language formalizationaffairs  Static and operational semantics  e.g., OWL2 and mCRL2  Coupled co-evolution of rules & processes MODELS 2009 Future Work
  • 42.

Editor's Notes

  • #9 <number> BPMN -> OMG specification.
  • #20 <number> In the contingent requests pattern, a participant sends a request to another participant. If this second participant does not respond within a given period of time, the request is sent to another (third) participant. Again, if no response comes back, a fourth participant is contacted, and so on. For the decision about delayed responses, we propose using rule gateways with attached reaction rules. If a late (time-outdated) response from some earlier participant came during the processing of the contingent request (by a Pool 2 participant in Fig. 2), a reaction rules attached to the rule gateway R1 decides if such a response should be accepted or not.
  • #21 <number> In the contingent requests pattern, a participant sends a request to another participant. If this second participant does not respond within a given period of time, the request is sent to another (third) participant. Again, if no response comes back, a fourth participant is contacted, and so on. For the decision about delayed responses, we propose using rule gateways with attached reaction rules. If a late (time-outdated) response from some earlier participant came during the processing of the contingent request (by a Pool 2 participant in Fig. 2), a reaction rules attached to the rule gateway R1 decides if such a response should be accepted or not.
  • #22 <number> In the contingent requests pattern, a participant sends a request to another participant. If this second participant does not respond within a given period of time, the request is sent to another (third) participant. Again, if no response comes back, a fourth participant is contacted, and so on. For the decision about delayed responses, we propose using rule gateways with attached reaction rules. If a late (time-outdated) response from some earlier participant came during the processing of the contingent request (by a Pool 2 participant in Fig. 2), a reaction rules attached to the rule gateway R1 decides if such a response should be accepted or not.
  • #23 <number> In the contingent requests pattern, a participant sends a request to another participant. If this second participant does not respond within a given period of time, the request is sent to another (third) participant. Again, if no response comes back, a fourth participant is contacted, and so on. For the decision about delayed responses, we propose using rule gateways with attached reaction rules. If a late (time-outdated) response from some earlier participant came during the processing of the contingent request (by a Pool 2 participant in Fig. 2), a reaction rules attached to the rule gateway R1 decides if such a response should be accepted or not.