OPM Visual Notation
In Part 1, you learned that everything is either an Object or a Process. Now let's learn how to actually draw these things—and more importantly, how to connect them.
The Basic Shapes (Your Alphabet)
OPM uses a minimal visual vocabulary. Once you know these shapes, you can read any OPM diagram:
| Shape | What It Represents | Memory Aid |
|---|---|---|
| Rectangle | Object (thing that exists) | "Boxy like a box—objects are things" |
| Ellipse | Process (thing that happens) | "Smooth and flowing—like time passing" |
| Rounded rectangle (inside object) | State (condition of an object) | "A mini-container inside the object" |
That's your entire shape vocabulary. Three shapes.
Object (rectangle with state) and Process (ellipse) — the two fundamental OPM shapes
Connections: Where the Magic Happens
Shapes by themselves don't tell you much. The connections between shapes—the lines and arrows—are where you express how your system actually works.
OPM has two categories of connections:
- Procedural links — show how processes interact with objects (dynamic, time-dependent)
- Structural links — show how objects relate to each other (static, persistent)
Let's start with procedural links because they're the most immediately useful.
Procedural Links: What Happens to What
The Big Three: Consumption, Result, and Effect
These are the transforming links—they show how processes change objects.
1. Consumption Link
- Visual: Arrow with filled head pointing from object to process
- Meaning: The process uses up the object (destroys it)
- OPL: "Processing consumes Object."
Consumption link: Water is consumed by Boiling
OPL:
Boiling consumes Water.
2. Result Link
- Visual: Arrow with filled head pointing from process to object
- Meaning: The process creates the object (brings it into existence)
- OPL: "Processing yields Object."
Result link: Writing yields Report
OPL:
Writing yields Report.
3. Effect Link
- Visual: Arrow with filled heads in both directions (bidirectional)
- Meaning: The process changes the object's state (doesn't destroy or create it)
- OPL: "Processing affects Object."
Effect link: Cycling changes Traffic Light from red to green
OPL:
Cycling changes Traffic Light from red to green.
When you want to be specific about which states, you can draw the arrows to/from particular states—as shown above.
The Enablers: Agent and Instrument
Not everything that participates in a process gets transformed. Some things enable the process without being changed. These are the enabling links.
Agent Link (for humans)
- Visual: Line with a filled (black) circle at the object end
- Meaning: A human who makes the process happen
- OPL: "Agent handles Processing."
Agent link: Welder handles Welding
OPL:
Welder handles Welding.
Instrument Link (for non-humans)
- Visual: Line with an empty (white) circle at the object end
- Meaning: A thing that's needed for the process but isn't consumed
- OPL: "Processing requires Instrument."
Instrument link: Baking requires Oven
OPL:
Baking requires Oven.
The key difference: Agents and instruments are not transformed. They're there before the process, they're there during, and they're there after—unchanged.
A Complete Example: Making Toast
Let's put it all together with a real example.
The System: Making toast
Objects:
Bread(consumed)Toast(created/result)Toaster(instrument)Person(agent)
Process:
Toasting
Complete example: Making toast with all link types
OPL:
Person handles Toasting. Toasting requires Toaster. Toasting consumes Bread. Toasting yields Toast.
Look at that! In one diagram and four sentences, you've captured:
- Who does it (Person)
- What tool is needed (Toaster)
- What input is used up (Bread)
- What output is created (Toast)
Structural Links: How Objects Relate
Now let's look at the static relationships between objects—things that are true regardless of any process running.
OPM has four fundamental structural relationships:
1. Aggregation (Whole → Parts)
- Meaning: An object is made up of other objects
- Visual: Triangle (filled/black) pointing to the whole
- OPL: "Whole consists of Part1, Part2, and Part3."
Example: Computer consists of CPU, Memory, and Disk.
2. Generalization (General → Specialized)
- Meaning: Types of something
- Visual: Triangle (empty/white) pointing to the general
- OPL: "Type1, Type2, and Type3 are General."
Example: Car, Truck, and Boat are Vehicles.
3. Exhibition (Exhibitor → Attributes)
- Meaning: An object has characteristics/attributes
- Visual: Nested triangles (empty with filled inside)
- OPL: "Object exhibits Attribute1 and Attribute2."
Example: Person exhibits Age and Height.
4. Classification (Class → Instances)
- Meaning: Specific examples of a pattern
- Visual: Triangle with circle inside
- OPL: "Instance1 and Instance2 are instances of Class."
Example: France, Japan, and Brazil are instances of Country.
Visual Summary: The Link Cheat Sheet
Here's your reference card for all the links:
Transforming Links (Process ↔ Object)
| Link | Arrow | Direction | Meaning | OPL |
|---|---|---|---|---|
| Consumption | ─▶ | Object → Process | Process destroys object | "P consumes O" |
| Result | ─▶ | Process → Object | Process creates object | "P yields O" |
| Effect | ◀─▶ | Both ways | Process changes object | "P affects O" |
Enabling Links (Object → Process)
| Link | Symbol | Meaning | OPL |
|---|---|---|---|
| Agent | ●─── | Human enables process | "A handles P" |
| Instrument | ○─── | Thing enables process | "P requires I" |
Structural Links (Object ↔ Object)
| Link | Symbol | Meaning | OPL |
|---|---|---|---|
| Aggregation | ▲ (filled) | Whole has parts | "W consists of P1, P2" |
| Generalization | △ (empty) | General has types | "T1, T2 are G" |
| Exhibition | ⊳ (nested) | Thing has attributes | "O exhibits A1, A2" |
| Classification | ⊙ (with dot) | Class has instances | "I1, I2 are instances of C" |
Physical vs. Informatical: One More Distinction
OPM lets you mark whether something is physical (tangible, exists in the real world) or informatical (logical, exists as information).
Visual cue: Physical things have a shadow effect (3D appearance)
This matters when you're modeling systems that span both worlds—like an IoT system where digital signals control physical actuators.
Environmental Things: What's Outside Your System?
Sometimes you need to show things that affect your system but aren't part of it—environmental objects and processes.
Visual cue: Dashed border
Environmental things are outside your control—you can't design or change them, but they can influence or be influenced by your system.
What You've Learned
You now know the full visual vocabulary of OPM:
Shapes:
- Rectangle = Object
- Ellipse = Process
- Rounded rectangle (inside object) = State
Procedural Links:
- Consumption: Object ─▶ Process (consumed)
- Result: Process ─▶ Object (created)
- Effect: Object ◀─▶ Process (changed)
- Agent: Human ●─── Process (handles)
- Instrument: Thing ○─── Process (requires)
Structural Links:
- Aggregation (parts)
- Generalization (types)
- Exhibition (attributes)
- Classification (instances)
Modifiers:
- Shadow = Physical
- Dashed = Environmental
In Part 3, you'll learn how to manage complexity:
- In-zooming into processes to show sub-steps
- Organizing large models across multiple diagrams
- Control flow for complex sequences and conditions
- Best practices for creating clear, useful models
Pro tip: You don't need fancy software to practice OPM. A whiteboard, paper, or any drawing tool works. The power is in the thinking, not the tool.
Practice Exercises
The Visual Vocabulary
OPM uses just three shapes: Rectangles for objects, Ellipses for processes, and Rounded rectangles (inside objects) for states. The connections between them — the arrows and symbols — express how they interact.
Quick Check
You want to show that 'Baking' uses up 'Flour'. Which link type should you use?
Quick Check
A 'Chef' operates the 'Cooking' process. Which link type represents this?
Quick Check
You want to show that 'Car' has types 'Sedan', 'SUV', and 'Truck'. Which structural link should you use?
Quick Check
A 'Traffic Light' changes from 'red' to 'green' during the 'Cycling' process. Is the Traffic Light consumed or affected?
Try It Yourself
Model a Library Book Checkout
Create a complete OPM diagram showing the checkout process at a library.
Steps to follow:
- Create objects: Book (with states: available, checked out), Library Card, Patron, Loan Record
- Create the 'Checking Out' process
- Connect Patron as an agent (they handle the checkout)
- Show Book changing state from 'available' to 'checked out'
- Show Loan Record being created (result) by the process
- Bonus: Add a 'Returning' process that changes the book back to 'available'