ZenUML — инструмент «диаграмма как код», предназначенный для создания последовательностных UML-диаграмм и некоторых видов блок-схем при помощи компактного доменно-специфичного языка (DSL). Программа позволяет описывать взаимодействия участников и потоки сообщений текстовыми инструкциями, которые затем рендерятся в графические диаграммы. Решение ориентировано на интеграцию в рабочие процессы разработки и документирования: оно предлагает плагины для популярных IDE, поддержку вики-платформ и возможность встраивания диаграмм в веб-интерфейсы.
Разработка и развитие ZenUML фокусируются на упрощении создания и поддержания диаграмм архитектуры и процессов: вместо редактирования графических объектов пользователь изменяет текстовое описание, что облегчает версионирование, совместную работу и автоматизацию. Инструмент обычно включает редактор с подсветкой синтаксиса, превью рендеринга и опции экспорта. Исторические детали развития продукта и даты релизов могут варьироваться, и при ограниченной публичной информации о хронологии следует рассматривать ZenUML как пример современных «диаграмма как код» решений с типичным набором возможностей.
- Текстовый DSL для описания участников, сообщений, параллельных потоков и вложенных секций.
- Рендеринг в интерактивные диаграммы с возможностью предпросмотра и обновления в реальном времени.
- Интеграция с IDE через плагины для автоматического предварительного просмотра и автодополнения синтаксиса.
- Плагины для платформ совместной работы, включая интеграцию с вики и системами документации.
- Встраивание в веб-интерфейсы и CMS через сгенерированный HTML/CSS/SVG вывод (без необходимости ручного рисования).
- Поддержка версионирования и удобной работы с текстовыми файлами диаграмм в системах контроля версий.
- Экспорт в стандартные графические форматы и параметры для печати или включения в документацию.
- Управление стилями и темами для единообразного оформления диаграмм в рамках проекта.
- Автоматизация через интеграцию в CI/CD-пайплайны для генерации актуальной документации.
- Интерактивные элементы в рендеринге, такие как подсветка последовательностей и навигация по сообщениям.