UmlCraft
Get UmlCraftUmlCraft holen
01 / UMLCRAFTUML modeling · Release 0.5UML-Modellierung · Release 0.5
0.5UmlCraft

UML modeling, rebuilt in pure Rust. UML-Modellierung, neu gebaut in reinem Rust.

Class, use case, sequence, activity, state machine, component and deployment diagrams in a fast, native desktop app for Windows, macOS and Linux. Opens your Astah projects, draws them the way Astah does and writes them back. Imports Java, C#, C++ and Python sources. Your models stay on your machine, as plain, diff-friendly JSON.

Klassen-, Use-Case-, Sequenz-, Aktivitäts-, Zustands-, Komponenten- und Verteilungsdiagramme in einer schnellen, nativen Desktop-App für Windows, macOS und Linux. Öffnet deine Astah-Projekte, zeichnet sie so wie Astah und schreibt sie zurück. Importiert Java-, C#-, C++- und Python-Quellcode. Deine Modelle bleiben auf deinem Rechner – als schlichtes, diff-freundliches JSON.

WINDOWS · MACOS · LINUX · RUST · GPUI · APACHE-2.0 / MIT ·ENGLISH & GERMANDEUTSCH & ENGLISCH

Class diagram, model tree and propertiesKlassendiagramm, Modellbaum und EigenschaftenSCREENSHOT
02 / HIGHLIGHTSWhat it doesWas es kann
01

Type it like you think itTippen, wie man denkt

Double-click and write + name : Type [0..*] = init or + op(p : T) : R. UmlCraft parses it and links known classifiers as real types.

Doppelklick und + name : Typ [0..*] = init oder + op(p : T) : R schreiben. UmlCraft zerlegt das und verknüpft bekannte Klassifizierer als echte Typen.

02

Drawn the way Astah drawsGezeichnet wie in Astah

Diagrams are laid out with Astah’s measures, so an imported diagram looks the same. Export the open diagram as SVG or PNG; for sequence diagrams the SVG matches Astah’s practically pixel for pixel.

Diagramme werden mit Astahs Maßen gesetzt, ein importiertes Diagramm sieht also genauso aus. Das offene Diagramm lässt sich als SVG oder PNG exportieren; bei Sequenzdiagrammen gleicht das SVG dem von Astah praktisch pixelgenau.

03

Astah in, Astah outAstah rein, Astah raus

Open .asta files directly, with layouts, colors and notes. Export back through Astah’s official API, not its fragile file format.

.asta-Dateien direkt öffnen, mit Layout, Farben und Notizen. Export zurück über Astahs offizielle API statt über das empfindliche Dateiformat.

04

Code in, model outCode rein, Modell raus

Tools reads Java, C#, C++ and Python sources: classes, interfaces, enums and records with their members, generics, base classes and documentation. Importing again updates the model; 6,300 Java files take about ten seconds.

Werkzeuge liest Java-, C#-, C++- und Python-Quellen: Klassen, Schnittstellen, Enums und Records samt Membern, Generics, Basisklassen und Dokumentation. Ein erneuter Import aktualisiert das Modell; 6.300 Java-Dateien dauern etwa zehn Sekunden.

05

A real editorEin echter Editor

Tabs, tool palettes with connection rules, rubber-band selection, alignment, zoom to fit, waypoints, copy and paste, drag and drop from the model tree onto the canvas. Undo for every change, even a whole import.

Tabs, Werkzeugpaletten mit Verbindungsregeln, Rahmenauswahl, Ausrichten, Einpassen, Wegpunkte, Kopieren und Einfügen, Ziehen aus dem Modellbaum auf die Zeichenfläche. Rückgängig für jede Änderung, auch einen ganzen Import.

06

Files you can diffDateien zum Diffen

.ucraft projects are pretty-printed, stably sorted and versioned JSON. They read well in Git and merge like code.

.ucraft-Projekte sind formatiertes, stabil sortiertes und versioniertes JSON. Sie lesen sich gut in Git und lassen sich wie Code mergen.

03 / DIAGRAMSDIAGRAMMESeven kinds, done properlySieben Arten, richtig gemacht

