Top Banner
1 UML Profile for BPMN 2 Processes Conrad Bock DPG, MSID May 4, 2011
23

UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

Apr 13, 2018

Download

Documents

nguyenthuan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

1

UML Profile for BPMN 2 Processes

Conrad BockDPG, MSIDMay 4, 2011

Page 2: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

2

OMG Model Architecture

Diagram

Graphics:– Circles– Lines– Rectangles

Domain terms:– Lathes, Feeders– Drying, Shaping

What happens:– Geometry changed.– Pieces mounted

onto machine.– Water removed.

Concrete syntax

Abstract syntax

Semantics

Standardized as Standardized as

Page 3: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

3

Enterprise Workflow (No Models)

People communicating with each other about the real world enterprise.– Using computers without modeling (beyond

typical office suites).

affectingobserving

communicating about

Real world enterprise

Page 4: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

4

Enterprise Workflow (Paper or Proprietary Electronic)

Using printed graphical models.– Or proprietary electronic exchange– BPMN 1.x

BPMNNotation(Concrete

Syntax)

BPMNNotation(Concrete

Syntax)

BPMNSemantics

BPMNSemantics

Page 5: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

5

Enterprise Workflow (Standard Electronic)

Graphics translated to domain terminology.

Metamodel / XSD(Abstract syntax)

Metamodel / XSD(Abstract syntax)

<?xml version="1.0" encoding="UTF-8"?><definitions id="def"

targetNamespace="http://www.example.org/ProcetypeLanguage="http://www.w3.org/2001/XMLSchexsi:schemaLocation="http://www.omg.org/bpmn20

<dataPath>tns:nextTopicId</dataPath></correlationPropertyBinding>

</correlationSubscription></process>

</definitions>

<?xml version="1.0" encoding="UTF-8"?><definitions id="def"

targetNamespace="http://www.example.org/ProcetypeLanguage="http://www.w3.org/2001/XMLSchexsi:schemaLocation="http://www.omg.org/bpmn20

<dataPath>tns:nextTopicId</dataPath></correlationPropertyBinding>

</correlationSubscription></process>

</definitions>

Interchange file(instances

of MM / XSD)

BPMNSemantics

BPMNSemantics

Network

BPMNNotation(Concrete

Syntax)

BPMNNotation(Concrete

Syntax)

Interchange file(instancesof MM / XSD)

Page 6: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

6

Automation Workflow

Machines directly affecting enterprise.

<?xml version="1.0" encoding="UTF-8"?><definitions id="def"

targetNamespace="http://www.example.org/ProcetypeLanguage="http://www.w3.org/2001/XMLSchexsi:schemaLocation="http://www.omg.org/bpmn20

<dataPath>tns:nextTopicId</dataPath></correlationPropertyBinding>

</correlationSubscription></process>

</definitions>

BPMNSemantics

Workflow or execution / automation engine

BPMNSemantics

BPMNNotation(Concrete

Syntax)

Metamodel / XSD(Abstract syntax)

Interchange file(instances

of MM / XSD)

Page 7: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

7

Equivalent Semantics

Enterprise works the same regardless of metamodel.

Instances of BPMN 2MM / XSD

Instances of the UML / SysML MM with profile applied.

UML / SysML semanticsadapted for BPMN

BPMN semantics

BPMNNotation(Concrete

Syntax)

Page 8: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

8

OMG Requirements

Mapping between BPMN 2 semantics and the profiled UML / SyML

semantics.

XSLT and QVT transforms between BPMN and profiled UML interchange formats (abstract syntax).

Scope:– Internal enterprise processes.– Interactions between enterprises.

Page 9: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

9

BPMN Processes

Usually internal to enterprises.

ReceiveOrder

FillOrder

DeliverOrder

CloseOrder

SendInvoice

ProcessPayment

Page 10: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

10

BPMN Collaborations

Collaborations show message flows between participants.

Credit Agency

SearchInternalRecords

EvaluateCredit

Selle

r

CreditRequest

CreditResponse

CustomerOrder

OrderResponse

Buyer

Participant

Messageflow

Process

Page 11: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

11

BPMN Conversations

Conversations group message flows.

BuyerS

elle

r

QuoteRequest

Quote

OrderRequest

OrderResponseShippingRequest

ShippingConfirmation

RequestingQuote

Shipper

HandlingOrder

Shipping Order

Page 12: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

12

BPMN Conversations

Collaborations can show only conversations– No processes or message flow.– Informally called a “conversation diagram”.

Supplier

NegotiateOrder

ScheduleShipmentPlan Delivery

Plan Shipment ChoosePickupLocation

Factory

Consignee

Consolidator Shipper

Page 13: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

13

UML / SysML

Activities

