Upload
dragan-gasevic
View
1.159
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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.
Citation preview
Business Rules and Business Processes
How good partners are they?
Dragan Gašević
Business processes
Many (buzz)words
Dynamic Variable
Changeable Flexible
Configurable DeclarativeAgile
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
Now, please, help! What’s different and similar?
Business processesDynamic Variable
Changeable Flexible
Configurable DeclarativeAgile
The rest of the talk A perspective to the problem A language development experience Open challenges
Part IA Perspective to
the Problem
Let me introduce myself
Also, an excuse to invite you tothe 4th International Conference on Software Language Engineering
http://planet-sl.org/sle2011
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
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
Community Engineering
Changeability in BPsPossibility and ease of change
when modifications needed
Business Processes Excerpts of a definition [Weske, 2007]
Coordinated set of activities Business goals
Perspectives Control flow, data flow, interaction, …
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
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?
Processes & rules Hybrid approaches
BP stays, but rules are added for control flow decisions,
data constraints, and process composition [Graml et al., 2007]
Part II Language Development
Experience
What else to expect from a
?!
Objective
A systematic definition of a rule-based business modeling language
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
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
MODELS 2009
BPMN Language
The current BPMN2 metamodel submission
REWERSE I1 Rule Markup Language (R2ML) with a UML-based graphical concrete syntax
MODELS 2009
Rule Modeling
MODELS 2009
rBPMN in Action
rBPMN in Action
rBPMN in Action OWL-based reasoning
rBPMN in ActionRete-based
Modeling Perspectives Orchestrations – CASCON 2010 Choreographies – EDOC 2010
Workflow Patterns Milestone pattern
Book Request Scenario
Pattern group Pattern Business process
modeling language UML BPEL BPMN AORML rBPMN
Bas
ic c
ontr
ol-
flow
Sequence + + + + +
Parallel Split + + + + +
Synchronization + + + + +
Exclusive Choice + + + + +
Simple Merge + + + + +
Adv
ance
d br
anch
ing
and
sync
hron
izat
ion
Multi Choice - + - + +
Multi Merge - - +/- + +
Discriminator - - - +/- +
Synchronizing Merge - + + - +
Str
uct
ural
Arbitrary Cycles + - + + +
Implicit Termination + + + + +
Mul
tipl
e In
stan
ces
MI without synchronization + + + + +
MI with a Priori Design Time Knowledge + + + + +
MI with a Priori Runtime Knowledge + - - + + MI without a Priori Runtime Knowledge - - - + +
Sta
te-
base
d Deferred Choice + + + + +
Interleaved Parallel Routing - +/- +/- - +/-
Milestone - - - - +
Can
cella
tion
Cancel Activity + + + + +
Cancel Case + + + + +
Multiplicity of participants |||
References to distinguish participants
Correlation information who sent a message
MODELS 2009
Interaction Models
MODELS 2009
Service Interaction Contingent requests pattern
MODELS 2009
Service Interaction Contingent requests pattern
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 Going out as open source shortly Binaries available for download and use Looking fwd to your feedback http://code.google.com/p/rbpmneditor/
rBPMN Heroes Language design and implementation
Milan Milanovic Luis Rocha
Demohttp://code.google.com/p/rbpmneditor/
rBPMN Analysis Representational analysis of BPMN
Based on the BWW modelConstructs Percentage Constructs Percentage Constructs Percentage Constructs Percentage
Completeness 17 60.7% 17 60.7% 18 64.3% 19 67.9%Deficit 11 39.3% 11 39.3% 10 35.7% 9 32.1%Redundancy 11 39.3% 11 39.3% 16 57.1% 16 57.1%Overload 5 17.9% 5 17.9% 29 103.6% 30 107.1%Excess 4 14.3% 5 17.9% 16 57.1% 22 78.6%
BPMN 1.2 Core BPMN 2.0 Core BPMN 1.2 Ext BPMN 2.0 Ext
Vid Prezel rBPMN hero
rBPMN Expressiveness Construct deficit
rBPMN Expressiveness Cluster by cluster comparison
rBPMN Expressiveness Overlap analysis
PΔR - Symmetric Difference; P∩R – Intersection; P/R & R/P -Relative Complement
Part III Open Challenges
Language Issues Change propagation Traceability Consistency Semantics
Static and operational
http://code.google.com/p/twouse/
Using ontologiesNot only OWL-based reasoning
General vs. Specific
Why not to use DSLs instead?!
More or less rules!?Methodologies, yes!
Empirical research even more!
Quality Issues Usability
Natural language vs. visual Physics of notation, cognitive dimensions, …
Maintainability Understandability, changeability, analyzability Internal structure metrics and experiments
…
Community call: We need a corpus!
Which method to use?Theoretical
Case study
EmpiricalAction research
Ethnography
Simulation
Scenario analysis
Systemic observation
Pilot testingGrounded theory
Critical analysis of literature
Expert reviewFocus group
Algorithmic analysis
Assertion
Cognitive walkthrough Concept mapping
Contextual inquiry
Design research
End-user studyExploratory data analysis
Heuristic evaluation
Lessons learned
Community Engineering
Pioneer in bridging
Organizational issues Motivating for knowledge externalization Organizational learning Inter-organizational affairs
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
Thank you!
Questions?