Seven diagrams. Done properly. Sieben Diagramme. Richtig gemacht.

  • Classes grow with their content; inline editing by double-click
  • Klassen wachsen mit ihrem Inhalt; direktes Bearbeiten per Doppelklick
  • Attributes, operations and enumeration literals with static, abstract, leaf, query and read-only
  • Attribute, Operationen und Aufzählungswerte mit static, abstract, leaf, query und read-only
  • Template parameters in a dashed box, bound types such as List<Order>
  • Template-Parameter im gestrichelten Kasten, gebundene Typen wie List<Order>
  • Association ends with role, multiplicity, navigability, aggregation, qualifiers and static ends
  • Assoziationsenden mit Rolle, Multiplizität, Navigierbarkeit, Aggregation, Qualifizierern und statischen Enden
  • Interfaces as a lollipop, Astah’s four line styles for edges
  • Schnittstellen als Lollipop, Astahs vier Linienstile für Kanten
  • Objects name : Class with a slot per attribute, links between them, as in Astah
  • Objekte name : Klasse mit einem Slot je Attribut und Links dazwischen, wie in Astah
05

ActivityAktivität

Actions, initial and final nodes, decision, merge, fork and join, object nodes with a state such as [filled], flows with guards and nested partitions. Astah’s UML 1.4 activity graphs are translated on import.

Aktionen, Start- und Endknoten, Verzweigung, Zusammenführung, Gabelung und Vereinigung, Objektknoten mit Zustand wie [filled], Flüsse mit Guards und verschachtelte Partitionen. Astahs UML-1.4-Aktivitätsgraphen werden beim Import übersetzt.

06

ComponentKomponenten

Components and artifacts with their icons, instances as name : Type, dependencies, realizations and associations.

Komponenten und Artefakte mit ihren Symbolen, Instanzen als name : Typ, Abhängigkeiten, Realisierungen und Assoziationen.

07

DeploymentVerteilung

Nodes and node instances that take what is deployed on them along when moved. Astah’s API has no editor for these two kinds, so they are exported as class diagrams.

Knoten und Knoteninstanzen, die beim Verschieben mitnehmen, was auf ihnen verteilt ist. Astahs API hat für diese beiden Arten keinen Editor, deshalb gehen sie als Klassendiagramme hinaus.

04 / SCREENSHOTSCaptured in UmlCraftAufgenommen in UmlCraft
05 / FORMATSFORMATEASTAH · SVG · PNG

Bring your Astah projects. Bring deine Astah-Projekte mit.

UmlCraft is built after the model of Astah Professional, so moving over is painless. Open an .asta file and you get the model with all seven diagram kinds, positions, sizes, waypoints, line styles, notes and colors. Diagrams are drawn with Astah’s measures, so they look the same as in Astah.

UmlCraft ist nach dem Vorbild von Astah Professional gebaut – der Umstieg tut nicht weh. Öffne eine .asta-Datei und du bekommst das Modell mit allen sieben Diagrammarten, samt Positionen, Größen, Wegpunkten, Linienstilen, Notizen und Farben. Gezeichnet wird mit Astahs Maßen, die Diagramme sehen also aus wie in Astah.

Going back works too: when Astah is installed, File › Export › Astah project rebuilds the model through Astah’s official API, using the JRE that ships with Astah. Whatever cannot be carried over is reported, never silently dropped.

Auch zurück geht es: Ist Astah installiert, baut Datei › Exportieren › Astah-Projekt das Modell über Astahs offizielle API neu auf, mit der JRE, die Astah mitbringt. Was nicht übertragen werden kann, wird gemeldet – nie stillschweigend verworfen.

For documents and wikis, File › Export › Diagram as SVG or as PNG writes the open diagram the way Astah exports it, in Astah’s colors and at its size.

Für Dokumente und Wikis schreibt Datei › Exportieren › Diagramm als SVG oder als PNG das offene Diagramm so, wie Astah es exportiert – in Astahs Farben und Größe.

06 / GET UMLCRAFTUMLCRAFT HOLENFree · open sourceKostenlos · Open Source

01Option 1 · RecommendedOption 1 · Empfohlen

Download 0.5.0. 0.5.0 herunterladen.

