Data and Process Modelling

Similar documents
Data and Process Modelling

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business Process Model and Notation (BPMN)

LAB-03 BPMN Resource Perspective and Events

BPMN Getting Started Guide

3. Business Process Diagrams

Security Requirements Modeling Tool

LECTURE 3: BUSINESS ARCHITECTURE ASPECTS: BUSINESS PROCESS MODELLING

20. Business Process Analysis (2)

Appendix D: Mapping BPMN to BPD Profile

HCM Modeling Elements. Creating a better understanding of the process model standards used within the MHR-BPS Process Modeling initiative.

BPMN 2.0. Business Process Management and Flexibility Barbara Re, Phd

Data and Process Modelling

Process modeling. PV207 Business Process Management

CreditInfo = [Jane, 16000] AcceptCredit. Fig Process instance where request approval activity is not required

Business Process Modeling. Version /10/2017

1 Executive Overview The Benefits and Objectives of BPDM

Business Process Modeling with BPMN

BASICS OF BPMN BASIC BPMN SUBSET OKAY, SO WHAT DO I REALLY NEED TO KNOW? CHAPTER 2

BPMN Working Draft. 1. Introduction

Process modeling II. PV207 Business Process Management

4. Business Process Diagram Graphical Objects

THUR 3:30 PM BUILDING AN AUTOMATED PROCESS THAT INTERACTS WITH DIFFERENT SYSTEMS

Business Process Management (BPM) Lecture 3: Advanced BPMN

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

BPMN Working Draft. 1. Introduction

UNIT-4 Behavioral Diagrams

Data and Process Modelling

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643

Business Process Modeling. Version 25/10/2012

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 3: BPMN (part II)

White Paper Understanding BPMN Connections

4. Business Process Diagram Graphical Objects

Event-driven Process Engines Background. Matthias Weidlich

Interactions A link message

BPMN 2.0 Extensions for Enterprise Architect

Business Information Systems Lecture 3 BPMN. Enn Õunapuu

3. Business Process Diagram Concepts

Getting started with WebRatio 6 BPM - WebRatio WebML Wiki

Business Process Modelling

Bidimensional Process Discovery for Mining BPMN Models

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

Activity Diagram Written Date : September 02, 2016

Lezione 14 Model Transformations for BP Analysis and Execution

Canonization Service for AProMoRe

USER GUIDE. version

Transforming Collaborative Process Models into Interface Process Models by Applying an MDA Approach

White Paper Workflow Patterns and BPMN

How to Draw BPMN 2.0 Business Process Diagram? Written Date : March 9, 2016

Workflow : Patterns and Specifications

APPENDIX M INTRODUCTION TO THE UML

Extending BPEL with transitions that can loop

Construction of BPMN-based Business Process Model Base

Joint Entity Resolution

Äriprotsesside modelleerimine ja automatiseerimine Loeng 5 Äriprotsesside modelleerimine BPMN. Enn Õunapuu

Comparison of Simple Graphical Process Models

UML Diagrams MagicDraw UML Diagrams

Towards Choreography Transactions

Äriprotsesside modelleerimine ja automatiseerimine Loeng 5 Äriprotsesside modelleerimine BPMN. Enn Õunapuu

Chapter 1 Introduction

Solution Documentation - Graphical Process Editor

A new Action Rule Syntax for DEmo MOdels Based Automatic workflow process generation (DEMOBAKER) Carlos Figueira and David Aveiro

A formalisation of BPMN in Description Logics

Activities Radovan Cervenka

Hippo Software BPMN and UML Training

Conceptual Modeling and Specification Generation for B2B Business Processes based on ebxml

BPEL Business Process Execution Language

A process model is a description of a process. Process models are often associated with business processes.

Alternatives to programming

Enterprise Architect. User Guide Series. BPMN Models. Author: Sparx Systems. Date: 22/06/2018. Version: 1.0 CREATED WITH

IDENTIFYING A SUBSET OF BPMN FOR IDM DEVELOPMENT

Pekka Helkiö Antti Seppälä Ossi Syd

UNIT 5 - UML STATE DIAGRAMS AND MODELING

A Case Study of Workflow Reconfiguration: Design and Implementation

The onprom Toolchain for Extracting Business Process Logs using Ontology-based Data Access

SecBPMN2. OIS 2017 Marco Robol

State Machine Diagrams

Practical UML - A Hands-On Introduction for Developers

The Unified Modeling Language (UML)

Software Service Engineering

An Optimized Way for Mapping BPMN to BPEL

9 Patterns of Process Modeling

The Difficulty of Replacing an Inclusive OR-Join

Guide to EPC Process Modelling

JBPM5 - QUICK GUIDE JBPM5 - OVERVIEW

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Modeling Choreographies: BPMN 2.0 versus BPEL-based Approaches

Mappings from BPEL to PMR for Business Process Registration

Information technology Metamodel framework for interoperability (MFI) Part 1: Framework

