StarUML 2 Documentation

Note

This documentation is a work in progress.

Contents:

Basic Concepts

Project

Project is a top-level element stored as a single file.

Modeling a software system requires describing multiple models because it is not enough to describe the system with a single perspective, so we typically make multiple models such as Use-Case Model, Design Model, Component Model, Deployment Model, or others in a Project.

Typically Project is organized as a set of UMLModels, UMLPackages, or UMLSubsystems. If you want to know more about UML Elements, please refer to OMG UML Specification.

See also

Organizing Project
See the Organizing Project section.

Model vs. Diagram

Many users are confusing the difference between diagramming or drawing tools such as Microsoft Visio and modeling tools such StarUML or Rational Software Architect. First you need to understand a diagram is not a model.

Model or software model is a description of any aspect of a software system such as structure, behavior, requirement, and so on. A software model can be represented in textual, mathmatical or visual form. A Model element is a building block of a software model.

A Diagram is a visual geometric symbolic representation of a software model. A software model can be represented in one or more diagrams with different aspects. For example, a diagram can focus on class hierarchical structure while another diagram can focus on interaction between objects. Diagrams consists of view elements, which are visual representations of a model element.

A model element typically has multiple corresponding view elements. A model element has its own data such as name, stereotype, type, etc. A view element just renders the corresponding model element in a diagram. View elements may exists multiple times in a diagram or in different diagrams. If the name of a model element changed, all corresponding view elements reflect the changes in their diagrams.

Fragment

A fragment is a part of a project saved as a separate file with the extension name .mfj. Any element can be exported as a fragment, but typically UMLPackage, UMLModel, and UMLSubsystem are the candidates. Once a fragment is exported as a file, the fragment can be reused by importing in a project.

See also

Import Fragment
To import a fragment file.
Export Fragment
To export an element to a fragment file.

Profile

UML (Unified Modeling Language) is so general-purpose modeling language that could be used to express any kinds of software-intensive systems. In this reason, using UML for a specific domain or platform is not sufficient, so you may need to define UML Profile. StarUML provides UML profiles which can be used to expand UML. For example, UML profiles can be used for the following purposes.

  • Profiles for specific programming languages (C/C++, Java, C#, Python, etc.)
  • Profiles for specific development methodologies (RUP, Catalysis, UML Components, etc.)
  • Profiles for specific domains (EAI, CRM, SCM, ERP, etc.)

Extension

An extension is a package which adds new features to StarUML. For example, an extension can extend menus, UIs, dialogs, modeling notations, preferences, etc. An extension can be written in JavaScript, CSS3, and HTML5 and can use Node.js integrated in StarUML. Extensions can be easily installed, uninstalled, and updated via the main extension registry.

See also

Managing Extensions
To use extensions.

Managing Project

New Project

To create a modeling project, press Ctrl+n or select File | New. If you want create a project from templates, select a template under File | New From Template | <TemplateName>.

Open Project

If you have model files (.mdj), you can open it in StarUML. To open a model file, press Ctrl+o or select File | Open... and then select a file in Open Dialog.

Open StarUML V1 File

If you have StarUML V1 model files (.uml), you can import by selecting File | Import | StarUML 1 File (.uml)...

Save Project

You can save the working project into a file by pressing Ctrl+s or selecting File | Save. If you want to save as another file, press Ctrl+Shift+s or select File | Save As....

Close Project

To close working project, select File | Close. If you didn’t saved the project, you will be asked to save or not.

Export Fragment

To export a part of the project as a fragment, select File | Export | Fragment... and then select an element to export in Element Picker Dialog.

Import Fragment

To import a fragment into the project, select File | Import | Fragment.... The fragment will be included as a child of the project.

Editing Elements and Diagrams

Editing Diagrams

Create Diagram

To create a Diagram:

  1. Select first an element where a new Diagram to be contained as a child in Explorer.
  2. Select Model | Add Diagram | <DiagramType> in Menu Bar or select Add Diagram | <DiagramType> in Context Menu.

Delete Diagram

To delete a Diagram:

  1. Select a Diagram to delete in Explorer.
  2. Press Ctrl+Delete or select Edit | Delete from Model in Menu Bar or Delete from Model in Context Menu.

Open Diagram

To open a diagram, double-click a diagram in Explorer.

Close Diagram

To close a diagram, click the close icon (x mark) of a diagram in Working Diagrams or press F4 or select View | Close Diagram in Menu Bar.

To close other diagram except a active diagram, press Ctrl+F4 or select View | Close Other Diagrams in Menu Bar.

To close all diagrams, press Shift+F4 or select View | Close All Diagrams in Menu Bar.

Change Active Diagram

To change active diagram, select a diagram in Working Diagram.

To activate the next diagram, press Ctrl+Shift+] or select View | Next Diagram.

