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.