Business Process Modelling Languages, Goals and Variabilities Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University of Technology korherr@wit.tuwien.ac.at, http://wit.tuwien.ac.at
Introduction Business processes are often the starting point for software development Business processes define requirements for the software systems to be designed BUT: No mechanism or formal notion is available for linking business processes with software systems THE GOAL: Extending existing BPMLs with missing concepts and notations 2
Outline Generic business process metamodel for evaluating Business Process Modelling Languages Performance Measures and Goals in UML 2 Activity Diagrams A UML 2 Profile for Variability Models and the dependency between Variability models and UML 2 Activity Diagrams 3
Outline Generic business process metamodel for evaluating Business Process Modelling Languages Performance Measures and Goals in UML 2 Activity Diagrams A UML 2 Profile for Variability Models and the dependency between Variability models and UML 2 Activity Diagrams 4
Goals of the Evaluation Comprehensive comparison of Business Process Modelling Languages (BPMLs) as well as a general framework is missing 1. Generic business process metamodel 2. Evaluation of six well-established BPMLs Languages Goals Variabilities 5
Contribution of the Evaluation Metamodel provides a foundation for an evaluation Stresses strengths and limitations of BPMLs Comparison between the BPMLs illustrates the differences and the similarities Evaluation can be easily extended with further BPMLs Facilitation of finding the right BPML for a certain purpose Languages Goals Variabilities 6
The five Perspectives Behavioural Perspective Functional Perspective Informational Perspective Organisational P. Business Process Context Perspective 7
Metamodel - The Four Perspectives 8
Metamodel BP Context Perspective Languages Goals Variabilities 9
Results of the Evaluation Functional Behavioural Informational Organisational BP Context UML 2 AD EPC + + + ~ ~ + + ~ ~ ~ BPMN + + ~ ~ ~ IDEF3 Petri Nets RAD + + ~ - ~ + + - - - + + ~ ~ ~ Legend: + fully supported ~ partially supported - not supported at all 10
Outline Generic business process metamodel for evaluating Business Process Modelling Languages Performance Measures and Goals in UML 2 Activity Diagrams A UML 2 Profile for Variability Models and the dependency between Variability models and UML 2 Activity Diagrams 11
Definition about Business Processes Definition: "A business process is a group of tasks that together create a result of value to a customer." [Hammer, 96] Definition: "Its purpose is to offer each customer the right product or service, e.g., the right deliverable, with a high degree of performance measured against cost, longevity, service and quality." [Jacobson, 95] Languages Goals Variabilities 12
Goals of the Extension Process goals and performance measures are available in process definitions Current BPMLs do not provide explicit notation elements for process goals and their measures E.g. designer has no possibility to integrate time limits Extending the metamodel of UML 2 AD business process goals and performance measures Time Quality Costs Languages Goals Variabilities 13
Contribution of the Extension Modelling of goals and performance measures allow to structure process design, to evaluate the process design, and to evaluate the operating process. The extended UML 2 AD makes the evaluation criteria for a business process conceptually visible Languages Goals Variabilities 14
The Generic Metamodel 15
Example of an AD Activity Actions Control Flows Activity Partitions 16
The extended UML 2 Metamodel of the AD Languages Goals Variabilities 17
Example of an extended AD Goals Quality Time Alert Cost 18
Outline Generic business process metamodel for evaluating Business Process Modelling Languages Performance Measures and Goals in UML 2 Activity Diagrams A UML 2 Profile for Variability Models and the dependency between Variability models and UML 2 Activity Diagrams 19
Introduction into Variability Models Variability models define the variability of a product line It shows the different variation points and variants of a software product line. Variability models can be used during the different life cycle stages of software product lines Variability modelling is a domain specific modelling technique Continual integration into traditional software engineering. Languages Goals Variabilities 20
Motivation Variability models are not integrated into an modelling framework like the Unified Modeling Language (UML). Variability models have also an impact on processes. Variabilities can change the process flow, e.g. in a car engine manufacturing process the decision if the variability manufacture a diesel engine or a petrol engine is chosen, changes the process flow. Languages Goals Variabilities 21
Goals 1. Provide variability models to software developers as a UML 2 profile 2. Show the dependency between variability models and Activity Diagrams to make the relationship between structural models and behavioural models visible Languages Goals Variabilities 22
Contribution The The UML UML profile for variability models...... can be easily created, presented and edited with existing UML modelling tools.... represents variability requirements to software developers or process engineers in a well-known modelling languages.... and its shown dependencies onto activity diagrams visualizes the relationship between structural and behavioural models. Languages Goals Variabilities 23
A UML Profile for Variability Models Languages Goals Variabilities 24
Examples of Variability Dependencies Variability Dependency Multiplicity Generalisation Set Mandatory 1 {complete, disjoint} Class Diagram UML Profile Alternative 0..1 {incomplete, disjoint} Alternative 1..* {complete, overlapping} Optional 0..* {incomplete, overlapping} 25
Dependency between Variability Models and Business Processes Variability models show the different variabilities of a software. Activity Diagrams are a part of the behavioural set of UML 2 diagrams show the control and data flow between different tasks. The two modelling techniques describe the complementary views variability model describes the structural view and the activity diagram the behavioural view. Showing the dependency between these metamodels to examine in which way they are related to each other. Languages Goals Variabilities 26
Example UML Profile and the Dependency onto UML 2 Activity Diagrams? 27
UML Profile Variation Point UML 2 AD Activity Partition Variant Action 28
UML Profile UML 2 AD Alternative (0..1) Decision - Merge Node 29
UML Profile Alternative (1..*) requires UML 2 AD Fork - Join Node Control Flow 30
31
Conclusion Defining a framework for evaluating BPMLs Extending BPMLs with goals and performance measures Providing variability models to software developers, and showing the dependency between variabilities and business processes 32
Transformation of BPMLs to code M1 M2 M3 PIM input UMLModel Extended UML Metamodel Model Trafo ATL Code Generator Weaving Model Weaving Metamodel MOF PSM output BPEL Model BPEL Metamodel Code Generation MOF Scripts Code XML Code 33
Publications Birgit Korherr and Beate List: A UML 2 Profile for Variability Models and their Dependency to Business Processes. 1st International Workshop on Enterprise Information Systems Engineering (WEISE 07), September 2007, Regensburg, Germany, IEEE Press, 2007. Birgit Korherr and Beate List: Extending the EPC and the BPMN with Business Process Goals and Performance Measures. 9th International Conference on Enterprise Information Systems (ICEIS 07), June 2007, Madeira, Portugal, ACM Press, 2007. Birgit Korherr and Beate List: Extending the EPC with Performance Measures (short paper). Proceedings of the 22nd ACM Symposium on Applied Computing (SAC'07), Seoul, Korea, March 11-15, ACM Press, 2007. Birgit Korherr and Beate List: Extending the UML 2 Activity Diagram with Business Process Goals and Performance Measures and the Mapping to BPEL. 2nd International Workshop on Best Practices of UML (BP-UML'06) at the 25th International Converence on Conceptual Modeling (ER'06), November 2006, Tucson, Arizona, USA, 2006, Spinger Verlag, Lecture Notes in Computer Science. Birgit Korherr and Beate List: Aligning Business Processes and Software - Connecting the UML Profile for Event Driven Process Chains with Use Cases and Components. CAiSE Forum Proceedings at the 18th Conference on Advanced Information System Engineering (CAiSE'06), June 2006, Luxembourg, 2006. Birgit Korherr and Beate List: A UML 2 Profile for Event Driven Process Chains. Proceedings of the 1st IFIP International Conference on Research and Practical Issues of Enterprise Information Systems (CONFENIS 2006), April 2006, Vienna, Austria, 2006, Springer Verlag, IFIP. Beate List and Birgit Korherr: An Evaluation of Conceptual Business Process Modelling Languages. Proceedings of the 21st ACM Symposium on Applied Computing (SAC'06), April 2006, Dijon, France, ACM Press, 2006. Beate List and Birgit Korherr: A UML 2 Profile for Business Process Modelling. Proceedings of the 1st International Workshop on Best Practices of UML (BP-UML 2005) at the 24th International Conference on Conceptual Modeling (ER 2005), Klagenfurt, Austria, 2005, Springer Verlag, Lecture Notes in Computer Science. Veronika Stefanov, Beate List and Birgit Korherr: Extending UML 2 Activity Diagrams with Business Intelligence Objects. Proceedings of the 7th International Conference on Data Warehousing and Knowledge Discovery (DaWaK 2005), August 2005, Copenhagen, Denmark, Springer Verlag, Lecture Notes 34
References [Curtis, 1992]: Curtis, B., Kellner, M. and Over, J. Process Modeling. Communication of the ACM, Vol. 35, No.9, 1992. [Hammer, 96]: Hammer, M.: Beyond Reengineering - How the process-centered organization is changing our work and our lives. Harper Collins Publischers, 1996. [Jacobson 95]: Jacobson, I., Ericson, M., Jacobson, A.: The Object Advantage - Business Process Reengineering with Object Technology. ACM Press, Addison-Wesley Publishing, 1995. [List, 06]: List B., Korherr B.: An Evaluation of Conceptual Business Process Modelling Languages, Proceedings of the 21st ACM Symposium on Applied Computing (SAC 06), April, Dijon, France, ACM Press, 2006. 35
Later BPMLs: Functional & Behavioural P. 36
Earlier BPMLs: Functional & Behavioural P. 37
Later BPMLs: Informational P. 38
Earlier BPMLs: Informational P. 39
Later BPMLs: Organisational P. 40
Earlier BPMLs: Organisational P. 41
Later BPMLs: Business Process Context P. 42
Earlier BPMLs: Business Process Context P. 43
Example BP, 2nd Hierarchy Level EPC BPMN Time Organisational Role 44 14
Example BP, 3rd Hierarchy Level Time Organisational Role EPC BPMN 45