Very similar to BPMN processes, but some notational and semantic differences.

ReceiveOrder

FillOrder

DeliverOrder

CloseOrder

SendInvoice

ProcessPayment

Page 14: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

14

Activities ≠

BPMN Collaborations

Activities model a single process.– Not interactions between processes.– Same for BPMN processes.

ReceiveOrder

FillOrder

DeliverOrder

CloseOrder

SendInvoice

ProcessPayment

«ext

erna

l»B

ack

Offi

ceFa

ctor

y

Page 15: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

15

UML Collaborations

Similar to conversation-only BPMN Collaboration.

Does not have notation for activities inside collaboration roles.– But the UML metamodel supports roles referring to

activities, so the profile can support BPMN notation.

Supplier

ChoosePickup Location

Factory Consignee

Consolidator Shipper

NegotiateOrder

Plan Delivery

ScheduleShipment

PlanShipment

CollaborationRole

CollaborationUses

Page 16: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

16

BPMN Processes in Profile

Stereotypes introduced generally, then restricted.– Process stereotype applies to UML Activity, gobal

task stereotypes to UML OpaqueBehavior.

Semantic constraint:– isClosed

prevents actions taken that are not in the model.

Application constraints: BPMN specifies how the various global tasks are to be used.– Affect modeler, not language semantics.

Page 17: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

17

BPMN Activities in Profile

Syntactic extension:– BPMN supports properties on activities.– Profile extends UML actions with classes.

Semantic constraint:– Properties of AdHocProcesses

constrain execution of UML Activities that do not have flows between actions.

Renaming: UML Image => BPMN Rendering

Page 18: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

18

BPMN Activities in Profile

Semantic modification:– BPMN normally starts activities when one

incoming sequence flow provides input.– UML normally starts actions when all incoming

control flows provide input.– BPMNActivity

stereotype modifies UML

semantics for the models it is applied to.

DeliverOrder

CloseOrder

ProcessPayment Close Order will happen

twice in BPMN, once in UML

Page 19: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

19

BPMN Metamodel Navigation

Stereotypes have properties for BPMN derived from UML properties.

Can navigate a profiled UML model as if it were a BPMN model.

flowElements properties

«metaclass»Process

«metaclass»FlowElement

«metaclass»BPMN::Property

node ownedAttribute

«metaclass»Activity

«metaclass»ActivityNode

«metaclass»UML::Property

«metaclass»ActivityEdge

edge

«stereotype»Process

/ properties/ flowElements

Page 20: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

20

Other Process ElementsBPMN UML

Catch EventsAccept Event Actions,Initial Nodes

Throw EventsCall Operation Actions,Activity Final Nodes

Event Definitions Events

Exclusive Gateways DecisionNodes, MergeNodes

Parallel, Complex, Inclusive Gateways JoinNodes, ForkNodes

Event-based Gateways ForkNodes

+ Interruptible Regions

Data Inputs, Data Outputs Input Pins, Activity Parameter Nodes, Output Pins

Data Associations Object Flows

Data Objects Data Store Nodes

Input Sets, Output Sets Parameter Sets

Lanes, LaneSets Activity Partitions

Resources, Item Definitions Classes

Resource Roles / Parameters / Bindings Properties, Slots

Eve

nts

Gat

eway

sD

ata

Lane

s&

Res

ourc

es

Page 21: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

21

Collaborations in Profile

UML Collaborations are Classifiers.

Collaboration roles are properties.

Supplier

NegotiateOrder

ScheduleShipmentPlan Delivery

Plan ShipmentChoosePickupLocation

Factory

Consignee

Consolidator Shipper

Supplier

ChoosePickup Location

FactoryConsignee

Consolidator Shipper

NegotiateOrder

Plan Delivery

ScheduleShipment

PlanShipment

Supply Chainfactorysupplierconsigneeconsolidatorshipper

UML Collaborationin underlying model

Page 22: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

22

Collaborations in Profile

Participants are UML Properties.– Typed by Classes or Activities.

Message Flow are constrained UML Information Flows.– Link actions in separate activities of the participants.

Conversations are UML CollaborationUses, or Information Flow is locally defind.

Page 23: UML Profile for BPMN 2 Processes - Conrad Bock · 18. BPMN Activities in Profile Semantic modification: – BPMN normally starts activities when one incoming sequence flow provides

23

Summary

Profile extends UML / SysML

with BPMN

terminology, syntax, and equivalent semantics.– Profiled UML / SysML

model can be navigated as if

it were a BPMN model.– UML / SysML

semantics is constrained, extended or

modified as needed for equivalence.

BPMN Processes => UML / SysML

Activities

BPMN Collaborations => UML Collaborations

BPMN Message Flow => UML / SysML

Information Flow