crystal-facet-uml documentation

Andreas Warnke

Table of Contents

Usage Overview
Example Diagrams
Feature List
Example UML Behavioral Views
Example UML Static Views
Example SysML Views
More Examples
Graphical User Interface
Window Area Overview
Tool Bar
Drawing Area
Element Configuration Area
Notification Bar
Diagrams and Elements Spec
Example stereotype images
Maximum stringlengths
Modeling Guidelines
crystal-facet-uml Hints
General Hints on Architecture Documentation
Command Line Interface
Command Line Usage
Storing data in a version control system
Download and Install
Debian/Ubuntu Linux
SuSE Linux
Build from Source
Further Links


crystal-facet-uml creates diagrams to document system and software architecture.

Like a crystal shows different facets of the same thing, this application shows different views of the same system.


As software architect, you create a set of diagrams describing use-cases, requirements, structural views, behavioral and deployment views.

crystal-facet-uml keeps element names and element hierarchies consistent. The tool exports diagrams in svg, pdf, ps and png formats to be used in text processing systems like DocBook, html, LaTeX. crystal-facet-uml exports the model to json and xmi format; json can also be imported. The json-based data file can be stored to git, branched and merged together with your source code. This tool runs on your local PC and is based on gtk (incl. glib, gdk, cairo, pango) and sqlite.


crystal-facet-uml provides a graphical user interface to

  • create, modify and delete diagrams,

  • create, modify and delete UML/SysML elements,

  • create, modify and delete relationships,

  • cut, copy, paste elements between diagrams,

  • undo and redo are supported,

  • multiple windows can show different or same parts of the uml model,

  • search for elements.

Diagrams are layouted part-automatically:

  • The user chooses the relative location of elements towards others,

  • crystal-facet-uml selects the exact locations of shown elements.

  • The user controls the positions of messages/transitions in sequence and timing diagrams,

  • crystal-facet-uml auto-layouts relationships in other diagrams.

crystal-facet-uml manages a meta model:

  • Diagrams are organized as a tree, similar to a book's table-of-contents;

  • Uml(TM)/SysML(TM) elements exist only once even if shown in many diagrams;

  • Relationships and features are consistent between all diagrams;

  • Diagram-local messages/transitions are supported in scenario-based interaction diagrams: sequence, communication, timing, interaction overview.

  • These extension mechanisms of UML are supported: Tagged values and stereotypes including stereotype images.

Diagrams can be exported as

  • images: pdf, ps, svg, png,

  • text: utf-8, DocBook, html,

  • machine-readable model: json, xmi(TM).

crystal-facet-uml can also be started from command line

  • to export all diagrams automatically or

  • to import a previously exported json file or

  • to check and repair database files.

Usage Overview

crystal-facet-uml can be started in graphical mode (see the section called “Graphical User Interface”) or from command line (see the section called “Command Line Interface”).