**Business Process Modeling Notation** - a graphical approach to modeling & representing business processes. BPMN is a standard by the [[Standards Groups]]. It is very descriptive and can be used to model very complicated processes. A good example, from [[Fundamentals of Business Process Management|Fundamentals of BPM]] book, illustrating the use of: - Labeled start & end event - Main 3 [[#Gateways]] - [[#Business Objects]] & stateful objects - Textual annotation (the left bracket syntax) ![[IMG_6187.jpg]] Part of this power comes at the cost of [[simplicity]], as there are **116 unique elements to the most-current standard** (2.0), which makes BPMN difficult to interpret, thereby undermining a primary value proposition for the technique. There are a couple different [[Modeling Purposes]], and BPMN sits in a bad spot. Unless you're building machine-interpretable BPMN flows, I don't really see value in learning anything but the absolute basics of BPMN. However, using a small subset of the standard in conjunction with an on-diagram legend could be a valid method for representing processes to those not well-versed in the language. BPMN is functionally similar to [[IDEF0]] and [[IDEF3]] from the [[IDEF]] family ([[IDEF]]), or [[Activity Diagrams]] from the world of [[UML]]/[[SysML]]. # High Value Symbology ## Control Flow Similar to learning to code, the first things shown to you in the [[Fundamentals of Business Process Management]] book is the basics of control flow. ### Gateways - Gateways exist to make **and**, **or**, and **xor** explicit when processes fork (or join) - Similar to [[XML]], gateways are used on opening & closing forks in the pathway - and their types must match[^1] ![[Pasted image 20250824222257.png]] ### Loops - Loops are drawn using **XOR**s and literally drawn _loops_ ![[IMG_1546.png]] ## Objects & Resources ### Business Objects - Physical and data artifacts may be input to a process or an output of a process - Unlike [[IDEF0]] there is no semantics as to the role of the needed input (e.g. no indication of its a mechanism that will endure or an input that will be consumed/modified) - When you include objects, BPMN diagrams become more like [[Data Flow Diagram|DFD Diagrams]] ### Resources (Swimlanes) - The only way BPMN represent what [[IDEF0]] calls [[IDEF0#Mechanisms]] are via Swimlanes (and pools[^2]) ## Sub-processes & Calls - [[Decomposition Understanding]] - The little boxed "+" indicates you could "drill into" the process which is defined elsewhere in this model - A boxed "+" and bold outline on the process indicates you can "drill into" the process but that it's owned by another model ![[Pasted image 20250824233415.png]] [^3] ## Annotations - Exist. Textual. Dotted line with left bracket. - Carry no semantic meaning - not interpretable by machines ## Events - Events are denoted with circles, often with [[Arbitrary Distinction|arbitrary symbols]] in them that carry a semantic but completely non-obvious meaning - Symbols cheat sheet / demonstration of uninuitiveness: ![[IMG_1547.jpeg|600]] ## Other Mechanisms Included - Alternative ways of depicting loops - Throwing & catching of exceptions - Activity timeout nomenclature (i.e. how one event should affect the execution of processes it occurs during) - Boundary events - placement of event markers on the bounding box of an activity (like a port in [[SysML]]) to indicate "if this event occurs during the execution of this process, follow these lines" - I don't mind this one. Seems useful. - "Compensation" in BPMN does not mean "payment", it's more like "make up for a thing that went wrong" **** # More ## Source - [BPMN Specification - Business Process Model and Notation](https://www.bpmn.org/) - [[Fundamentals of Business Process Management]] - https://camunda.com/bpmn/reference/ ## Related - [[UML]] - [[Diagram Types (index)]] [^1]: unless you hit a "end of process" in one of the forks before they re-join [^2]: which are just swimlanes. They don't get credit for both of these things. [^3]: Fun fact: in this note I included images using 4 separate techniques