Skip to main content

DSL Reference

OnlineWardleyMaps uses a Domain Specific Language (DSL) that enables you to create Wardley Maps using text. This reference guide covers all the available DSL commands and their syntax.

Map Components​

Components​

Components are the basic building blocks of a Wardley Map. They represent the various elements in your value chain.

component Customer [1, 0.4]
component Server [0.5, 0.8]
component Database [0.3, 0.6]

The numbers in brackets represent [visibility, maturity]:

  • Visibility: 0 (invisible) to 1 (visible)
  • Maturity: 0 (genesis) to 1 (commodity)
Tip

You can omit the coordinates to use default values: component Database

Evolution and Inertia​

Mark components as evolving or facing inertia:

component Authentication [0.9, 0.1] inertia
component Database [0.3, 0.6]
evolve Database 0.8

The number after evolve indicates the target maturity.

Pipelines​

Group related components into pipelines:

pipeline Payment [0.05, 0.95]
component Authentication [0.3, 0.6]
component PaymentGateway [0.3, 0.8]

The numbers represent [start maturity, end maturity] of the pipeline.

note

Components within the maturity range will be grouped in the pipeline

Relationships​

Create connections between components:

Customer->Server
Database+>Server
Authentication->PaymentGateway; Secure connection
  • -> Basic link
  • +> Flow link (with arrow)
  • Add context after ;

Submaps​

Create nested maps or references to other maps:

submap OrderSystem [0.11, 0.31]
submap PaymentFlow [0.83, 0.50] url(submapUrl)
url submapUrl [https://onlinewardleymaps.com/#clone:qu4VDDQryoZEnuw0ZZ]
Positioning

Add label positioning with label [x, y]:

submap OrderSystem [0.11, 0.31] label [-15, 30]

Annotations​

Notes​

Add text notes to your map:

note This is a map note [0.9, 0.1]
note Technical debt area [0.2, 0.8]

Annotations​

Create numbered annotations with multiple points:

annotation 1 [[.38, .4],[0.44, 0.33]] Standardising power allows evolution
annotation 2 [[.5, .5]] Critical decision point

Map Settings​

Size and Style​

Configure map dimensions and appearance:

size [1024, 768]
style wardley

Accelerators and Deaccelerators​

Mark areas of acceleration or deceleration:

accelerator innovation [0.2, 0.6]
deaccelerator legacy [0.8, 0.2]

URLs and Anchors​

Define reference points and links:

url Documentation [https://onlinewardleymaps.com/docs]
anchor ReferencePoint [0.9, 0.1]

Best Practices​

  1. Organisation: Group related components together using pipelines
  2. Evolution: Use evolve to show planned changes
  3. Context: Add notes to explain complex relationships
  4. Visibility: Place user needs near the top (high visibility)
  5. Maturity: Align components along the x-axis based on their evolution stage
Common Mistakes
  • Avoid overlapping components by spacing coordinates
  • Don't mix up visibility (y) and maturity (x) coordinates
  • Remember to define URLs before referencing them in submaps

Example Map​

Here's a complete example combining various elements:

title Payment System Map
style wardley

component Customer [0.95, 0.2]
component Website [0.8, 0.6]
component Payment [0.6, 0.8]
component Database [0.4, 0.7]

pipeline Processing [0.5, 0.9]
component Authentication [0.6, 0.6] inertia
component Gateway [0.6, 0.8]
evolve Gateway 0.9

Customer->Website
Website->Payment
Payment->Authentication
Authentication->Gateway
Gateway->Database

note Legacy system [0.4, 0.7]
annotation 1 [[0.6, 0.8]] Modernisation needed

submap PaymentFlow [0.7, 0.5] label [-10, 20]