Language Overview
Experience Notation is a plain-text, structured language for modelling human experiences across systems, services and scenarios. It is designed to be both human-friendly and machine-parseable, offering a formal yet flexible way to define events, actions, personas, and contextual dynamics.
Purpose
The language is built to:
- Capture the complexity of human experience in a consistent format
- Support simulation, analysis, testing, and design
- Enable collaboration across disciplines (UX, AI, policy, research)
Experience Notation bridges the gap between unstructured user stories and fully automated simulation or verification frameworks.
Syntax Style
Experience Notation uses indentation-based, declarative syntax. It is designed to resemble readable outline-style prose:
Event: Login Attempt
Step: Enter password
User: Returning User
Action: Types incorrect password
UI-Element: Login form
Conditional:
IF: Password incorrect
THEN: Show error
ELSE: Proceed to dashboard
The syntax follows rules defined in an EBNF grammar.
File Header
Each .expn
file starts with a required header block:
EBNF-Version: 1.1
Syntax-Version: 1.0
Journey-Title: Multi-Agent Access Control
Journey-Description: Interaction flow involving multiple user roles
These fields define which syntax and grammar version is used and provide a description of the journey being modelled.
Hierarchy and Structure
The language is structured hierarchically:
- A journey contains one or more Events
- Each Event contains one or more Steps, optionally Personas, Disruptions, Parallel Events, etc.
- Each Step contains properties like
User
,Action
,UI-Element
, and optionallyConditional
,Metrics
, andTags
Event: Checkout
Step: Add Item to Basket
User: Shopper
Action: Clicks add button
UI-Element: Product Page
Extensibility
Experience Notation allows:
- Inline and external
Persona
definitions - Metadata via
Meta:
andTag:
- Conditional branches (
IF
,THEN
,ELSE
) - Cross-references via
Ref:
andID:
- Support for context modelling (
Environmental-Factors
,Disruption
,Parallel-Events
)
Validity and Compatibility
Experience Notation files are valid when:
- They conform to the EBNF grammar
- They pass structural validation against the JSON Schema
Tools and validators (in progress) will allow automated checking and transformation of .expn
files.
Continue to EBNF Grammar to see the formal structure.