Diagrams and Elements Spec

This program creates diagrams that strive for compatibility to

In some cases, it deviates from these standards for several reasons:

This section gives an overview on standards and implementation-status of crystal_facet_uml. It may be incomplete.

Classifiers

Classifiers are the nodes in the model-graph.

The table shows the classifier types introduced by different specifications, if they filter/hide their features and a comment stating how this is implemented in crystal_facet_uml.

Spec

Filter Features

Comment

Block

SysML

-

Limitations: Compartment Order is "properties, operations" instead of "constraints, operations, receptions, parts, (bound) references, values, properties, stereotype-tagged-values, behavior, namespace, structure"

Limitations: No labeled compartments

Limitations: no Multiplicities of Block-Instances.

Constraint Property/Equation

SysML

-

Limitations: Only the rounded-rect symbol is supported, ports are not completely inside the rounded-rect.

Node

UML

-

Component

UML

-

Part

UML

-

Interface

UML

-

Package

UML, SysML

-

Class

UML

-

Object

UML

-

Artifact

UML

-

Comment

UML, SysML

unconditional features

Feature

-

-

Represents a group of requirements

Requirement

SysML

-

Actor

UML, SysML

unconditional features

Use Case

UML, SysML

-

Limitations: No SysML extension points

System Boundary

UML, SysML

unconditional features

Diagram Reference

UML

unconditional features

Activity

UML

-

Interruptable Region

UML

unconditional features

Fork

UML, SysML

unconditional features

Join

UML, SysML

unconditional features

Accept Event

UML, SysML

unconditional features

Accept Time Event

UML, SysML

unconditional features

Send Signal

UML, SysML

unconditional features

Decision

UML, SysML

unconditional features

Initial Node

UML, SysML

unconditional features

Limitations: There is no distinction in ActivityInitial and FlowInitial

Final Node

UML, SysML

unconditional features

Limitations: There is no distinction in ActivityFinal and FlowFinal

State

UML, SysML

-

Shallow History

UML, SysML

unconditional features

Deep History

UML, SysML

unconditional features

Value Type

SysML

-

not supported.

Limitations: Compartment Order of Classifiers is "properties, operations" instead of "operations, properties, stereotype-tagged-values"

Enumeration

UML, SysML

-

not supported.

Note: Use a class instead.

ActivityParameterNode

SysML

-

not supported.

MergeNode

UML, SysML

unconditional features

not supported.

Note: Either directly connect to the target activity or use a decision node.

ActivityPartition

UML, SysML

unconditional features

not supported.

Note: Use a parent activity instead.

Legend

Filter

Defines which elements related to a classifier are not visible

An InstanceSpecification (UML) denotes an instantiation of a classifier. crystal_facet_uml allows any classifier to appear in different diagrams as classifier, as anonymous InstanceSpecification or as named InstanceSpecification. (Rationale: If a classifier is an instance may depend on the context: An M1-class may be an instance if shown in an M2-meta-class diagram, an XML-parser-class may be an instance if shown in the context of stream processors.)

Features

Features are elements attached to one classifier.

The table shows the feature types introduced by different specifications, if they are visible in any diagram or just once, and a comment stating how this is implemented in crystal_facet_uml.

Spec

Scope

Comment

Property

UML, SysML

unconditional

Limitations: no SysML Flow-Properties refinement

Operation

UML, SysML

unconditional

Port

UML, SysML

unconditional

Limitations: no SysML-compartment Notation supported

Limitations: no SysML-nested-ports, SysML-proxy-port, SysML full-ports supported

Provided Interface

UML, SysML

unconditional

Required Interface

UML, SysML

unconditional

Lifeline

UML, SysML

scenario, 1 per diagram

Limitations: One lifeline is visible only in one diagram

Legend

Scope

scope is unconditional if a feature belongs to a classifier unconditionally, scenario if only applicable in 1 diagram

Relationships

Relationships are the edges of the model-graph.

The table shows the relationship types introduced by different specifications, a classification in which diagram type to use them preferably, and a comment stating how this is implemented in crystal_facet_uml.

Spec

Diagram Types

Comment

Dependency

UML, SysML

any

