GitHub
Kotlin DSL · UML · SysML 2 · C4 · BPMN · Blueprint

Architecture that compiles.

One source. Any diagram. Readable for humans and AI.

kUML is the first modeling tool to express UML 2, SysML 2, C4, BPMN 2.0 and Service Blueprint as a type-safe Kotlin DSL — better than PlantUML, with the full power of professional CASE tools.

Order.kuml.kts
// Order.kuml.kts — no imports required, kUML script host provides them
classDiagram(name = "Order Processing") {
    val status = enumOf(name = "OrderStatus") {
        literal(name = "DRAFT")
        literal(name = "CONFIRMED")
        literal(name = "SHIPPED")
    }

    val customer = classOf(name = "Customer") {
        attribute(name = "email", type = "String")
    }

    val order = classOf(name = "Order") {
        attribute(name = "id", type = "UUID")
        attribute(name = "status", type = status)   // type-safe enum reference
        operation(name = "submit")
    }

    association(source = customer, target = order) {
        source { multiplicity(spec = "1") }
        target { multiplicity(spec = "1..*"); role = "orders" }
    }
}
What kUML does

Five modeling languages, one DSL.

No language is a profile of another. Full power of UML 2, SysML 2, C4, BPMN 2.0 and Service Blueprint in the same type-safe Kotlin environment.

UML 2.x

All 14 diagram types — structure and behavior. Type-safe as a Kotlin DSL.

SysML 2

BDD, IBD, PAR, REQ, ACT, SEQ, STM, UC — standalone metamodel on top of KerML.

C4 Model

Context, Container, Component, Code, Dynamic, Deployment. Structurizr DSL bridge included.

BPMN 2.0

Process modelling as a first-class language — pools, lanes, gateways, subprocesses and all ~50 event variants. Camunda/Zeebe XML round-trip included. New in 0.16.0.

Service Blueprint

User Journey Maps and full Service Blueprints — actor, phase, step, touchpoint, emotion curve and five-lane renderer. New in 0.18.0.

OCL

Full OCL 2.4/2.5 expression language, integrated directly into the UML model.

Profiles

Five built-in profiles — AUTOSAR, JavaEE, Spring, OpenAPI, SoaML. Roll your own via SPI.

MDA

Model-to-model and model-to-text transformations. PIM → PSM → Code.

LLM-Ready

The first UML tool deliberately designed for the LLM era. MCP server included.

Desktop Editor

Compose Desktop app with live SVG preview, file I/O, plugin manager and jpackage native installers — no JDK required. New in 0.12.0.

AI Assistant

Koog-based multi-LLM agent (OpenAI, Anthropic, Ollama local) with streaming chat, type-safe @Tool DSL edits, diff preview before any model change, and privacy mode.

Live registry

Plugin Ecosystem

Five SPI categories (Theme · Renderer · Layout · Codegen · Reverse) with signed packages, isolated class-loaders, and five reference plugins shipped out of the box.

Browse plugins