Skip to content

5. Language Architecture

Kirill Kovtun edited this page Jun 11, 2026 · 3 revisions

English | Русский

English

Language Architecture

ORBIT is built around a simple architecture that separates models from their representations.

A model is described using a domain-specific grammar, validated against its specification, and then transformed into one or more representations.

Architecture Overview

ORBIT Document
        ↓
Diagram Type
        ↓
Domain Grammar
        ↓
Model
        ↓
Validation
        ↓
Representation

ORBIT Document

An ORBIT document is a text file that contains the definition of a single model.

An ORBIT document is the primary source of information and serves as the authoritative definition of the model.


Diagram Type

Every ORBIT document belongs to a specific diagram type.

The diagram type defines the purpose of the model and determines which grammar and validation rules apply.

Examples include:

  • Database Schema
  • Flowchart
  • Roadmap
  • Customer Journey Map
  • SWOT
  • Data Lineage

Domain Grammar

Each diagram type provides its own specialized grammar.

The grammar defines:

  • Available elements
  • Available relationships
  • Supported attributes
  • Structural rules

Different diagram types may use completely different concepts while remaining part of the same ORBIT ecosystem.


Model

A model is the structured result produced from a valid ORBIT document.

The model contains domain information independent of any visual representation.

The model is the source of truth for all derived outputs.


Validation

Before a model can be represented, it must be validated.

Validation ensures that:

  • The document follows grammar rules
  • Required information is present
  • Relationships are valid
  • Constraints are satisfied
  • The model is internally consistent

Invalid models must not produce representations.


Representation

Representations are generated from validated models.

A single model may produce multiple representations.

Examples include:

  • Diagrams
  • SVG
  • PNG
  • PDF
  • HTML
  • Interactive previews

Representations do not change the model and should never become the source of truth.


Design Consequences

The architecture of ORBIT leads to several important consequences:

One Model per Document

Each ORBIT document should define a single model.

Documents should not combine unrelated diagram types.

Grammar Defines Structure

The diagram type determines which grammar is used and which constructs are available.

Validation Comes Before Rendering

Validation always occurs before any representation is generated.

Multiple Representations from One Model

A model may be visualized or exported in different ways without changing its meaning.

Model First

The model remains authoritative regardless of how it is rendered, displayed, or exported.

Shared Implementation Families

Diagram types remain domain-specific, but validated models should be transformed into reusable family render models before layout and rendering. Shared families allow multiple diagram types to reuse layout engines, routers, and renderer primitives without introducing generic visual syntax into ORBIT.

See Diagram Implementation Families.

Language compatibility is tracked separately from roadmap scope and tooling releases. See Versioning.

Русский

Архитектура языка

ORBIT построен вокруг простой архитектуры, разделяющей модель и её представления.

Модель описывается с помощью специализированной грамматики предметной области, проходит проверку на соответствие спецификации, после чего может быть преобразована в одно или несколько представлений.

Общая схема

ORBIT Document
        ↓
Diagram Type
        ↓
Domain Grammar
        ↓
Model
        ↓
Validation
        ↓
Representation

ORBIT Document

Документ ORBIT представляет собой текстовый файл, содержащий описание одной модели.

Документ ORBIT является первичным источником информации и выступает в качестве авторитетного определения модели.


Diagram Type

Каждый документ ORBIT относится к определённому типу диаграммы.

Тип диаграммы определяет назначение модели и задаёт грамматику и правила валидации, которые должны использоваться.

Примеры:

  • Database Schema
  • Flowchart
  • Roadmap
  • Customer Journey Map
  • SWOT
  • Data Lineage

Domain Grammar

Каждый тип диаграммы предоставляет собственную специализированную грамматику.

Грамматика определяет:

  • Доступные элементы
  • Доступные связи
  • Поддерживаемые атрибуты
  • Структурные правила

Разные типы диаграмм могут использовать полностью разные понятия, оставаясь частью единой экосистемы ORBIT.


Model

Модель является структурированным результатом обработки корректного документа ORBIT.

Она содержит информацию предметной области независимо от способа визуализации.

Именно модель является источником истины для всех производных представлений.


Validation

Перед созданием представления модель должна пройти валидацию.

Валидация проверяет:

  • Соответствие правилам грамматики
  • Наличие обязательной информации
  • Корректность связей
  • Выполнение ограничений
  • Внутреннюю согласованность модели

Некорректные модели не должны использоваться для построения представлений.


Representation

Представления создаются на основе валидированных моделей.

Одна модель может иметь несколько различных представлений.

Примеры:

  • Диаграммы
  • SVG
  • PNG
  • PDF
  • HTML
  • Интерактивные предпросмотры

Представления не изменяют модель и не могут выступать источником истины.


Следствия архитектуры

Архитектура ORBIT приводит к нескольким важным последствиям.

Одна модель — один документ

Каждый документ ORBIT должен описывать одну модель.

Не рекомендуется объединять в одном документе несколько несвязанных типов диаграмм.

Грамматика определяет структуру

Тип диаграммы определяет используемую грамматику и доступные конструкции языка.

Валидация предшествует рендерингу

Любое представление может быть создано только после успешной проверки модели.

Одна модель — множество представлений

Модель может визуализироваться и экспортироваться различными способами без изменения своего смысла.

Модель прежде всего

Модель остаётся первичной независимо от способа отображения, визуализации или экспорта.

Общие семейства реализации

Типы диаграмм остаются предметно-ориентированными, однако перед компоновкой и рендерингом проверенные модели должны преобразовываться в общие модели визуализации семейств. Это позволяет повторно использовать движки компоновки, маршрутизаторы и графические примитивы без добавления универсального визуального синтаксиса в ORBIT.

См. Семейства реализации диаграмм.

Совместимость языка отслеживается отдельно от этапов дорожной карты и выпусков инструментов. См. Версионирование.

Clone this wiki locally