1 UML Profile for BPMN 2 Processes Conrad Bock DPG, MSID May 4, 2011
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
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
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
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)
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)
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)
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.
9
BPMN Processes
Usually internal to enterprises.
ReceiveOrder
FillOrder
DeliverOrder
CloseOrder
SendInvoice
ProcessPayment
10
BPMN Collaborations
Collaborations show message flows between participants.
Credit Agency
SearchInternalRecords
EvaluateCredit
Selle
r
CreditRequest
CreditResponse
CustomerOrder
OrderResponse
Buyer
Participant
Messageflow
Process
11
BPMN Conversations
Conversations group message flows.
BuyerS
elle
r
QuoteRequest
Quote
OrderRequest
OrderResponseShippingRequest
ShippingConfirmation
RequestingQuote
Shipper
HandlingOrder
Shipping Order
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
13
UML / SysML
Activities
Very similar to BPMN processes, but some notational and semantic differences.
ReceiveOrder
FillOrder
DeliverOrder
CloseOrder
SendInvoice
ProcessPayment
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
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
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.
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
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
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
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
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
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.
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