Ready-to-run builds for all three systems. Nothing to install: unpack and start.

Fertige Builds für alle drei Systeme. Nichts zu installieren: entpacken und starten.

  • Windows 10 / 11 · x64 · .zip · 11.4 MB10 / 11 · x64 · .zip · 11,4 MB Download
  • macOS 11 or later · Apple Silicon & Intel · .dmg · 27.4 MBab 11 · Apple Silicon & Intel · .dmg · 27,4 MB Download
  • Linux x64 · glibc 2.35 or later · .tar.gz · 20.7 MBx64 · ab glibc 2.35 · .tar.gz · 20,7 MB Download

UmlCraft uses the SignPath Foundation for code signing: free code signing provided by SignPath.io, certificate by SignPath Foundation.

UmlCraft nutzt die SignPath Foundation für die Code-Signierung: kostenlose Code-Signierung durch SignPath.io, Zertifikat von der SignPath Foundation.

Release 0.5.0 is not signed yet. Windows: SmartScreen warns about an unknown publisher; choose More info › Run anyway. macOS: after copying the app to Applications, run xattr -dr com.apple.quarantine /Applications/UmlCraft.app once. Linux: needs Vulkan, xkbcommon, Wayland or X11 and Fontconfig. Checksums and release notes are on GitHub.

Release 0.5.0 ist noch nicht signiert. Windows: SmartScreen warnt vor einem unbekannten Herausgeber; Weitere Informationen › Trotzdem ausführen wählen. macOS: nach dem Kopieren in „Programme“ einmal xattr -dr com.apple.quarantine /Applications/UmlCraft.app ausführen. Linux: braucht Vulkan, xkbcommon, Wayland oder X11 und Fontconfig. Prüfsummen und Release-Notes stehen auf GitHub.

07 / ROADMAPFive releases so farFünf Releases bisher
  1. M0

    SpikeSpike

    Workspace, GPUI canvas with pan and zoom, selection, grid snapping, undo/redo, themes, German/English.

    Workspace, GPUI-Zeichenfläche mit Verschieben und Zoom, Auswahl, Rasterfang, Undo/Redo, Themes, Deutsch/Englisch.

  2. M1

    Model coreModellkern

    Validated, invertible operations and transactions; the JSON project format.

    Geprüfte, umkehrbare Operationen und Transaktionen; das JSON-Projektformat.

  3. M2

    Editor shellEditor

    Menus, tabs, palettes, properties, files, clipboard, waypoints, drag and drop.

    Menüs, Tabs, Paletten, Eigenschaften, Dateien, Zwischenablage, Wegpunkte, Drag & Drop.

  4. M3

    Class diagramKlassendiagramm

    Inline editing with a declaration parser, association ends, lollipops.

    Direktes Bearbeiten mit Deklarations-Parser, Assoziationsenden, Lollipops.

  5. M4

    Use case diagramUse-Case-Diagramm

    System boundaries, extension points, extend with conditions.

    Systemgrenzen, Erweiterungspunkte, Extend mit Bedingung.

  6. M5

    Sequence diagramSequenzdiagramm

    Ordered messages, activation bars, combined fragments.

    Geordnete Nachrichten, Aktivierungsbalken, kombinierte Fragmente.

  7. M6

    Astah import & exportAstah-Import & -Export

    Read .asta files; write them through the Astah API.

    .asta lesen; über die Astah-API schreiben.

  8. 0.2

    Activity diagramAktivitätsdiagramm

    Actions, control nodes, object nodes, partitions; SVG export.

    Aktionen, Kontrollknoten, Objektknoten, Partitionen; SVG-Export.

  9. 0.3

    State, component, deploymentZustand, Komponente, Verteilung

    Three more diagram kinds, sequence diagrams with Astah’s geometry, PNG export.

    Drei weitere Diagrammarten, Sequenzdiagramme mit Astahs Geometrie, PNG-Export.

  10. 0.4

    Java importJava-Import

    Java sources into the model; templates, qualifiers and line styles as in Astah; downloads for Windows, macOS and Linux.

    Java-Quellen ins Modell; Templates, Qualifizierer und Linienstile wie in Astah; Downloads für Windows, macOS und Linux.

  11. 0.5

    C#, C++, Python; objectsC#, C++, Python; Objekte

    Three more source languages, object diagrams, orthogonal states, internal transitions.

    Drei weitere Quellsprachen, Objektdiagramme, orthogonale Zustände, interne Transitionen.

