Archyno
BPMNModelling practice

BPMN vs UML activity diagram

Both draw work in sequence, both use a diamond for a decision, and for a long stretch of any process the two diagrams are the same picture. Four things separate them, and only one of them is about notation.

8 min readBPMN 2.07 of 7

The short answer

  • Both notations move a token along a flow, so the control-flow half of the two diagrams is a near-exact match.
  • The real divergence is the pool: BPMN forbids sequence flow across a participant boundary, and UML partitions have no such rule.
  • BPMN's boundary events make interruption a first-class mark; UML expresses the same idea through interruptible regions, which almost nobody draws.
  • Only BPMN has an execution story. If the diagram is going to a process engine, the choice has already been made for you.

01The same picture, drawn twice#

Start with what is not in dispute. Both notations describe a token travelling along a flow: it leaves a start, passes through pieces of work, splits at a branch, waits at a join and eventually stops. That model is inherited from the same place in both cases, and it is why the two diagrams of a simple approval process are recognisably the same drawing with different furniture.

ElementNotationWhat it means
A unit of workRounded rectangle in bothA BPMN task and a UML action are the same idea. BPMN adds a marker for the kind of work - user, service, manual - which UML leaves to the name.
An exclusive branchDiamond in bothBPMN draws an X inside it and UML leaves it empty, but the semantics match: exactly one outgoing path is taken, and the conditions are on the edges.
ParallelismDiamond with a plus, or a thick barBPMN's parallel gateway and UML's fork and join bars mean the same thing. This is the one shape difference a reader actually stumbles over.
The endThick circle, or a filled bullseyeBoth distinguish "this path is finished" from "the whole process is finished", and in both notations that distinction is the one people get wrong.

If your process is a straight line with two decisions in it, the comparison stops here and you should draw whichever one your readers already know. The differences below only start to bite once participants, interruptions or automation enter the picture - which, admittedly, is most real processes.

02Where the two genuinely differ#

1. The pool is a rule, not a label. This is the difference that matters most and is noticed least. A UML activity partition says who performs an action and nothing more, so control flow crosses partition boundaries as freely as it crosses anything else. A BPMN pool is a whole separate participant with its own process, and BPMN forbids sequence flow from crossing it: interaction between pools has to be a message flow. That single rule is why a BPMN diagram of two organisations is a statement about their independence, while the UML equivalent is a statement about staffing.

2. Interruption is first class in BPMN. Attach a boundary event to a task and you have said, in one mark, that this work can be cut short by a timer, an error or an incoming message - and whether the original path continues afterwards. UML can express the same thing with an interruptible activity region and an accepting event action, but the construct is rarely taught, rarely drawn and rarely read correctly. In practice, if the process is full of escalations and timeouts, BPMN will draw it in a third of the ink. The event vocabulary is most of what you are buying.

3. UML sits inside a larger model. An activity diagram shares its model with the class diagram beside it, so an action can consume an object of a type that is defined elsewhere and a tool can check that the type exists. BPMN has data objects, but they are process-local by design and carry nothing like a class model behind them. If the process description has to line up with a system design, that shared vocabulary is worth more than any notation feature.

4. Only BPMN is executable. BPMN 2.0 defines an XML serialization that workflow engines consume directly, which is why the same file can be a picture for the business and a deployment artefact for engineering. UML has fUML, an executable subset with defined semantics, and almost no engine that takes it. Treat this as the one hard constraint on the list: if there is an engine at the end of the pipeline, the notation is BPMN and the rest of this article is background.

03Which to draw#

The decision is nearly always made by the reader rather than by the process. Both notations can express any process you are likely to draw; only one of them will be read on sight by the people who have to approve it.

Reach for it when

  • The readers are business people, and especially if a process consultancy or a BA course has already taught them BPMN.
  • The process crosses organisational boundaries and their independence is part of the point.
  • Timers, escalations, cancellations and message-triggered interruptions are the substance of the process.
  • The diagram is going to a process engine, now or plausibly later.

Reach for something else when

  • The process is internal to one system and the readers are engineers who already read UML.
  • The steps have to line up with types, operations or components that are defined in the same model.
  • The diagram is one of a dozen views of a system and consistency across them matters more than fluency in it.
  • You need the whole thing in one exchangeable model file rather than one process at a time.

Where the reader is genuinely mixed - and on a project of any size they usually are - draw the process once in BPMN for the people who own it, and keep the activity diagram for the parts of the flow that are really algorithm rather than process. That split follows the audience instead of fighting it, and it is much easier to defend in review than a single diagram that half the room cannot read.

04Moving between them#

Conversions in either direction are routine, and the honest way to do one is to decide in advance what you are willing to lose. Going from BPMN to UML, the control flow transfers almost perfectly: tasks become actions, exclusive gateways become decision and merge nodes, parallel gateways become forks and joins, and the gateway rules map one for one. Everything about participants and events is what you give up.

Going the other way, the losses are smaller but the additions are work: BPMN will want a start event, an end event and a pool for every actor you had modelled as a partition, and it will refuse to let sequence flow cross those pools. That refusal is usually where the exercise pays for itself, because it forces a question the activity diagram let you avoid - are these one process or two?

Whichever direction you go, the redraw is the expensive part, and it is the part a model-backed tool removes: keep the participants and the work as model elements and the second view stops being a second drawing. If you want to see the difference rather than read about it, the BPMN starter template opens a pool-and-lane process with the events already in place, and the fifteen-second demo hands back a real file at the end of it.

In one line each

  1. 01The control-flow half of the two notations is effectively the same diagram; do not choose on shapes.
  2. 02A BPMN pool forbids sequence flow across its boundary. A UML partition does not. That is the deepest difference between them.
  3. 03Boundary events make BPMN much cheaper for processes full of timeouts, escalations and cancellations.
  4. 04An activity diagram is worth more when the process has to agree with a class model beside it.
  5. 05If an engine has to run it, the answer is BPMN, and nothing else on this list applies.

05Common questions#

Can a UML activity diagram be executed by a process engine?

Not in the way a BPMN process can. There is an executable subset of UML called fUML with defined semantics, but almost no commercial workflow engine takes it as a deployment target, whereas BPMN 2.0 XML is what engines like Camunda, Flowable and Zeebe read directly. If execution is the goal, treat this as settled rather than as a preference.

Do BPMN pools mean the same thing as activity diagram partitions?

No, and this is the difference that catches people. A UML partition only says who performs an action, and control flow crosses partitions freely. A BPMN pool is a separate participant with its own process, and sequence flow may not cross its boundary at all - only message flow may. A pool is therefore a much stronger statement than a swimlane.

Can a BPMN process be converted into a UML activity diagram?

The control-flow skeleton converts cleanly: tasks become actions, exclusive gateways become decision nodes, parallel gateways become forks and joins. What does not survive is everything BPMN says about participants and events - pools collapse into partitions, message flows become ordinary edges, and boundary events have no direct equivalent at all.

Which notation do business analysts expect to see?

BPMN, in almost every organisation that has a process function at all. It is the notation taught on business analysis courses and the one process consultancies deliver in, so it arrives already readable. A UML activity diagram in the same meeting is usually legible to the same people, but it reads as an engineering artefact rather than as a process document.

In this series

Related reading

All articles