Model types

Context Map

A Context Map shows the bounded contexts in your system and, more importantly, the relationships between them. It is the strategic view: who depends on whom, who translates, and where the friction is.

A Context Map with several bounded contexts connected by labeled relationships.
A Context Map with several bounded contexts connected by labeled relationships.

The elements

Element Symbol What it is
Bounded Context Green ellipse A boundary within which a model is relevant and its language is consistent.
Big Ball of Mud Brown ellipse A legacy or tangled area with no coherent model. Naming it is not an insult; it calls out the need to integrate cautiously.
Bubble Context Green bubbles A small, clean context carved out inside a Big Ball of Mud. Only available while a Big Ball of Mud is selected.
Interchange Context Purple ellipse A context that exists to mediate between others.
Note White caption Commentary on a part of a model.

Relationships

Drag a line from one context to another to draw a relationship, then classify it. Each pattern has its own color and line style, and carries the badge on the edge:

Pattern Badge Meaning
Partnership P Two teams succeed or fail together and coordinate closely.
Shared Kernel SK A deliberately shared subset of the model; owned by one team but changed only upon agreement by sharers.
Customer / Supplier CS Downstream team's needs are addressed at the upstream team's discretion.
  Customer side C Customer is downstream with the possibility to negotiate model changes by the upstream.
  Supplier side S Supplier is upstream with the power to veto the customer's requests or to deliver some/all on their own schedule.
Conformist CF Downstream passively adopts the upstream model as-is, without an attempt to translate.
Anticorruption Layer AcL Downstream defensively translates the upstream model into its own terms, protecting itself from model corruption.
Open Host Service OHS Provider publishes a well-defined service for all integrators.
Published Language PL A shared, documented interchange language; may be an externally established standard or internally defined.

A single relationship can carry more than one pattern; Open Host Service together with Published Language is the common pair. Directional patterns can be reversed when you drew the edge the other way round.

The relationship editor on a Context Map edge, with the pattern checkboxes.
The relationship editor on a Context Map edge, with the pattern checkboxes.

Where a Context Map comes from

You can draw one from scratch, but most start life generated from an EventStorming model: each subdomain becomes a bounded context with its elements attached. The toolbar then carries a button back to the source model, and in manual sync mode a second button for reviewing the changes that are waiting to be applied.

Each bounded context also holds a behavior model: the commands, events, and policies inside it. That list is the union of what EventStorming contributed and what a Domain Model built from this context contributed, so the two sources add to it rather than overwriting each other.

Keyboard

Key Symbol Element
B Green ellipse Bounded Context
M Brown ellipse Big Ball of Mud
U Green bubbles Bubble Context (with a Big Ball of Mud selected)
I Purple ellipse Interchange Context
T White caption Note

Going deeper

From a bounded context you can create a Domain Model to work out the tactical design inside the boundary.