Skip to main content

Building blocks and concepts

How it works

The workbench enables design-driven development through an integrated workflow that transforms architectural intent into machine-readable specifications, powering AI-assisted delivery. The diagram below illustrates this end-to-end process:

Illustration how workbench works

The Workflow

Modeling Profiles (Design Vocabulary)

Multiple modeling profiles define the vocabulary for different concerns, e.g.:

  • C4 Architecture Modeling (@1.1.0): Actors, Systems, Containers, Components
  • Domain-Driven Design (@2.0.0): Domains, Aggregates, Commands, Events
  • User Story Mapping (@0.2.0): User Activity, Feature, User Story
  • BIAN (@1.0.0): Control Record, Behaviour Qualifier

Each profile is versioned independently and provides specific element types and relationships for its domain.

Project Baseline (Configuration Package)

The project baseline packages everything needed for implementation, e.g.:

  • Project Baseline: Domain Services (Java/Quarkus) @1.1.0
  • UI Component (React) @1.1.0

The baseline includes Recipes that guide implementation:

  • Coding Guidelines
  • Technology definitions
  • Project dependencies
  • Implementation patterns
  • Commands & Workflows

These recipes are "specified based on" the modeling profiles, ensuring implementation aligns with design vocabulary.

Coding Assistant (AI-Powered Implementation)

The coding assistant reads the recipes and uses them to generate implementation. The assistant has access to:

  • All design specifications from the modeling profiles
  • Implementation guidance from the recipes
  • Project-specific patterns and standards

Development Project (Generated Code)

The development project (Domain Services Java/Quarkus @1.1.0) contains:

  • Business Logic: Generated from domain models and specifications
  • Implementation: Code that reflects the architectural decisions and patterns

The coding assistant "implements" the code based on the complete context provided by profiles, baselines, and recipes.

This creates a continuous flow from architectural intent (profiles) through structured guidance (baselines and recipes) to working code (implementation), with AI coding assistants bridging the gap between design and delivery.

Building Blocks

The workbench is built on several key components that work together to enable design-driven development:

Open Modeling Language (OML)

The modeling vocabulary that defines what can be modeled in projects. OML uses modeling configurations composed of versioned, shareable profiles.

Profiles

Cohesive sets of vocabulary for specific concerns or domains (e.g., C4, DDD, Event Storming). Each profile defines element types, relationship types, properties, and validations.

Baselines

Comprehensive configuration packages that define the complete modeling environment for projects, including OML configurations, system definitions, recipes, and documentation.

Recipes

Implementation guidance including coding guidelines, technology definitions, implementation patterns, commands, and workflows. Recipes are committed to Git repositories and picked up by coding assistants as skills, commands, and rules.

Customization

Organizations can create custom profiles, baselines, and recipes tailored to their specific needs, standards, and technology choices.