5. Connecting Objects

Bruce Silver Associates Independent Expertise in BPM

Interface-based enterprise and software architecture mapping

* Corresponding Author

UML for Real-Time Overview

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May

JOURNAL OF OBJECT TECHNOLOGY

Training Path FNT ProcessEngine

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Introduction to BPMN Part III - Flow and Connecting Objects Written Date : March 07, 2016

Consolidation of Interacting BPEL Process Models with Fault Handlers

Transcription:

Data and Process Modelling 8a. BPMN - Basic Modelling Marco Montali KRDB Research Centre for Knowledge and Data Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2014/2015 Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 1 / 27

Business Process Model and Notation OMG standardization initiative. Charter (http://www.bpmn.org) A standard Business Process Modeling Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner. Furthermore, the graphical notation will facilitate the understanding of the performance collaborations and business transactions between the organizations. This will ensure that businesses will understand themselves and participants in their business and will enable organizations to adjust to new internal and B2B business circumstances quickly. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 2 / 27

BPMN 2.0: Main Goals BPMN 2.0 as a single specification for notation, metamodel and interchange format. Enabling the exchange of BPs and their diagram layouts among process modeling tools to preserve semantic integrity. Support for model orchestrations and choreographies as stand-alone or integrated models. Support to the display and interchange of different perspectives on a model that allow a user to focus on specific concerns (internal, public, conversation, choreography). Provide an execution semantics via translation to executable WS-BPEL processes. Achieved with strong assumptions on the shape of the acceptable BPMN models. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 3 / 27

Uses of BPMN Several coexisting modeling paradigms. Process (or orchestration): intra-organizational perspective. Private, non-executable: intra-organizational, for documentation purposes (abstract). Private, executable: intra-organizational, with fully specified information to enable executability (concrete languages for conditions, loops, choices,... ). Public: interaction between a private BP and an external one. Only the internal activities involved in the interaction are shown. Collaboration: interaction between two or more business entities. Multiple private processes with message exchange. Choreography: contract (expected behavior) between interacting participants. No central orchestrator. Similar to a process, but each activity represents a message exchange. Conversation: logical relation implied by message exchange. Focus on business artifacts. Elicitation of participants. Message exchange used by participants to manipulate artifacts. We will focus on private, public, collaborative abstract processes. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 4 / 27

Examples - Control-Flow Private process. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 5 / 27

Examples - Control-Flow Private process. Public process. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 5 / 27

Examples - Control-Flow Private process. Collaborative process. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 5 / 27

Example - Choreography Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 6 / 27

Example - Conversation Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 7 / 27

Core Structure Every component of the structure: Is associated to a graphical notation. Is associated to a well-defined metamodel, capturing also the relationships with other components. Is associated to an XSD that corresponds to the metamodel and is used for validation, storage and interchange. Metamodel and XSD: http://www.bpmn.org. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 8 / 27

BPMN Graphical Elements Strategy: elements grouped into 5 families; each family organized in two strata - basic and advanced elements. Families: Flow objects: behavior of the BP. Data: manipulated information. Connecting objects: connection between flow objects and other elements. Swimlanes: organizational grouping of modeling elements. Artifacts: additional infos. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 9 / 27

The Main Basic Elements Task. Event. Start event: thin solid line. Intermediate event: double line (with variants). End event: thick solid line. Flow. Gateway. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 10 / 27

Task Types Abstract Task Generic task. User Task Executed by human operator on a terminal (workitem). Service Task Invokes a service, not shown or provided by other pool (message flow). Manual Task Human task executed without the support of the IS. Send Task Sends a message to an external participant, not shown or in another pool (message flow). Business Rule Task Interaction with a business rule engine. Receive Task Waits for a message from another participant, possibly explicitly identified (another pool, message flow). Script Task Script interpreted and executed by the BP engine. Receive and Instantiate Task The incoming message has the effect of instantiating a new process. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 11 / 27

Connecting Objects Sequence flow. Message flow. Directional association: link from/to a data item (data flow). Connection with other artifacts (e.g., notes, textual annotations). Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 12 / 27

Main Gateways Elements used to control the interaction of sequence flows. Correspond to some of the control-flow patterns. Exclusive (none or X): xor-split/join (and multi-merge). Parallel (+): and-split/join. Inclusive (thick circle): or-split/join. Complex ( ): complex split conditions (like n-out of-m join, discriminator,... ). Outgoing sequence flows of exclusive, inclusive and complex gateways can be associated to condition expressions. A default condition is represented by a bar on the sequence flow. Execution Semantics of BPMN Can be found in the official documentation, Chapter 13. Token game Provides an intuition of the execution semantics (on the blackboard). Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 13 / 27

Exclusive Gateway Split: represents a decision point. One and only one outgoing branch is selected. If conditions are not present, the choice is under the responsibility of the executors (deferred choice). If conditions are present, they must be mutually exclusive, and the one that evaluates to true determines the chosen path (exclusive choice). Default condition needed if the other conditions do not cover all the possible cases. Join: factorizes common process parts. Whenever a token is received from one of the incoming branches, it is forwarded to the outgoing branch. Corresponds to the simple/multi-merge in the control-flow patterns terminology. Can be also realized by directly attaching multiple incoming flows to a task. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 14 / 27

Parallel Gateway Split: represents a fork point. All the outgoing branches are followed in parallel. Can also be realized by directly attaching multiple outgoing flows from a task. Join: synchronizes multiple running parallel threads of control. Whenever all incoming branches are activated, the gateway forwards the execution to the outgoing branch. Reset of the gateway depending on the context (multiple activation of the same branch possible?). Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 15 / 27

Gateway Combinations and Process Correctness Are these models correct? B A D C B A D C E A B Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 16 / 27

Example: Order Management Process The order management process starts by checking whether the goods requested in the order are available. If not, the order is rejected. If so, the order is confirmed. After the confirmation, an invoice is sent, and at the same time the requested goods are shipped. Then the process terminates. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 17 / 27

Example: Order Management Process The order management process starts by checking whether the goods requested in the order are available. If not, the order is rejected. If so, the order is confirmed. After the confirmation, an invoice is sent, and at the same time the requested goods are shipped. Then the process terminates. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 17 / 27

Organizational Modeling Pool: representation of an independent resource class, with its own BP specification. It can be implicit, i.e., not shown. Example: Customer, Supplier, Lab, Warehouse,... Lane: resource class in a given organizational space (pool), which shares the same process as other internal resource classes. Example: Manager, Sales Department, Engineer,... Pool / Participant / Process Lane Lane Lane Lane An external pool can also be treated as a black-box (no elements inside). Collapsed Collapsed Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 18 / 27

Pools and Message Exchange Pools communicate with each other by means of message exchange. For a task to start, both the incoming control and message flows must be active! Messages could either be attached to tasks, or to the pools (abstraction). Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 19 / 27

Order Management Process with Pools Example Extend the Order Management Process by including the Customer. The Cusomer initially places the order, and if everything goes fine, performs the payment when the invoice is received. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 20 / 27

Order Management Process with Pools Example Extend the Order Management Process by including the Customer. The Cusomer initially places the order, and if everything goes fine, performs the payment when the invoice is received. We can extend the Order Management Process by modeling that the Supplier contains two departments: Sales and Warehouse. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 20 / 27

Data BPMN is domain agnostic: it does not provide a data model nor a pre-defined language to query and manipulate data. Data Object Data object: unit of information. Can be associated to a state. Data Object Collection Data object representing a collection of items. Data Object [Object State] Data object reference: refers to a data object in some state. Data Object Input Input/output data required by a process when it starts. Data Object Output Data Store Data store: container for persisted data objects. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 21 / 27

Order Management Process with Data Artifacts Example Extend the Order Management Process by including the purchase order data object, used by the check stock activity and manipulated ( state update) when the order is rejected/confirmed. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 22 / 27

Order Management Process with Data Artifacts Example Extend the Order Management Process by including the purchase order data object, used by the check stock activity and manipulated ( state update) when the order is rejected/confirmed. It is also possible to use explicit state information. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 22 / 27

An Interesting Example Claim handling When a claim is received, it is registered. After registration, the claim is classified leading to two possible outcomes: simple or complex. If the claim is simple, the policy is checked. For complex claims, both the policy and the damage are checked independently. Can we model the example using the constructs seen so far? Can we model it in a compact way? Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 23 / 27

Inclusive Gateway Split: selects one or more paths depending on the (possibly overlapping) data conditions, or the user choice. The selected outgoing branches are followed in parallel. Join: synchronizes the activated branches. Non-local semantics. Intuitive in the case of block-structured models, cryptic in the general case. Can generate (apparently) paradoxical cases (see, e.g., vicious circles in EPCs). Many solutions provided in the literature. register claim classify claim complex or simple complex check policy check damage Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 24 / 27

Block-Structured Models - Intuition Only apparent graph-based structure. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 25 / 27

General Execution Semantics for Inclusive Gateway Remember: the semantics is non local! An Inclusive Gateway is activated if: At least one incoming Sequence Flow has at least one token and For every directed path formed by sequence flow that starts with a Sequence Flow f of the diagram that has a token, ends with an incoming Sequence Flow of the inclusive gateway that has no token, does not visit the Inclusive Gateway then there is also a directed path formed by Sequence Flow that starts with f, ends with an incoming Sequence Flow of the inclusive gateway that has a token, and does not visit the Inclusive Gateway. Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 26 / 27

Another Interesting Example Is this model correct? How can we fix it? identify variability specify integrated subsystems generate significant paths generate optimal path combination Marco Montali (unibz) DPM - 8a.BPMN Basics A.Y. 2014/2015 27 / 27