CRYSTAL-FACET-UML(1)

NAME
crystal-facet-uml - creates a set of uml diagrams. crystal-facet-uml ensures consistency of relationships and uml element names between different diagrams. crystal-facet-uml exports diagrams in various vector and pixel-based image formats.

SYNOPSIS

crystal-facet-uml [-u database_file ]

crystal-facet-uml {-t | -r} database_file

crystal-facet-uml {-h | -v}

crystal-facet-uml -e database_file export_format export_directory

crystal-facet-uml -i database_file import_mode json_input_file

DESCRIPTION

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 defines 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.

OPTIONS

Without options, the program starts in graphical mode. See crystal-facet-uml_documentation.pdf for graphical mode usage.

-u database_file
    Starts in graphical mode and opens the database_file immediately.

    If the file does not exist, a new, empty database is created. If database_file ends on .cfu1, a binary database file is created. Otherwise, a json data file is created.

-t database_file
    Tests the consistency of a database_file. In case of an error, a non-zero value is returned.

-r database_file
    Tests the consistency of a database_file and repairs found issues.

-h
    Show summary of options.

-v
    Show version

-e database_file export_format export_directory
    Exports all diagrams of a database_file in export_format to the export_directory. Valid formats are: docbook, html, json, pdf, png, ps, svg, txt, xmi. Please be aware that the export overwrites possibly existing files in the export_directory without notice.

-i database_file import_mode json_input_file
    Imports elements from json_input_file to the database_file. Valid modes are: check, add. Please create a backup of your database_file before importing.

EXAMPLE

The json-based data file can be stored in a version control system (vcs) like svn or git.

    • Close the crystal-facet-uml application before synchronizing a file with your vcs. Do not synchronize the file with your vcs while you modify it at the same time.

    • In case of merge conflicts in the json-based data files, note that uuid strings do uniquely identify all json objects. Relations between objects are defined by these uuid strings. In contrast to uuids, integer-id can be changed as long as they are unique among all objects of same type within the file. Also the names of classifiers (nodes) must be unique.

    • To see the changes between versions of the json file, consider to use the patience option: git diff --patience The result may better explain the changes.

DIAGNOSTICS

The following diagnostics may be issued on syslog:

EVT : ...
    An event occurred (DEBUG mode only).

ANOM: ...
    Something unexpected happened that was handled (DEBUG mode only).

WARN: ...
    Something unexpected happened that may cause a failure.

ERR : ...
    Something unexpected happened that has caused a failure.

journalctl -f allows one to read the syslog.

BUGS

The upstreams BTS can be found at https://github.com/awarnke/crystal-facet-uml/issues.

AUTHOR

Andreas Warnke <cfu@andreaswarnke.de>
    wrote this manpage for Unix and Linux systems.

COPYRIGHT
Copyright © 2018-2025 Andreas Warnke

This manual page was written for Unix and Linux systems.

Permission is granted to copy, distribute and/or modify this document under the terms of the Apache-2.0 License.