Business process modeling is commonly used in development of large scale enterprise systems. The previous research on this topic demonstrated that process-oriented models might be too rigid for dynamic adaptations of the business logic. Rule-based approaches are considered an alternative, which offers more flexibility thanks to the declarative nature of rules and their underlying reasoning algorithms. However, modeling a business process exclusively through rules is a tedious process for developers in terms of the overall business process comprehension. A solution "in-between" is to have a modeling approach that integrates both rule- and process-oriented modeling perspectives. In this talk, we will discuss the experience gained in the development of and work with rBPMN (rule-based BPMN), a language based on the integration of Business Process Modeling Notation (BPMN) with the REWERSE Rule Markup Language. After a brief description of some key decisions made in the development of rBPMN, we will discuss experience in using rBPMN to model workflow patterns, service-interaction patterns, message-exchange patterns, and a recently identified group of patterns for integration rules into business processes. Finally, the talk will discuss some open research challenges in the area such as capturing business knowledge, usability of business modeling languages, and methods for configuration of business processes.
3. What’s all this about?
Perhaps
“A business process is flexible if possible to change it
without replacing it completely.”
Rainer Schmidt, Gil Regev, Pnina Soffer, Guest Editorial: Requirements for Flexibility and the Ways to
Achieve It, Int. J. Business Process Integration and Management, Vol. 3, No. 1, 2008, pp. 1-4
4. Now, please, help!
What’s different and similar?
Business processesDynamic Variable
ChangeableFlexible
Configurable Declarative
Agile
5. The rest of the talk
A perspective to the problem
A language development experience
Open challenges
7. Let me introduce myself
Also, an excuse to invite you to
the 4th International Conference on Software Language Engineering
http://planet-sl.org/sle2011
8. Why not maintainability?!
Already known in (software) engineering
… the ease with which
a product can be maintained to
correct defects
meet new requirements
make future maintenance easier, or
cope with a changed environment
As simple as a Wikipedia entry: http://en.wikipedia.org/wiki/Maintainability
9. Software Quality
Maintainability characteristics
Analyzability
capability to be diagnosed for deficiency
Changeability
possibility and ease of change when modifications needed
Understandability
prospect and likelihood to be understood & comprehended
ISO 9126 standard, Software engineering — Product quality
12. Business Processes
Excerpts of a definition [Weske, 2007]
Coordinated set of activities
Business goals
Perspectives
Control flow, data flow, interaction, …
13. Business Rules
Excepts of a definition [BRG, 2009]
define or constrain some aspects
assert business structure or
control or influence the behavior
Types [Wanger, 2005]
Derivation, integrity, production, & reaction
14. Processes & rules
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?
15. Processes & rules
Hybrid approaches
BP stays, but rules are added for
control flow decisions,
data constraints, and
process composition [Graml et al., 2007]
18. rBPMN –
Rule-enhanced BPMN
Model-driven engineering approach
Language engineering with metamodeling
Business process and rule (meta)models
Integration on the level of the metamodels
Validity of expressions in models
Integration of BPMN and R2ML languages
EDOC 2009
19. Challenges
to have rules as first class concepts in BPs
to support vocabularies/ontologies
to define message typing
to formalize defining conditions
to enable declarative (parts of) processes
MODELS 2009
30. Pattern group Pattern
Business process
modeling language
UML BPEL BPMN AORML rBPMNBasiccontrol-
flow
Sequence + + + + +
Parallel Split + + + + +
Synchronization + + + + +
Exclusive Choice + + + + +
Simple Merge + + + + +
Advanced
branchingand
synchronizati
on
Multi Choice - + - + +
Multi Merge - - +/- + +
Discriminator - - - +/- +
Synchronizing Merge - + + - +
Struct
ural
Arbitrary Cycles + - + + +
Implicit Termination + + + + +
Multiple
Instances
MI without synchronization + + + + +
MI with a Priori Design Time Knowledge + + + + +
MI with a Priori Runtime Knowledge + - - + +
MI without a Priori Runtime Knowledge - - - + +
State-
based
Deferred Choice + + + + +
Interleaved Parallel Routing - +/- +/- - +/-
Milestone - - - - +
Cancellati
on
Cancel Activity + + + + +
Cancel Case + + + + +
31. Multiplicity of participants |||
References
to distinguish participants
Correlation information
who sent a message
MODELS 2009
Interaction Models
36. rBPMN Editor
Going out as open source shortly
Binaries available for download and use
Looking fwd to your feedback
http://code.google.com/p/rbpmneditor/
55. Which method to use?
Theoretical
Case study
Empirical
Action research
Ethnography
Simulation
Scenario analysis
Systemic observation
Pilot testing
Grounded theory
Critical analysis of literature
Expert review
Focus group
Algorithmic analysis
Assertion
Cognitive walkthrough Concept mapping
Contextual inquiry
Design research
End-user studyExploratory data analysis
Heuristic evaluation
Lessons learned
59. Acknowledgements
Milan Milanovic, Luis Rocha, Vid Prezel
Gerd Wagner and Adrian Giurca – rBPMN
Jean-Marie Favre and Ralf Lämmel – SLE
Lab for Semantic Technologies
Marek Hatala, Ebrahim Bagheri, Marko Boskovic,
Amal Zouaq,Bardia Mohabbati, Mohsen Asadi,
Ivana Ognjanovic, Samaneh Soltani, Toni Lenihan
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.
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.
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.
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.