Appearance
Links and lanes
Nodes on their own are a list. Links turn them into a graph, and lanes say who owns each part of it.
Next
NEXT defines flows, links, between two nodes. If the next node is not defined, Instant Process will automatically select the next node in the text to connect to.
Input
pml
'Node 1' NEXT 'Node 2'The target is a node identifier, either implicit (a description) or explicit (a token):
pml
ACTIVITY 'Task' NEXT 'Node 1' # implicit reference
ACTIVITY 'Task' NEXT OtherNode # explicit referenceLeave the target blank and the connection lands on the next node in the text:
pml
ACTIVITY 'Task' NEXT
ACTIVITY 'Next Task' # the previous line connects here implicitlyYou can label a connection by adding a second string after the target identifier. Named links are only available when NEXT is explicit:
pml
ACTIVITY 'Task' NEXT 'Node 1' 'Description'
ACTIVITY 'Task' NEXT OtherNode 'Description'Input suggestion
None.
Icon
And
AND allows for linking the same node to multiple following nodes.
Input
pml
ACTIVITY 'Task' NEXT 'Node 1' AND 'Node 2'Targets can mix implicit and explicit identifiers freely:
pml
ACTIVITY 'Task' NEXT OtherNode AND OtherNode2
ACTIVITY Task_A 'Task' NEXT OtherNode AND 'Node 2'Gateways especially rely on AND to express branching:
pml
GATEWAY 'Choice' NEXT 'Node 1' 'Option 1' AND 'Node 2' 'Option 2'Input suggestion
None.
Icon
None.
Lane
LANE defines the swimming lanes of a process. Nodes placed after a LANE declaration belong to that lane until a new LANE declaration is encountered. Lanes make it easy to see who does what in a process.
In BPMN lanes are drawn as horizontal bands inside a pool. Each lane is labelled with its actor or role, and every node that belongs to that lane is rendered inside its band. Sequence flow may cross lane boundaries freely: lanes are a visual partitioning of responsibility, not a constraint on the flow itself.
Input
pml
LANE NAME_ACTORA bare lane name must be a single term. To use a name with spaces, wrap it in single quotes:
pml
LANE 'Lane 1'Input suggestion
None.
Icon
Usage
Declare a lane, then list the nodes that belong to it. Introducing another LANE switches the following nodes to the new lane.
pml
LANE Customer
START 'Arrive' NEXT
ACTIVITY 'Place order' NEXT
LANE Staff
ACTIVITY 'Process order' NEXT
END 'Order complete'In this example, Arrive and Place order sit in the Customer lane while Process order and Order complete sit in the Staff lane. Flow continues across lane boundaries as usual via NEXT.
Notes
- A lane identifier follows the same identifier rules as any other node: it may be implicit (derived from the label) or explicit.
- Lane names should describe an actor or role. Conventionally they use uppercase or underscore_case, but any valid identifier works.
- A later node returns to an earlier lane only when that lane is declared again.
- Processes without any
LANEdeclaration are rendered without swimlanes. - A lane that holds no nodes is rendered as an empty band, in declaration order, with its name in the band header.