08 / PRINCIPLESPRINZIPIENThe rules it is built byDie Regeln dahinter

Built the hard way. Auf die harte Tour gebaut.

01

Open source

Every line is on GitHub, dual licensed under Apache-2.0 and MIT. Read it, fork it, build on it.

Jede Zeile liegt auf GitHub, doppelt lizenziert unter Apache-2.0 und MIT. Lesen, forken, darauf aufbauen.

02

Native, not wrappedNativ, nicht verpackt

Pure Rust on GPUI, painted straight to the GPU. No Electron, no web view.

Reines Rust auf GPUI, direkt auf die GPU gezeichnet. Kein Electron, keine Web-View.

03

Familiar from day oneVom ersten Tag vertraut

Modeled after Astah Professional: model tree, diagram tabs, palettes and properties where you expect them.

Nach dem Vorbild von Astah Professional: Modellbaum, Diagramm-Tabs, Paletten und Eigenschaften dort, wo man sie erwartet.

04

Your files, your machineDeine Dateien, dein Rechner

Everything runs locally on your own files. No account, no cloud between you and your model.

Alles läuft lokal auf deinen eigenen Dateien. Kein Konto, keine Cloud zwischen dir und deinem Modell.

05

Model first, view secondErst Modell, dann Ansicht

Like UML itself, elements and their presentations are separate. One class can appear on many diagrams.

Wie in UML selbst sind Elemente und ihre Darstellungen getrennt. Eine Klasse kann auf vielen Diagrammen erscheinen.

06

Speaks your languageSpricht deine Sprache

English and German out of the box, following the system language unless you choose otherwise.

Deutsch und Englisch ab Werk; ohne eigene Wahl folgt die App der Systemsprache.

09 / UNDER THE HOODUNTER DER HAUBESeven crates and two Java toolsSieben Crates und zwei Java-Werkzeuge
umlcraft-model

Metamodel, diagrams and presentations, operations, documents with undo/redo.

Metamodell, Diagramme und Darstellungen, Operationen, Dokumente mit Undo/Redo.

umlcraft-format

.ucraft files: JSON, stably sorted, versioned with migrations.

.ucraft-Dateien: JSON, stabil sortiert, versioniert mit Migrationen.

umlcraft-notation

UML notation without UI: scene, hit testing, palettes, connection rules.

UML-Notation ohne Oberfläche: Szene, Trefferprüfung, Paletten, Verbindungsregeln.

umlcraft-asta

Read-only import of Astah .asta files.

Lesender Import von Astah-.asta-Dateien.

umlcraft-asta-export

Export to .asta through an installed Astah and its API.

Export nach .asta über ein installiertes Astah und dessen API.

tools/asta-export

The small Java tool that drives the Astah API.

Das kleine Java-Werkzeug, das die Astah-API steuert.

umlcraft-reverse

Source import: tree-sitter front-ends, a language-neutral IR, merging into the model. Java, C#, C++ and Python.

Quellcode-Import: tree-sitter-Frontends, eine sprachneutrale Zwischenform, Einmischen ins Modell. Java, C#, C++ und Python.

tools/jdk-types

The Java tool that writes the table of JDK types for the Java import.

Das Java-Werkzeug, das die Tabelle der JDK-Typen für den Java-Import schreibt.

umlcraft-app

The GPUI application: workspace, canvas, properties, menus.

Die GPUI-Anwendung: Workspace, Zeichenfläche, Eigenschaften, Menüs.

Read the source →Zum Quellcode →

Every crate, with its tests, on GitHub.

Alle Crates samt Tests auf GitHub.

OPEN SOURCE · FREEKOSTENLOS

Report bugs, request features and follow development of UmlCraft on GitHub.

Fehler melden, Funktionen wünschen und die Entwicklung von UmlCraft verfolgen – auf GitHub.