Part 2 of 3

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:

ShapeWhat It RepresentsMemory Aid
RectangleObject (thing that exists)"Boxy like a box—objects are things"
EllipseProcess (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:

  1. Procedural links — show how processes interact with objects (dynamic, time-dependent)
  2. 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)

LinkArrowDirectionMeaningOPL
Consumption─▶Object → ProcessProcess destroys object"P consumes O"
Result─▶Process → ObjectProcess creates object"P yields O"
Effect◀─▶Both waysProcess changes object"P affects O"

Enabling Links (Object → Process)

LinkSymbolMeaningOPL
Agent●───Human enables process"A handles P"
Instrument○───Thing enables process"P requires I"

Structural Links (Object ↔ Object)

LinkSymbolMeaningOPL
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:

  1. Create objects: Book (with states: available, checked out), Library Card, Patron, Loan Record
  2. Create the 'Checking Out' process
  3. Connect Patron as an agent (they handle the checkout)
  4. Show Book changing state from 'available' to 'checked out'
  5. Show Loan Record being created (result) by the process
  6. Bonus: Add a 'Returning' process that changes the book back to 'available'
Open Editor