Containment

UML, SysML

Deployment, Package

Deploy

UML

Deployment

Manifest

UML

Deploy

Communication Path

UML, SysML

Component, Use Case

Association

UML, SysML

Class Diag

Note: SysML calls this ReferenceAssociation

Limitations: no AssociationClass(SysML: ParticipantProperty) exists.

Limitations: no AssociationEnd Classes exist, no Multiplicities, no Roles.

Aggregation

UML, SysML

Class Diag

Note: SysML calls this SharedAssociation

Composition

UML, SysML

Class Diag

Note: SysML calls this PartAssociation

Generalization

UML, SysML

Class Diag, Use Case

Limitations: no Generalization-Sets supported

Realization

UML

Class Diag

Trace

SysML

Requirement

Refine

SysML

Requirement

Extend

UML, SysML

Use Case

Limitations: no SysML-condition-notes can be attched to this relationship

Include

UML, SysML

Use Case

Control Flow

UML, SysML

Activity

Object Flow

UML, SysML

Activity

Async. Call

UML, SysML (?)

Sequence

Sync. Call

UML, SysML (?)

Sequence

Return Call

UML, SysML (?)

Sequence

Connector

UML, SysML

Internal Block Diag.

not supported.

Limitations: No Bi-directional Connectors

Note: SysML calls this BindingConnector

Note: Use a Communication Path instead.

Item Flow

SysML

Block Definition

not supported.

Note: Use an Object Flow instead.

Diagrams

Diagrams are views on the model-graph. They select classifiers and may filter their features and relationships.

The table shows the diagram types introduced by different specifications, if they filter/hide their features and/or relationships and a comment stating how this is implemented in crystal_facet_uml.

Spec

Filter

Comment

List Diagram

-

any feature, any relationship

This is an overview diagram showing only classifiers without features and without relationships

Box Diagram

-

any feature, any relationship

This is an overview diagram showing only classifiers without features and without relationships

Block Definition Diagram

SysML

lifelines

Internal Block Diagram

SysML

lifelines

Parametric Diagram

SysML

lifelines

Deployment Diagram

UML

lifelines

Component Diagram

UML

lifelines

Composite Structure Diagram

UML

lifelines

Package Diagram

UML, SysML

lifelines

Class Diagram

UML

lifelines

Profile Diagram

UML

lifelines

not supported

Requirements Diagram

SysML

lifelines

Use Case Diagram

UML, SysML

lifelines

Interaction Overview Diagram

UML

lifelines

Limitations: There is no link from Diagram-References to referenced Diagrams

Activity Diagram

UML, SysML

lifelines

State Machine Diagram

UML, SysML

lifelines

Communication Diagram

UML

unconditional relationships (Scenario), unconditional features

Sequence Diagram

UML, SysML

unconditional relationships (Scenario), unconditional features

Timing Diagram

UML

unconditional relationships (Scenario), unconditional features

Legend

Filter

Defines which elements are not visible in the diagram

Scenario

Diagrams show only relationships associated with a lifeline of a visible classifier.

Maximum stringlengths

All strings (names, descriptions, stereotypes) have a maximum length.

Ascii characters require one, most other characters two bytes. Current sizes in bytes are:

Classifiers:

  • DATA_CLASSIFIER_MAX_NAME_LENGTH = 47,

  • DATA_CLASSIFIER_MAX_STEREOTYPE_LENGTH = 47,

  • DATA_CLASSIFIER_MAX_DESCRIPTION_LENGTH = 4095,

Features:

  • DATA_FEATURE_MAX_KEY_LENGTH = 47, (name)

  • DATA_FEATURE_MAX_VALUE_LENGTH = 255, (type)

  • DATA_FEATURE_MAX_DESCRIPTION_LENGTH = 1023,

Relationships:

  • DATA_RELATIONSHIP_MAX_NAME_LENGTH = 47,

  • DATA_RELATIONSHIP_MAX_DESCRIPTION_LENGTH = 1023,

Diagrams:

  • DATA_DIAGRAM_MAX_NAME_LENGTH = 47,

  • DATA_DIAGRAM_MAX_DESCRIPTION_LENGTH = 8191,