Repository navigation
5. 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.
ORBIT Document
↓
Diagram Type
↓
Domain Grammar
↓
Model
↓
Validation
↓
Representation
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.
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
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.
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.
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.
Representations are generated from validated models.
A single model may produce multiple representations.
Examples include:
- Diagrams
- SVG
- PNG
- HTML
- Interactive previews
Representations do not change the model and should never become the source of truth.
The architecture of ORBIT leads to several important consequences:
Each ORBIT document should define a single model.
Documents should not combine unrelated diagram types.
The diagram type determines which grammar is used and which constructs are available.
Validation always occurs before any representation is generated.
A model may be visualized or exported in different ways without changing its meaning.
The model remains authoritative regardless of how it is rendered, displayed, or exported.
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 представляет собой текстовый файл, содержащий описание одной модели.
Документ ORBIT является первичным источником информации и выступает в качестве авторитетного определения модели.
Каждый документ ORBIT относится к определённому типу диаграммы.
Тип диаграммы определяет назначение модели и задаёт грамматику и правила валидации, которые должны использоваться.
Примеры:
- Database Schema
- Flowchart
- Roadmap
- Customer Journey Map
- SWOT
- Data Lineage
Каждый тип диаграммы предоставляет собственную специализированную грамматику.
Грамматика определяет:
- Доступные элементы
- Доступные связи
- Поддерживаемые атрибуты
- Структурные правила
Разные типы диаграмм могут использовать полностью разные понятия, оставаясь частью единой экосистемы ORBIT.
Модель является структурированным результатом обработки корректного документа ORBIT.
Она содержит информацию предметной области независимо от способа визуализации.
Именно модель является источником истины для всех производных представлений.
Перед созданием представления модель должна пройти валидацию.
Валидация проверяет:
- Соответствие правилам грамматики
- Наличие обязательной информации
- Корректность связей
- Выполнение ограничений
- Внутреннюю согласованность модели
Некорректные модели не должны использоваться для построения представлений.
Представления создаются на основе валидированных моделей.
Одна модель может иметь несколько различных представлений.
Примеры:
- Диаграммы
- SVG
- PNG
- HTML
- Интерактивные предпросмотры
Представления не изменяют модель и не могут выступать источником истины.
Архитектура ORBIT приводит к нескольким важным последствиям.
Каждый документ ORBIT должен описывать одну модель.
Не рекомендуется объединять в одном документе несколько несвязанных типов диаграмм.
Тип диаграммы определяет используемую грамматику и доступные конструкции языка.
Любое представление может быть создано только после успешной проверки модели.
Модель может визуализироваться и экспортироваться различными способами без изменения своего смысла.
Модель остаётся первичной независимо от способа отображения, визуализации или экспорта.
Типы диаграмм остаются предметно-ориентированными, однако перед компоновкой и рендерингом проверенные модели должны преобразовываться в общие модели визуализации семейств. Это позволяет повторно использовать движки компоновки, маршрутизаторы и графические примитивы без добавления универсального визуального синтаксиса в ORBIT.
См. Семейства реализации диаграмм.
Совместимость языка отслеживается отдельно от этапов дорожной карты и выпусков инструментов. См. Версионирование.