To activate the previous diagram, press Ctrl+Shift+[ or select View | Previous Diagram.

Zoom In and Out

To zoom in the diagram, press Ctrl++ or select View | Zoom In in Menu Bar.

To zoom out the diagram, press Ctrl+- or select View | Zoom Out in Menu Bar.

To set zoom level to actual size, press Ctrl+0 or select View | Actual Size in Menu Bar.

You can check the current zoom level in StatusBar.

Editing Elements

Create Element

You have following options to create Model Elements and View Elements.

To create an Element from Toolbox:

  1. Select <ElementType> in Toolbox.
  2. Drag on the diagram as the size of element, or link two elements if the element is a kind of relationship.

Note

In most cases, creating an element from Toolbox means creating the both Model Element and View Element. For example, if you create a Class in a Diagram from Toolbox, a Class Model Element and a Class View Model which referencing the Model Element will be created. See Model vs. Diagram

If you have already Model Elements, you can create View Elements referencing the Model Element on a Diagram.

To create a View Model by Drag-and-Drop:

  1. Select a Model Element in Explorer.
  2. Drag the Model Element and drop on a Diagram.

To create a Model Element in Explorer:

  1. Select first an element where a new Model Element to be contained as a child in Explorer.
  2. Select Model | Add | <ElementType> in Menu Bar or select Add | <ElementType> in Context Menu.

Delete Elements

See also

Model vs. Diagram
Before deleting elements, you need to distinguish the difference of Model Element, View Element, and Diagram.

To delete View Elements in a Diagram.

  1. Select View Elements to be deleted in a Diagram.
  2. Press Delete or Select Edit | Delete in Menu Bar or Delete in Context Menu.

Note

Deleting View Elements do not delete Model Elements.

To delete Model Elements:

  1. Select Elements to be deleted in a Diagram or in Explorer.
  2. Press Ctrl+Delete or Select Edit | Delete from Model in Menu Bar or Delete from Model in Context Menu.

Note

Model Elements are always deleted with corresponding View Elements.

Select Elements

To select view elements in Diagram Editor:

You can select an Element in Diagram just by clicking on an Element. If you want to select additional elements while keeping current selections, click on element with pressing Shift. When you drag an area, Elements overlaps the area will be selected. Pressing Shift also work with dragging.

If you want to select all elements in the Diagram, press Ctrl+A or select Edit | Select All in Menu Bar or Select All in Context Menu.

Note

Selecing an Element on a Diagram means selection of the both Model Element and View Element.

To select a model element in Explorer:

In Explorer, you can select a Model Element by clicking on an Element.

If you want to select an element in Explorer corresponding to the a selected element in Diagram, press Ctrl+E or select Edit | Select In Explorer in Menu Bar or Select In Explorer in Context Menu.

Copy and Paste

When copying or cutting elements for pasting, a clear distinction has to be made between model elements and view elements. If a model element is copied, it has to be pasted under a model element. In this case, all the sub-elements contained in the selected element are copied together. View elements can be copied within the same diagram or to different diagrams. Copied view elements can be pasted in diagrams only; they cannot be pasted to model elements. Copying and pasting may also be restricted depending on the view element types and diagram types.

To copy and paste view elements in Diagram Editor

  1. Select view elements in a diagram to copy. (You can select multiple elements. See Select Elements)
  2. Press Ctrl+C or select Edit | Copy in Menu Bar or Copy in Context Menu. (To cut view elements, press Ctrl+X or select Edit | Cut in Menu Bar or Cut in Context Menu)
  3. Open the diagram where the copied view elements to be pasted. (See open diagram??)
  4. Press Ctrl+V or select Edit | Paste in Menu Bar or Paste in Context Menu. The copied view elements will be pasted to the active diagram.

To copy and paste a model element in Explorer:

  1. Select a model element to copy in Explorer.
  2. Press Ctrl+C or select Edit | Copy in Menu Bar or Copy in Context Menu. (To cut view elements, press Ctrl+X or select Edit | Cut in Menu Bar or Cut in Context Menu)
  3. Select a model element where the copied element will be pasted in Explorer.
  4. Press Ctrl+V or select Edit | Paste in Menu Bar or Paste in Context Menu. The copied view elements will be pasted to the active diagram. The copied model element can be pasted in where an element is able to contain.

Note

Some elements are not allowed to copy, cut, and paste.

Undo and Redo

To undo an action, press Ctrl+Z or select Edit | Undo in Menu Bar.

To redo an undo-ed action, press Ctrl+Y or select Edit | Redo in Menu Bar.

Edit Properties

You can edit properties of model elements in Property Editor.

Documenting Elements

You can edit documentation of model elements in Documentation Editor.

Formatting View Elements

Change Font

To change font face, size, and color of view elements:

  1. Select view elements in diagram.
  2. Show FontDialog by pressing Ctrl+Shift+F or selecting Format | Font... in Menu Bar or Context Menu.
  3. Select font face, size or color and press OK button.
_images/font-dialog.png

You can also use Style Editor to change Font face, size, and color.

Change Line Color

To change line color of view elements:

  1. Select view elements in diagram.
  2. Show ColorDialog for line color by pressing Ctrl+Shift+L or selecting Format | Line Color... in Menu Bar or Context Menu.
  3. Select line color and press OK button.
_images/color-dialog.png

You can also use Style Editor to change line color.

Change Fill Color

To change fill color of view elements:

  1. Select view elements in diagram.
  2. Show ColorDialog for fill color by pressing Ctrl+Shift+I or selecting Format | Fill Color... in Menu Bar or Context Menu.
  3. Select fill color and press OK button.

You can also use Style Editor to change fill color.

Change Line Style

_images/line-style.png

To change line style of view elements:

  1. Select view elements in diagram.
  2. Select one of line styles.
    • Rectilinear - Press Ctrl+L or select Format | Line Style | Rectilinear in Menu Bar or Context Menu.
    • Oblique - Press Ctrl+B or select Format | Line Style | Oblique in Menu Bar or Context Menu.

You can also use Style Editor to line style.

Set Auto Resize

To set view elements always resize automatically:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+R or check (or uncheck) Format | Auto Resize in Menu Bar or Context Menu.

You can also use Style Editor to line style.

Set Word Wrap

To allow text can be shown in multiple lines:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+W or check (or uncheck) Format | Word Wrap in Menu Bar or Context Menu.

Stereotype Display

An element has six alternative representations based on the stereotype. To change stereotype display:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+0 ~ Ctrl+Shift+5 or select Format | Stereotype Display | <StereotypeDisplayKind> in Menu Bar or Context Menu.

Supported stereotype display kinds are follow:

  • None (Ctrl+Shift+0) : Do not show stereotype.
  • Label (Ctrl+Shift+1) : Show stereotype as a label.
  • Decoration (Ctrl+Shift+2) : Show stereotype as a decorated icon on the top left.
  • Decoration with Label (Ctrl+Shift+3) : Show stereotype as a label with a decorated icon.
  • Icon (Ctrl+Shift+4) : Show element as a icon.
  • Icon with Label (Ctrl+Shift+5) : Show element as a icon with label.
_images/stereotype-display.png

Show Visibility

To show (or hide) visibilities:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+V or check (or uncheck) Format | Show Visibility in Menu Bar or Context Menu.

Show Namespace

To show (or hide) namespace:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+N or check (or uncheck) Format | Show Namespace in Menu Bar or Context Menu.

Show Property

To show (or hide) properties:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+P or check (or uncheck) Format | Show Property in Menu Bar or Context Menu.

Show Type

To show (or hide) types:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+Y or check (or uncheck) Format | Show Type in Menu Bar or Context Menu.

Show Multiplicity

To show (or hide) multiplicities:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+M or check (or uncheck) Format | Show Multiplicity in Menu Bar or Context Menu.

Show Operation Signature

To show (or hide) operation signature:

  1. Select view elements in diagram.
  2. Press Ctrl+Shift+G or check (or uncheck) Format | Show Operation Signature in Menu Bar or Context Menu.

Suppress Attributes

To suppress attributes:

  1. Select view elements (e.g. Class) in diagram.
  2. Press Ctrl+Shift+A or check (or uncheck) Format | Suppress Attributes in Menu Bar or Context Menu.

Suppress Operations

To suppress operations:

  1. Select view elements (e.g. Class) in diagram.
  2. Press Ctrl+Shift+O or check (or uncheck) Format | Suppress Operations in Menu Bar or Context Menu.

Suppress Literals

To suppress literals:

  1. Select Enumeration view elements in diagram.
  2. Press Ctrl+Shift+T or check (or uncheck) Format | Suppress Literals in Menu Bar or Context Menu.

Aligning View Elements

To bring view elements on the front:

  1. Select view elements in diagram.
  2. Select Format | Alignment | Bring to Front in Menu Bar or Alignment | Bring to Front in Context Menu.

Or, to send view elements to the back:

  1. Select view elements in diagram.
  2. Select Format | Alignment | Send to Back in Menu Bar or Alignment | Send to Back in Context Menu.

And, you can align two or more view elements:

  1. Select view elements in diagram.
  2. Select Format | Alignment | <AlignmentKind> in Menu Bar or Alignment | <AlignmentKind> in Context Menu.
    • Align Left : Align selected view elements to the left.
    • Align Right : Align selected view elements to the right.
    • Align Middle : Center selected view elements horizontally.
    • Align Top : Align selected view elements to the top.
    • Align Bottom : Align selected view elements to the bottom.
    • Align Center : Center selected view elements vertically.

Layout Diagram

To layout diagram automatically:

  1. Open the diagram to be layout.
  2. Select Format | Layout | Auto in Menu Bar.

If you want to layout diagram in a particular direction:

  1. Open the diagram to be layout.
  2. Select Format | Layout | <Direction> in Menu Bar. Supported directions are Top to Bottom, Bottom to Top, Left to Right and Right to Left.

Extending Elements

Assign Stereotype

To assign defined stereotype to elements (e.g. defined in UML Standard Profile):

  1. Select model elements to assign stereotype.
  2. Click the magnifier icon on the right side of stereotype property in Property Editor.
  3. Select a stereotype in Element Picker Dialog.

To assign temporal stereotype to elements:

  1. Select model elements to assign stereotype.
  2. Enter stereotype name in stereotype property in Property Editor.

Add Constraints

To add a Constraint to an element:

  1. Select model elements to add a constraint.
  2. Select Model | Add | Constraint in Menu Bar or select Add | Constraint in Context Menu.
  3. Edit constraint in specification property in Property Editor.

Add Tags

Tag is an element to add extended properties to Model Elements

To add a Tag to an element:

  1. Select an Element in Explorer or in a Diagram.
  2. Select Model | Add | Tag in Menu Bar or select Add | Tag in Context Menu.

Properties of Tag:

name
Name of Tag
kind
Kind of Tag. kind could be one of string, reference, boolean, number, or hidden. if hidden is chosen, this Tag will not be shown on View Element.
value
Value of Tag when kind is string.
reference
Reference value of Tag when kind is reference.
checked
Boolean value of Tag when kind is boolean.
number
Number value of Tag when kind is number.

To show or hide Tags on View Elements, see Show Property.

Finding Model Elements

To find model elements by keyword:

  1. Press Ctrl+F or Select Model | Find... in Menu Bar.
  2. Enter keyword in Edit Box.
  3. Check Case sensitive if you want to find keyword case sensitively, and check Find in documentation if you want to find keyword in documentation of elements.
  4. Matched elements will be shown on a Bottom Panel.

Modeling with UML

Organizing Project

A system is typically described in multiple perspectives.

Start from Template

You can start a modeling project by selecting a template. To start a project with a template, select File | New From Template | <TemplateName>. StarUML supports 4 default templates:

  • UMLMinimal - A single model with UML Standard Profile.
  • UMLConventional - Use Case Model, Analysis Model, Design Model, Implementation Model, and Deployment Model with UML Standard Profile.
  • 4+1 View Model - Pilippe Kruchten’s 4+1 Architectural View Model.
  • Rational : Approach of Rational Rose Tool.

If you don’t want to use pre-defined templates, you need to make your own project structure.

Applying Profiles

To include UML Standard Profile, select Model | Apply Profile | UML Standard Profile (v2) in Menu Bar.

Working with Class Diagrams

To create a Class Diagram:

  1. First select an element where a new Class Diagram to be contained as a child.
  2. Select Model | Add Diagram | Class Diagram in the Menu Bar or select Add Diagram | Class Diagram in Context Menu.

In Class Diagram, you can use following elements.

See also

UML Class Diagram
For more information about UML Class Diagram.

Class

To create a Class:

  1. Select Class in Toolbox.
  2. Drag on the diagram as the size of Class.

To create a Class (model element only) by Menu:

  1. Select an Element where a new Class to be contained.
  2. Select Model | Add | Class in Menu Bar or Add | Class in Context Menu.

To edit a Class, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Attribute

To add an Attribute:

  1. Select a Classifier.
  2. Select Model | Add | Attribute in Menu Bar or Add | Attribute in Context Menu.

To edit an Attribute, you can do following actions:

Operation

To add an Operation:

  1. Select a Classifier.
  2. Select Model | Add | Operation in Menu Bar or Add | Operation in Context Menu.

To edit an Operation, you can do following actions:

To hide Operation signatures, see Show Operation Signature.

Parameter

To add a Parameter:

  1. Select an Operation.
  2. Select Model | Add | Parameter in Menu Bar or Add | Parameter in Context Menu.

Template Parameter

To add a Template Parameter:

  1. Select an Element.
  2. Select Model | Add | Template Parameter in Menu Bar or Add | Template Parameter in Context Menu.

To edit an Template Parameter, you can do following actions:

Interface

To create an Interface:

  1. Select Interface in Toolbox.
  2. Drag on the diagram as the size of Interface.

To create an Interface (model element only) by Menu:

  1. Select an Element where a new Interface to be contained.
  2. Select Model | Add | Interface in Menu Bar or Add | Interface in Context Menu.

To edit an Interface, you can do following actions:

To show an Interface as Lollipop notation, Interface should be realized (See Interface Realization) and then change Stereotype Display to Icon or Icon with Label (See Stereotype Display).

To show an Interface as Socket notation, Interface should have dependants (See Dependency) and then change Stereotype Display to Icon or Icon with Label (See Stereotype Display).

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Generalization

To create a Generalization:

  1. Select Generalization in Toolbox.
  2. Drag from an element (to be special) and drop on another element (to be general).

Association

To create an Association (or Directed Association):

  1. Select Association (or Directed Association) in Toolbox.
  2. Drag from an element and drop on another element.

Aggregation

To create an Aggregation:

  1. Select Aggregation in Toolbox.
  2. Drag from an element (to be a part) and drop on another element (to be whole).

Note

Aggregation is an association whose aggregation propery is shared.

Composition

To create a Composition:

  1. Select Composition in Toolbox.
  2. Drag from an element (to be a part) and drop on another element (to be whole).

Note

Composition is an association whose aggregation propery is composite.

Dependency

To create an Dependency:

  1. Select Dependency in Toolbox.
  2. Drag from an element (client) and drop on another element (supplier).

Interface Realization

To create an Interface Realization:

  1. Select Interface Realization in Toolbox.
  2. Drag from an element (realizing) and drop on an interface (to be realized).

Signal

To create a Signal:

  1. Select Signal in Toolbox.
  2. Drag on the diagram as the size of Signal.

To create a Signal (model element only) by Menu:

  1. Select an Element where a new Signal to be contained.
  2. Select Model | Add | Signal in Menu Bar or Add | Signal in Context Menu.

To edit a Signal, you can do following actions:

DataType

To create a DataType:

  1. Select DataType in Toolbox.
  2. Drag on the diagram as the size of DataType.

To create a DataType (model element only) by Menu:

  1. Select an Element where a new DataType to be contained.
  2. Select Model | Add | DataType in Menu Bar or Add | DataType in Context Menu.

To edit a DataType, you can do following actions:

PrimitiveType

To create a PrimitiveType:

  1. Select PrimitiveType in Toolbox.
  2. Drag on the diagram as the size of PrimitiveType.

To create a PrimitiveType (model element only) by Menu:

  1. Select an Element where a new PrimitiveType to be contained.
  2. Select Model | Add | PrimitiveType in Menu Bar or Add | PrimitiveType in Context Menu.

To edit a PrimitiveType, you can do following actions:

Enumeration

To create an Enumeration:

  1. Select Enumeration in Toolbox.
  2. Drag on the diagram as the size of Enumeration.

To create an Enumeration (model element only) by Menu:

  1. Select an Element where a new Enumeration to be contained.
  2. Select Model | Add | Enumeration in Menu Bar or Add | Enumeration in Context Menu.

To edit a Enumeration, you can do following actions:

To suppress Literals, see Suppress Literals.

Enumeration Literal

To add an Enumeration Literal:

  1. Select a Classifier.
  2. Select Model | Add | Enumeration Literal in Menu Bar or Add | Enumeration Literal in Context Menu.

To edit an Enumeration Literal, you can do following actions:

AssociationClass

To create an Association Class by linking two Classifiers:

  1. Select Association Class in Toolbox.
  2. Drag from an element and drop on another element.
  3. An Association and a Class connected to the association will be created.

To create an Association Class by linking Association and Class:

  1. Select Association Class in Toolbox.
  2. Drag from an Association (or Class) and drop on a Class (or Association).
  3. The Class will be connected to the Association.

Working with Package Diagram

To create a Package Diagram:

  1. Select first an element where a new Package Diagram to be contained as a child.
  2. Select Model | Add Diagram | Package Diagram in Menu Bar or select Add Diagram | Package Diagram in Context Menu.

In Package Diagram, you can use the following elements:

See also

UML Package Diagram
For more information about UML Package Diagram.

Package

To create a Package on a diagram:

  1. Select Package in Toolbox.
  2. Drag on the diagram as the size of Package.

To create a Package (model element only) by Menu:

  1. Select an Element where a new Package to be contained.
  2. Select Model | Add | Package in Menu Bar or Add | Package in Context Menu.

To edit a Package, you can do following actions:

Model

To create a Model on a diagram:

  1. Select Model in Toolbox.
  2. Drag on the diagram as the size of Model.

To create a Model (model element only) by Menu:

  1. Select an Element where a new Model to be contained.
  2. Select Model | Add | Model in Menu Bar or Add | Model in Context Menu.

To edit a Model, you can do following actions:

Subsystem

To create a Subsystem on a diagram:

  1. Select Subsystem in Toolbox.
  2. Drag on the diagram as the size of Subsystem.

To create a Subsystem (model element only) by Menu:

  1. Select an Element where a new Subsystem to be contained.
  2. Select Model | Add | Subsystem in Menu Bar or Add | Subsystem in Context Menu.

To edit a Subsystem, you can do following actions:

Containment

To show an Containment:

  1. Select Containment in Toolbox.
  2. Drag from an element (to be contained) and drop on a container element.

Note

There is no Containment model element. The Containment view element only show the containment relationship between two elements. (Contained elements are shown as children in Explorer)

Working with Composite Structure Diagram

To create a Composite Structure Diagram:

  1. Select first an element where a new Composite Structure Diagram to be contained as a child.
  2. Select Model | Add Diagram | Composite Structure Diagram in Menu Bar or select Add Diagram | Composite Structure Diagram in Context Menu.

In Composite Structure Diagram, you can use following elements.

See also

UML Composite Structure Diagram
For more information about UML Composite Structure Diagram.

Collaboration

To create a Collaboration:

  1. Select Collaboration in Toolbox.
  2. Drag on the diagram as the size of Collaboration.

To create a Collaboration (model element only) by Menu:

  1. Select an Element where a new Collaboration to be contained.
  2. Select Model | Add | Collaboration in Menu Bar or Add | Collaboration in Context Menu.

To edit a Collaboration, you can do following actions:

Port

To create a Port:

  1. Select Port in Toolbox.
  2. Click on the element (e.g. Class) where Port to be contained.

To create a Port (model element only) by Menu:

  1. Select an Element where a new Port to be contained.
  2. Select Model | Add | Port in Menu Bar or Add | Port in Context Menu.

To edit a Port, you can do following actions:

Part

To create a Part:

  1. Select Part in Toolbox.
  2. Click on the element (e.g. Class) where Part to be contained.

To edit a Part, you can do following actions:

Note

Actually, Part is equivalent to Attribute but represented differently on diagrams.

Connector

To create an Connector:

  1. Select Connector in Toolbox.
  2. Drag from an element (e.g. Port) and drop on another element (e.g. Part).

Collaboration Use

To create a Collaboration Use:

  1. Select Collaboration Use in Toolbox.
  2. Drag on the diagram as the size of Collaboration Use.

To edit a Collaboration Use, you can do following actions:

Role Binding

To create an Role Binding:

  1. Select Role Binding in Toolbox.
  2. Drag from a Collaboration Use and drop on an element (e.g. Part).

Working with Object Diagram

To create a Object Diagram:

  1. Select first an element where a new Object Diagram to be contained as a child.
  2. Select Model | Add Diagram | Object Diagram in Menu Bar or select Add Diagram | Object Diagram in Context Menu.

In Object Diagram, you can use following elements.

See also

UML Object Diagram
For more information about UML Object Diagram.

Object

To create a Object:

  1. Select Object in Toolbox.
  2. Drag on the diagram as the size of Object.

To edit a Object, you can do following actions:

Slot

To add an Slot:

  1. Select an Instance.
  2. Select Model | Add | Slot in Menu Bar or Add | Slot in Context Menu.

To edit an Slot, you can do following actions:

Artifact Instance

To create a Artifact Instance:

  1. Select Artifact Instance in Toolbox.
  2. Drag on the diagram as the size of Artifact Instance.

To edit a Artifact Instance, you can do following actions:

Component Instance

To create a Component Instance:

  1. Select Component Instance in Toolbox.
  2. Drag on the diagram as the size of Component Instance.

To edit a Component Instance, you can do following actions:

Node Instance

To create a Node Instance:

  1. Select Node Instance in Toolbox.
  2. Drag on the diagram as the size of Node Instance.

To edit a Node Instance, you can do following actions:

Working with Component Diagram

To create a Component Diagram:

  1. Select first an element where a new Component Diagram to be contained as a child.
  2. Select Model | Add Diagram | Component Diagram in Menu Bar or select Add Diagram | Component Diagram in Context Menu.

In Component Diagram, you can use following elements.

See also

UML Component Diagram
For more information about UML Component Diagram.

Component

To create a Component:

  1. Select Component in Toolbox.
  2. Drag on the diagram as the size of Component.

To create a Component (model element only) by Menu:

  1. Select an Element where a new Component to be contained.
  2. Select Model | Add | Component in Menu Bar or Add | Component in Context Menu.

To edit a Component, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Artifact

To create a Artifact:

  1. Select Artifact in Toolbox.
  2. Drag on the diagram as the size of Artifact.

To create a Artifact (model element only) by Menu:

  1. Select an Element where a new Artifact to be contained.
  2. Select Model | Add | Artifact in Menu Bar or Add | Artifact in Context Menu.

To edit a Artifact, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Component Realization

To create an Component Realization:

  1. Select Component Realization in Toolbox.
  2. Drag from an element (realizing) and drop on a Component (to be realized).

Working with Deployment Diagram

To create a Deployment Diagram:

  1. Select first an element where a new Deployment Diagram to be contained as a child.
  2. Select Model | Add Diagram | Deployment Diagram in Menu Bar or select Add Diagram | Deployment Diagram in Context Menu.

In Deployment Diagram, you can use following elements.

See also

UML Deployment Diagram
For more information about UML Deployment Diagram.

Node

To create a Node:

  1. Select Node in Toolbox.
  2. Drag on the diagram as the size of Node.

To create a Node (model element only) by Menu:

  1. Select an Element where a new Node to be contained.
  2. Select Model | Add | Node in Menu Bar or Add | Node in Context Menu.

To edit a Node, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Deployment

To create an Deployment:

  1. Select Deployment in Toolbox.
  2. Drag from an element (to be deployed) and drop on a Node.

Communication Path

To create an Communication Path:

  1. Select Communication Path in Toolbox.
  2. Drag from a Node and drop on another Node.

Working with Use Case Diagram

To create a Use Case Diagram:

  1. Select first an element where a new Use Case Diagram to be contained as a child.
  2. Select Model | Add Diagram | Use Case Diagram in Menu Bar or select Add Diagram | Use Case Diagram in Context Menu.

In Use Case Diagram, you can use following elements.

See also

UML Use Case Diagram
For more information about UML Use Case Diagram.

Use Case Subject

To create an Use Case Subject:

  1. Select Use Case Subject in Toolbox.
  2. Drag on the diagram as the size of Use Case Subject.

Actor

To create an Actor:

  1. Select Actor in Toolbox.
  2. Drag on the diagram as the size of Actor.

To create an Actor (model element only) by Menu:

  1. Select an Element where a new Actor to be contained.
  2. Select Model | Add | Actor in Menu Bar or Add | Actor in Context Menu.

To edit an Actor, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Use Case

To create an Use Case:

  1. Select Use Case in Toolbox.
  2. Drag on the diagram as the size of Use Case.

To create an Use Case (model element only) by Menu:

  1. Select an Element where a new Use Case to be contained.
  2. Select Model | Add | Use Case in Menu Bar or Add | Use Case in Context Menu.

To edit an Use Case, you can do following actions:

  • Use quick-edit-usecase by double-click or press Enter on a selected Use Case.
  • Add Extension Point - See Extension Point.

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Extension Point

To add an Extension Point:

  1. Select an Use Case.
  2. Select Model | Add | Extension Point in Menu Bar or Add | Extension Point in Context Menu.

To edit an Extension Point, you can do following actions:

Include

To create an Include:

  1. Select Include in Toolbox.
  2. Drag from a Use Case and drop on another Use Case (to be included).

Extend

To create an Extend:

  1. Select Extend in Toolbox.
  2. Drag from a Use Case (to be extended) and drop on another Use Case.

Working with Sequence Diagram

To create a Sequence Diagram:

  1. Select first an element where a new Sequence Diagram to be contained as a child.
  2. Select Model | Add Diagram | Sequence Diagram in Menu Bar or select Add Diagram | Sequence Diagram in Context Menu.

In Sequence Diagram, you can use following elements.

See also

UML Sequence Diagram
For more information about UML Sequence Diagram.

Lifeline

To create a Lifeline:

  1. Select Lifeline in Toolbox.
  2. Drag on the diagram as the size of Lifeline.

To create a Lifeline from a Classifier (Class, Interface, etc.) by Drag-and-Drop:

  1. Drag a Classifier from Explorer.
  2. Drop on the diagram.

To edit a Lifeline, you can do following actions:

Message

To create a Message (or Self Message):

  1. Select Message (or Self Message) in Toolbox.
  2. Drag from a Lifeline and drop on another Lifeline. (Just click on a Lifeline if you want to create a self message.)

You can change the kind of message by setting messageSort property in Property Editor:

  • synchCall : Synchronous Call
  • asynchCall : Asynchronous Call
  • asynchSignal : Asynchronous Signal
  • createMessage : Create Message
  • deleteMessage : Delete Message
  • reply : Reply Message

To edit a Message, you can do following actions:

Endpoint

To create an Endpoint:

  1. Select Endpoint in Toolbox.
  2. Click at the position on the diagram.

Gate

To create a Gate:

  1. Select Gate in Toolbox.
  2. Click at the position on the diagram.

State Invariant

To create a State Invariant:

  1. Select State Invariant in Toolbox.
  2. Click on a Lifeline where the State Invariant to be attached.

Continuation

To create a Continuation:

  1. Select Continuation in Toolbox.
  2. Drag on the diagram as the size of Continuation.

Combined Fragment

To create a Combined Fragment:

  1. Select Combined Fragment in Toolbox.
  2. Drag on the diagram as the size of Combined Fragment.

To edit a Combined Fragment, you can do following actions:

Interaction Use

To create a Interaction Use:

  1. Select Interaction Use in Toolbox.
  2. Drag on the diagram as the size of Interaction Use.

Working with Communication Diagram

To create a Communication Diagram:

  1. Select first an element where a new Communication Diagram to be contained as a child.
  2. Select Model | Add Diagram | Communication Diagram in Menu Bar or select Add Diagram | Communication Diagram in Context Menu.

In Communication Diagram, you can use following elements.

See also

UML Communication Diagram
For more information about UML Communication Diagram.

Connector

To create an Connector (or Self Connector):

  1. Select Connector (or Self Connector) in Toolbox.
  2. Drag from a Lifeline and drop on another Lifeline. (Just click on a Lifeline if you want to create a Self Connector.)

Forward Message

To create a Forward Message:

  1. Select Forward Message in Toolbox.
  2. Click on a Connector.

To edit a Message, you can do following actions:

Reverse Message

To create a Reverse Message:

  1. Select Reverse Message in Toolbox.
  2. Click on a Connector.

To edit a Message, you can do following actions:

Working with Statechart Diagram

To create a Statechart Diagram:

  1. Select first an element where a new Statechart Diagram to be contained as a child.
  2. Select Model | Add Diagram | Statechart Diagram in Menu Bar or select Add Diagram | Statechart Diagram in Context Menu.

In Statechart Diagram, you can use following elements.

See also

UML Statechart Diagram
For more information about UML Statechart Diagram.

State

To create a Simple State:

  1. Select Simple State in Toolbox.
  2. Drag on the diagram as the size of Simple State.

To create a Composite State:

  1. Select Composite State in Toolbox.
  2. Drag on the diagram as the size of Composite State.

To create a Submachine State:

  1. Select Submachine State in Toolbox.
  2. Drag on the diagram as the size of Submachine State.
  3. Select a StateMachine in Element Picker Dialog.

To create an Orthogonal State:

  1. Select Orthogonal State in Toolbox.
  2. Drag on the diagram as the size of Orthogonal State.

To edit a State, you can do following actions:

Internal Activity

To add an Entry Activity:

  1. Select a State.
  2. Select Model | Add | Entry Activity in Menu Bar or Add | Entry Activity in Context Menu.
  3. Select a kind of Activity to create.

To add a Do Activity:

  1. Select a State.
  2. Select Model | Add | Do Activity in Menu Bar or Add | Do Activity in Context Menu.
  3. Select a kind of Activity to create.

To add an Exit Activity:

  1. Select a State.
  2. Select Model | Add | Exit Activity in Menu Bar or Add | Exit Activity in Context Menu.
  3. Select a kind of Activity to create.

Region

To add a Region:

  1. Select a State.
  2. Select Model | Add | Region in Menu Bar or Add | Region in Context Menu.

Initial State

To create a Initial State:

  1. Select Initial State in Toolbox.
  2. Click at the position on the diagram.

Final State

To create a Final State:

  1. Select Final State in Toolbox.
  2. Click at the position on the diagram.

Choice

To create a Choice:

  1. Select Choice in Toolbox.
  2. Click at the position on the diagram.

Join

To create a Join:

  1. Select Join in Toolbox.
  2. Drag on the diagram as the size of Join.

Fork

To create a Fork:

  1. Select Fork in Toolbox.
  2. Drag on the diagram as the size of Fork.

Junction

To create a Junction:

  1. Select Junction in Toolbox.
  2. Click at the position on the diagram.

Shallow History

To create a Shallow History:

  1. Select Shallow History in Toolbox.
  2. Click at the position on the diagram.

Deep History

To create a Deep History:

  1. Select Deep History in Toolbox.
  2. Click at the position on the diagram.

Entry Point

To create a Entry Point:

  1. Select Entry Point in Toolbox.
  2. Click at the position on the diagram.

Exit Point

To create a Exit Point:

  1. Select Exit Point in Toolbox.
  2. Click at the position on the diagram.

Terminate

To create a Terminate:

  1. Select Terminate in Toolbox.
  2. Click at the position on the diagram.

Connection Point Reference

To create a Connection Point Reference:

  1. Select Connection Point Reference in Toolbox.
  2. Click on a State where Connection Point Reference to be contained.

Transition

To create a Transition (or Self Transition):

  1. Select Transition (or Self Transition) in Toolbox.
  2. Drag from a State and drop on another State. (Just click on a State if you want to create a Self Transition.)

To edit a Transition, you can do following actions:

Working with Activity Diagram

To create a Activity Diagram:

  1. Select first an element where a new Activity Diagram to be contained as a child.
  2. Select Model | Add Diagram | Activity Diagram in Menu Bar or select Add Diagram | Activity Diagram in Context Menu.

In Activity Diagram, you can use following elements.

See also

UML Activity Diagram
For more information about UML Activity Diagram.

Action

To create an Action:

  1. Select Action in Toolbox.
  2. Drag on the diagram as the size of Action.

To edit an Action, you can do following actions:

Event

To add an Event:

  1. Select an Action.
  2. Select Model | Add | Trigger in Menu Bar or Add | Trigger in Context Menu.

Initial

To create an Initial:

  1. Select Initial in Toolbox.
  2. Click at the position on the diagram.

Activity Final

To create an Activity Final:

  1. Select Activity Final in Toolbox.
  2. Click at the position on the diagram.

Fork

To create a Fork:

  1. Select Fork in Toolbox.
  2. Drag on the diagram as the size of Fork.

Join

To create a Join:

  1. Select Join in Toolbox.
  2. Drag on the diagram as the size of Join.

Merge

To create a Merge:

  1. Select Merge in Toolbox.
  2. Click at the position on the diagram.

Decision

To create a Decision:

  1. Select Decision in Toolbox.
  2. Click at the position on the diagram.

Swimlane (Partition)

To create a Swimlane (Vertical or Horizontal):

  1. Select Swimlane (Vertical) or Swimlane (Horizontal) in Toolbox.
  2. Drag on the diagram as the size of Swimlane.

Input Pin

To create an Input Pin:

  1. Select Input Pin in Toolbox.
  2. Click on an Action where Input Pin to be attached.

Output Pin

To create an Output Pin:

  1. Select Output Pin in Toolbox.
  2. Click on an Action where Output Pin to be attached.

Send Signal

To create a Send Signal:

  1. Select Send Signal in Toolbox.
  2. Drag on the diagram as the size of Send Signal.

Accept Signal

To create an Accept Signal:

  1. Select Accept Signal in Toolbox.
  2. Drag on the diagram as the size of Accept Signal.

Flow Final

To create a Flow Final:

  1. Select Flow Final in Toolbox.
  2. Click at the position on the diagram.

Object Node

To create a Object Node:

  1. Select Object Node in Toolbox.
  2. Drag on the diagram as the size of Object Node.

Control Flow

To create a Control Flow:

  1. Select Control Flow in Toolbox.
  2. Drag from a node and drop on another node.

Object Flow

To create a Object Flow:

  1. Select Object Flow in Toolbox.
  2. Drag from a node and drop on another node.

Working with Profile Diagram

To create a Profile Diagram:

  1. Select first an element where a new Profile Diagram to be contained as a child.
  2. Select Model | Add Diagram | Profile Diagram in Menu Bar or select Add Diagram | Profile Diagram in Context Menu.

In Profile Diagram, you can use following elements.

See also

UML Profile Diagram
For more information about UML Profile Diagram.

Profile

To create a Profile (model element only) by Menu:

  1. Select an Element where a new Profile to be contained.
  2. Select Model | Add | Profile in Menu Bar or Add | Profile in Context Menu.

MetaClass

To create a MetaClass:

  1. Select MetaClass in Toolbox.
  2. Drag on the diagram as the size of MetaClass.

To create a MetaClass (model element only) by Menu:

  1. Select an Element where a new MetaClass to be contained.
  2. Select Model | Add | MetaClass in Menu Bar or Add | MetaClass in Context Menu.

To edit a MetaClass, you can do following actions:

Stereotype

To create a Stereotype:

  1. Select Stereotype in Toolbox.
  2. Drag on the diagram as the size of Stereotype.

To create a Stereotype (model element only) by Menu:

  1. Select an Element where a new Stereotype to be contained.
  2. Select Model | Add | Stereotype in Menu Bar or Add | Stereotype in Context Menu.

To edit a Stereotype, you can do following actions:

To suppress Attributes, see Suppress Attributes.

To suppress Operations, see Suppress Operations.

To hide Operation signatures, see Show Operation Signature.

Extension

To create a Extension:

  1. Select Extension in Toolbox.
  2. Drag from a Stereotype and drop on a MetaClass.

Managing Extensions

Install Extension

To install an extension from Extension Registry:

  1. Show Extension Manager by selecting Tools | Extension Manager....
  2. Select Registry button.
  3. Find an extension to install by search.
  4. Press Install button of the extension.

To install an extension directly from Github repository:

  1. Show Extension Manager by selecting Tools | Extension Manager....
  2. Select Install From Url button.
  3. Enter Url of the Github project on input box
  4. press Install button.

To install an extension manually:

  1. Get an extension as a .zip file.
  2. Extract the file on the extensions path.
    • /Users/<user>/Library/Application Support/StarUML/extensions/user for Mac OS.
    • C:\Users\<user>\AppData\Roaming\StarUML\extensions\user for Windows.
  3. Check a folder in the extensions path and main.js file in the folder.
  4. Restart StarUML.

Uninstall Extension

To uninstall an extension:

  1. Show Extension Manager by selecting Tools | Extension Manager....
  2. Select Installed button.
  3. Find an extension to uninstall by search.
  4. Press Remove button of the extension.

To install an extension manually:

  1. Go to the extensions path.
    • /Users/<user>/Library/Application Support/StarUML/extensions/user for Mac OS.
    • C:\Users\<user>\AppData\Roaming\StarUML\extensions\user for Windows.
  2. Remove the extension folder to uninstall.
  3. Restart StarUML.

Update Extension

To uninstall an extension:

  1. Show Extension Manager by selecting Tools | Extension Manager....
  2. Select Registry button.
  3. Update button will be shown if the extension has updates.
  4. Press Update button of the extension.

To update an extension manually:

  1. Uninstall extension of old version manually.
  2. Install extension of new version manually.
  3. Restart StarUML.

Reference

Quick Edits

Quick Edit is a dialog to support editing elements quickly. To show Quick Edit, double-click or press Enter on a selected Class.

Quick Edit for General Element

Quick Edit for General Element allows following actions:

Syntax of Name Expression
[ "<<" stereotype ">>" ] [ visibility ] name
stereotype
Stereotype name of element.
visibility = "+" | "#" | "-" | "~"
+ (public), # (protected), - (private), or ~ (package).
name
Name of element.

Quick Edit for Classifier

Applicable to Classifier element (Class, Interface, Signal, DataType, PrimitiveType, Enumeration, Component, Node, Artifact, Use Case, and Actor).

Support following actions:

  • Change visibility - Select visibility in the dropdown button.
  • Edit name expression - Refer to Syntax of Name Expression.
  • Add Attribute - Click Add Attribute button.
  • Add Operation - Click Add Operation button.

Quick Edit for Attribute

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit attribute expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Operation

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit operation expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Template Parameter

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit template parameter expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Enumeration

Applicable to Enumeration.

Support following actions:

  • Change visibility - Select visibility in the dropdown button.
  • Edit name expression - Refer to Syntax of Name Expression.
  • Add Enumeration Literal - Click Add Literal button.

Quick Edit for Enumeration Literal

Applicable to Enumeration Literals.

Support following actions:

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit name expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Instance

Applicable to Instances (Object, ArtifactInstance, ComponentInstance, NodeInstance).

Support following actions:

  • Change visibility - Select visibility in the dropdown button.
  • Edit name expression - Refer to Syntax of Name Expression.
  • Add Slot - Click Add Slot button.

Quick Edit for Slot

Applicable to Slots.

Support following actions:

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit name expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Use Case

Applicable to Use Case.

Support following actions:

  • Change visibility - Select visibility in the dropdown button.
  • Edit name expression - Refer to Syntax of Name Expression.
  • Add Extension Point - Click Add Extension Point button.

Quick Edit for Extension Point

Applicable to Extension Points.

Support following actions:

  • Change visibility - Select a visibility kind in the dropdown.
  • Edit name expression
  • Add - Press Add button or press Ctrl+Enter.
  • Delete - Press Delete button or press Ctrl+Delete.
  • Move Up - Press Move Up button or press Ctrl+Up.
  • Move Down - Press Move Down button or press Ctrl+Down.

Quick Edit for Lifeline

Applicable to Lifeline.

Support following actions:

  • Edit lifeline expression
  • Select Type - Press Select Type button.
  • Create Type - Press Create Type button.

Quick Edit for Message

Applicable to Message.

Support following actions:

  • Edit message expression
  • Select Operation - Press Select Operation button.
  • Create Operation - Press Create Operation button.
  • Select Signal - Press Select Signal button.
  • Create Signal - Press Create Signal button.

Quick Edit for Combined Fragment

Applicable to Combined Fragment.

Support following actions:

  • Edit name expression
  • Add Operand - Press Add Operand button.

Quick Edit for State

Applicable to State.

Support following actions:

  • Edit name expression
  • Add Region - Press Add Region button.
  • Add Entry Activity - Press Add Entry Activity button.
  • Add Do Activity - Press Add Do Activity button.
  • Add Exit Activity - Press Add Exit Activity button.

Quick Edit for Transition

Applicable to Transition.

Support following actions:

  • Edit name expression
  • Add Trigger Event - Press Add Trigger Event button.
  • Add Behavior Effect - Press Add Behavior Effect button.

Quick Edit for Action

Applicable to Action.

Support following actions:

  • Edit name expression
  • Add Trigger Event - Press Add Trigger Event button.

UML Validation Rules

UMLModelElement

(UML001) Name expected.

  • Element should have a name.
  • Applies to: UMLModelElement.
  • Exceptions: UMLParameter (only if direction === 'return'), UMLDirectedRelationship, UMLRelationshipEnd, UMLUndirectedRelationship, UMLAssociationClassLink, UMLRegion, UMLPseudostate, UMLFinalState, UMLControlNode, UMLEndpoint, UMLGate, UMLImage.

(UML002) Name is already defined.

  • If element has a name, then it should be unique in the namespace.
  • Applies to: UMLModelElement.
  • Exceptions: UMLOperation.

UMLAttribute

(UML003) Conflict with inherited attributes.

  • Applies to: UMLAttribute.

UMLOperation

(UML004) Signature conflict.

  • Same signature is not allowed in a classifier.
  • Applies To: UMLOperation.

UMLClassifier

(UML006) Final and leaf element must not have child.

  • If isFinalSpecifiction or isLeaf is true, then it should not have child.
  • Applies to: UMLClassifier.

(UML007) Duplicated generalizations.

  • Do not make duplicated generalizations from the same element.
  • Applies to: UMLClassifier.

(UML008) Circular generalizations.

  • Do not generalize from one of the children.
  • Applies to: UMLClassifier.

(UML009) Duplicated realizations.

  • Applies to: UMLClassifier.

(UML010) Duplicated role names of associated classifiers.

  • Applies to: UMLClassifier.

UMLInterface

(UML011) All attributes and operations of interface must be public.

  • All attributes and operations of an interface should have public visibility.
  • Applies to: UMLInterface.

UMLAssociation

(UML012) Aggregation must be one in an association.

  • Applies to: UMLAssociation.

UMLArtifactInstance

(UML013) Type of an artifact instance must be an artifact.

  • Applies to: UMLArtifactInstance.

UMLComponentInstance

(UML014) Type of a component instance must be a component.

  • Applies to: UMLComponentInstance.

UMLNodeInstance

(UML015) Type of a node instance must be a node.

  • Applies to: UMLNodeInstance.

UMLMetaClass

(UML016) A metaclass must have name defined in metamodel.

  • Applies to: UMLMetaClass

UMLStereotype

(UML017) A stereotype must inherits from stereotype.

  • Applies To: UMLStereotype

(UML018) A stereotype must contained by a profile.

  • Applies To: UMLStereotype

UMLActor

(UML019) An actor only can associate with use cases, components, and classes.

  • Applies To: UMLActor

UMLUseCase

(UML020) A use case cannot include use cases that directly or indirectly include it.

  • Applies To: UMLUseCase

UMLPseudostate

(UML021) An initial vertex can have at most one outgoing transition.

  • Applies To: UMLPseudostate (kind = 'initial')

(UML022) The outgoing transition from an initial vertex must not have a trigger or guard.

  • Applies To: UMLPseudostate (kind = 'initial')

(UML023) History vertices can have at most one outgoing transition.

  • Applies To: UMLPseudostate (kind = 'deepHistory' | 'shallowHistory'

(UML024) A join vertex must have at least two incoming transitions and exactly one outgoing transition.

  • Applies To: UMLPseudostate (kind = 'join')

(UML025) A fork vertex must have at least two outgoing transitions and exactly one incoming transition.

  • Applies To: UMLPseudostate (kind = 'fork')

(UML026) A junction vertex must have at least one incoming and one outgoing transition.

  • Applies To: UMLPseudostate (kind = 'junction')

(UML027) A choice vertex must have at least one incoming and one outgoing transition.

  • Applies To: UMLPseudostate (kind = 'choice')

UMLState

(UML028) Only submachine states can have connection point references.

  • Applies To: UMLState

(UML029) A state is not allowed to have both a submachine and regions.

  • Applies To: UMLState

UMLRegion

(UML030) A region can have at most one initial vertex.

  • Applies To: UMLRegion

(UML031) A region can have at most one deep history vertex.

  • Applies To: UMLRegion

(UML032) A region can have at most one shallow history vertex.

  • Applies To: UMLRegion

UMLFinalState

(UML033) A final state cannot have any outgoing transitions.

  • Applies To: UMLFinalState

(UML034) A final state cannot have regions.

  • Applies To: UMLFinalState

(UML035) A final state cannot reference a submachine.

  • Applies To: UMLFinalState

(UML036) A final state has no entry behavior.

  • Applies To: UMLFinalState

(UML037) A final state has no exit behavior.

  • Applies To: UMLFinalState

(UML038) A final state has no state (doActivity) behavior.

  • Applies To: UMLFinalState

UMLTransition

(UML039) A fork segment must not have guards or triggers.

  • Applies To: UMLTransition

(UML040) A join segment must not have guards or triggers.

  • Applies To: UMLTransition

(UML041) A fork segment must always target a state.

  • Applies To: UMLTransition

(UML042) A join segment must always originate from a state.

  • Applies To: UMLTransition

(UML043) Transitions outgoing pseudostates may not have a trigger (except for those coming out of the initial pseudostate).

  • Applies To: UMLTransition

UMLStateMachine

(UML044) The classifier context of a state machine cannot be an interface.

  • Applies To: UMLStateMachine

UMLDecisonNode

(UML045) A decision node has one or two incoming edges and at least one outgoing edge.

_ Applies To: UMLDecisionNode

UMLMergeNode

(UML046) A merge node has one outgoing edge.

  • Applies To: UMLMergeNode

(UML047) The edges coming into and out of a merge node must be either all object flows or all control flows.

  • Applies To: UMLMergeNode

UMLInitialNode

(UML048) An initial node has no incoming edges.

  • Applies To: UMLInitialNode

(UML049) Only control edges can have initial nodes as source.

  • Applies To: UMLInitialNode

UMLFinalNode

(UML050) A final node has no outgoing edges.

  • Applies To: UMLFinalNode

UMLForkNode

(UML051) A fork node has one incoming edge.

  • Applies To: UMLForkNode

(UML052) The edges coming into and out of a fork node must be either all object flows or all control flows.

  • Applies To: UMLForkNode

UMLJoinNode

(UML053) A join node has one outgoing edge.

  • Applies To: UMLJoinNode

(UML054) The edges coming into and out of a join node must be either all object flows or all control flows.

  • Applies To: UMLJoinNode

UMLObjectNode

(UML055) All edges coming into or going out of object nodes must be object flow edges.

  • Applies To: UMLObjectNode

UMLControlFlow

(UML056) Control flows may not have object nodes at either end, except for object nodes with control type.

  • Applies To: UMLControlFlow

UMLObjectFlow

(UML057) Object flows may not have actions at either end.

  • Applies To: UMLObjectFlow

Indices and tables