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¶
Contents
- Editing Elements and Diagrams
- Editing Diagrams
- Editing Elements
- Formatting View Elements
- Change Font
- Change Line Color
- Change Fill Color
- Change Line Style
- Set Auto Resize
- Set Word Wrap
- Stereotype Display
- Show Visibility
- Show Namespace
- Show Property
- Show Type
- Show Multiplicity
- Show Operation Signature
- Suppress Attributes
- Suppress Operations
- Suppress Literals
- Aligning View Elements
- Layout Diagram
- Extending Elements
- Finding Model Elements
Editing Diagrams¶
Create Diagram¶
To create a Diagram:
- Select first an element where a new Diagram to be contained as a child in Explorer.
- Select Model | Add Diagram | <DiagramType> in Menu Bar or select Add Diagram | <DiagramType> in Context Menu.
Delete Diagram¶
To delete a Diagram:
- Select a Diagram to delete in Explorer.
- 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:
- Select <ElementType> in Toolbox.
- 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:
- Select a Model Element in Explorer.
- Drag the Model Element and drop on a Diagram.
To create a Model Element in Explorer:
- Select first an element where a new Model Element to be contained as a child in Explorer.
- 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.
- Select View Elements to be deleted in a Diagram.
- 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:
- Select Elements to be deleted in a Diagram or in Explorer.
- 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
- Select view elements in a diagram to copy. (You can select multiple elements. See Select Elements)
- Press
Ctrl+C
or select Edit | Copy in Menu Bar or Copy in Context Menu. (To cut view elements, pressCtrl+X
or select Edit | Cut in Menu Bar or Cut in Context Menu) - Open the diagram where the copied view elements to be pasted. (See open diagram??)
- 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:
- Select a model element to copy in Explorer.
- Press
Ctrl+C
or select Edit | Copy in Menu Bar or Copy in Context Menu. (To cut view elements, pressCtrl+X
or select Edit | Cut in Menu Bar or Cut in Context Menu) - Select a model element where the copied element will be pasted in Explorer.
- 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:
- Select view elements in diagram.
- Show FontDialog by pressing
Ctrl+Shift+F
or selecting Format | Font... in Menu Bar or Context Menu. - Select font face, size or color and press OK button.

You can also use Style Editor to change Font face, size, and color.
Change Line Color¶
To change line color of view elements:
- Select view elements in diagram.
- Show ColorDialog for line color by pressing
Ctrl+Shift+L
or selecting Format | Line Color... in Menu Bar or Context Menu. - Select line color and press OK button.

You can also use Style Editor to change line color.
Change Fill Color¶
To change fill color of view elements:
- Select view elements in diagram.
- Show ColorDialog for fill color by pressing
Ctrl+Shift+I
or selecting Format | Fill Color... in Menu Bar or Context Menu. - Select fill color and press OK button.
You can also use Style Editor to change fill color.
Change Line Style¶

To change line style of view elements:
- Select view elements in diagram.
- 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.
- Rectilinear - Press
You can also use Style Editor to line style.
Set Auto Resize¶
To set view elements always resize automatically:
- Select view elements in diagram.
- 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:
- Select view elements in diagram.
- 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:
- Select view elements in diagram.
- 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.

Show Visibility¶
To show (or hide) visibilities:
- Select view elements in diagram.
- Press
Ctrl+Shift+V
or check (or uncheck) Format | Show Visibility in Menu Bar or Context Menu.
Show Namespace¶
To show (or hide) namespace:
- Select view elements in diagram.
- Press
Ctrl+Shift+N
or check (or uncheck) Format | Show Namespace in Menu Bar or Context Menu.
Show Property¶
To show (or hide) properties:
- Select view elements in diagram.
- Press
Ctrl+Shift+P
or check (or uncheck) Format | Show Property in Menu Bar or Context Menu.
Show Type¶
To show (or hide) types:
- Select view elements in diagram.
- Press
Ctrl+Shift+Y
or check (or uncheck) Format | Show Type in Menu Bar or Context Menu.
Show Multiplicity¶
To show (or hide) multiplicities:
- Select view elements in diagram.
- 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:
- Select view elements in diagram.
- Press
Ctrl+Shift+G
or check (or uncheck) Format | Show Operation Signature in Menu Bar or Context Menu.
Suppress Attributes¶
To suppress attributes:
- Select view elements (e.g. Class) in diagram.
- Press
Ctrl+Shift+A
or check (or uncheck) Format | Suppress Attributes in Menu Bar or Context Menu.
Suppress Operations¶
To suppress operations:
- Select view elements (e.g. Class) in diagram.
- Press
Ctrl+Shift+O
or check (or uncheck) Format | Suppress Operations in Menu Bar or Context Menu.
Suppress Literals¶
To suppress literals:
- Select Enumeration view elements in diagram.
- 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:
- Select view elements in diagram.
- 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:
- Select view elements in diagram.
- 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:
- Select view elements in diagram.
- 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:
- Open the diagram to be layout.
- Select Format | Layout | Auto in Menu Bar.
If you want to layout diagram in a particular direction:
- Open the diagram to be layout.
- 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):
- Select model elements to assign stereotype.
- Click the magnifier icon on the right side of stereotype property in Property Editor.
- Select a stereotype in Element Picker Dialog.
To assign temporal stereotype to elements:
- Select model elements to assign stereotype.
- Enter stereotype name in stereotype property in Property Editor.
Add Constraints¶
To add a Constraint to an element:
- Select model elements to add a constraint.
- Select Model | Add | Constraint in Menu Bar or select Add | Constraint in Context Menu.
- 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:
- Select an Element in Explorer or in a Diagram.
- 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 ofstring
,reference
,boolean
,number
, orhidden
. ifhidden
is chosen, this Tag will not be shown on View Element. value
- Value of Tag when
kind
isstring
. reference
- Reference value of Tag when
kind
isreference
. checked
- Boolean value of Tag when
kind
isboolean
. number
- Number value of Tag when
kind
isnumber
.
To show or hide Tags on View Elements, see Show Property.
Finding Model Elements¶
To find model elements by keyword:
- Press
Ctrl+F
or Select Model | Find... in Menu Bar. - Enter keyword in Edit Box.
- 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.
- 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:
- First select an element where a new Class Diagram to be contained as a child.
- 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.
- Class
- Attribute
- Operation
- Parameter
- Template Parameter
- Interface
- Association
- Aggregation
- Composition
- Dependency
- Generalization
- Interface Realization
- Signal
- DataType
- PrimitiveType
- Enumeration
- AssociationClass
- Package
- Model
- Subsystem
- Containment
See also
- UML Class Diagram
- For more information about UML Class Diagram.
Class¶
To create a Class:
- Select Class in Toolbox.
- Drag on the diagram as the size of Class.
To create a Class (model element only) by Menu:
- Select an Element where a new Class to be contained.
- Select Model | Add | Class in Menu Bar or Add | Class in Context Menu.
To edit a Class, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Class. - Add Attribute - See Attribute.
- Add Operation - See Operation.
- Add Template Parameter - See Template Parameter.
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:
- Select a Classifier.
- Select Model | Add | Attribute in Menu Bar or Add | Attribute in Context Menu.
To edit an Attribute, you can do following actions:
- Use Quick Edit for Attribute by double-click or press
Enter
on a selected Attribute.
Operation¶
To add an Operation:
- Select a Classifier.
- Select Model | Add | Operation in Menu Bar or Add | Operation in Context Menu.
To edit an Operation, you can do following actions:
- Use Quick Edit for Operation by double-click or press
Enter
on a selected Operation. - Add Parameter - See Parameter.
To hide Operation signatures, see Show Operation Signature.
Parameter¶
To add a Parameter:
- Select an Operation.
- Select Model | Add | Parameter in Menu Bar or Add | Parameter in Context Menu.
Template Parameter¶
To add a Template Parameter:
- Select an Element.
- 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:
- Use Quick Edit for Template Parameter by double-click or press
Enter
on a selected Template Parameter.
Interface¶
To create an Interface:
- Select Interface in Toolbox.
- Drag on the diagram as the size of Interface.
To create an Interface (model element only) by Menu:
- Select an Element where a new Interface to be contained.
- Select Model | Add | Interface in Menu Bar or Add | Interface in Context Menu.
To edit an Interface, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Interface. - Add Attribute - See Attribute
- Add Operation - See Operation
- Add Template Parameter - See Template Parameter
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:
- Select Generalization in Toolbox.
- Drag from an element (to be special) and drop on another element (to be general).
Association¶
To create an Association (or Directed Association):
- Select Association (or Directed Association) in Toolbox.
- Drag from an element and drop on another element.
Aggregation¶
To create an Aggregation:
- Select Aggregation in Toolbox.
- 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:
- Select Composition in Toolbox.
- 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:
- Select Dependency in Toolbox.
- Drag from an element (client) and drop on another element (supplier).
Interface Realization¶
To create an Interface Realization:
- Select Interface Realization in Toolbox.
- Drag from an element (realizing) and drop on an interface (to be realized).
Signal¶
To create a Signal:
- Select Signal in Toolbox.
- Drag on the diagram as the size of Signal.
To create a Signal (model element only) by Menu:
- Select an Element where a new Signal to be contained.
- Select Model | Add | Signal in Menu Bar or Add | Signal in Context Menu.
To edit a Signal, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Signal. - Add Attribute - See Attribute
- Add Operation - See Operation
- Add Template Parameter - See Template Parameter
DataType¶
To create a DataType:
- Select DataType in Toolbox.
- Drag on the diagram as the size of DataType.
To create a DataType (model element only) by Menu:
- Select an Element where a new DataType to be contained.
- Select Model | Add | DataType in Menu Bar or Add | DataType in Context Menu.
To edit a DataType, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected DataType. - Add Attribute - See Attribute
- Add Operation - See Operation
- Add Template Parameter - See Template Parameter
PrimitiveType¶
To create a PrimitiveType:
- Select PrimitiveType in Toolbox.
- Drag on the diagram as the size of PrimitiveType.
To create a PrimitiveType (model element only) by Menu:
- Select an Element where a new PrimitiveType to be contained.
- Select Model | Add | PrimitiveType in Menu Bar or Add | PrimitiveType in Context Menu.
To edit a PrimitiveType, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected PrimitiveType. - Add Attribute - See Attribute
- Add Operation - See Operation
- Add Template Parameter - See Template Parameter
Enumeration¶
To create an Enumeration:
- Select Enumeration in Toolbox.
- Drag on the diagram as the size of Enumeration.
To create an Enumeration (model element only) by Menu:
- Select an Element where a new Enumeration to be contained.
- Select Model | Add | Enumeration in Menu Bar or Add | Enumeration in Context Menu.
To edit a Enumeration, you can do following actions:
- Use Quick Edit for Enumeration by double-click or press
Enter
on a selected Enumeration. - Add EnumerationLiteral - See Enumeration Literal
- Add Attribute - See Attribute
- Add Operation - See Operation
- Add Template Parameter - See Template Parameter
To suppress Literals, see Suppress Literals.
Enumeration Literal¶
To add an Enumeration Literal:
- Select a Classifier.
- 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:
- Use Quick Edit for Enumeration Literal by double-click or press
Enter
on a selected Enumeration Literal.
AssociationClass¶
To create an Association Class by linking two Classifiers:
- Select Association Class in Toolbox.
- Drag from an element and drop on another element.
- An Association and a Class connected to the association will be created.
To create an Association Class by linking Association and Class:
- Select Association Class in Toolbox.
- Drag from an Association (or Class) and drop on a Class (or Association).
- The Class will be connected to the Association.
Working with Package Diagram¶
To create a Package Diagram:
- Select first an element where a new Package Diagram to be contained as a child.
- 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:
- Select Package in Toolbox.
- Drag on the diagram as the size of Package.
To create a Package (model element only) by Menu:
- Select an Element where a new Package to be contained.
- Select Model | Add | Package in Menu Bar or Add | Package in Context Menu.
To edit a Package, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Class.
Model¶
To create a Model on a diagram:
- Select Model in Toolbox.
- Drag on the diagram as the size of Model.
To create a Model (model element only) by Menu:
- Select an Element where a new Model to be contained.
- Select Model | Add | Model in Menu Bar or Add | Model in Context Menu.
To edit a Model, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Class.
Subsystem¶
To create a Subsystem on a diagram:
- Select Subsystem in Toolbox.
- Drag on the diagram as the size of Subsystem.
To create a Subsystem (model element only) by Menu:
- Select an Element where a new Subsystem to be contained.
- Select Model | Add | Subsystem in Menu Bar or Add | Subsystem in Context Menu.
To edit a Subsystem, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Class.
Containment¶
To show an Containment:
- Select Containment in Toolbox.
- 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:
- Select first an element where a new Composite Structure Diagram to be contained as a child.
- 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.
- Class
- Interface
- Association
- Aggregation
- Composition
- Dependency
- Generalization
- Interface Realization
- Signal
- DataType
- PrimitiveType
- Enumeration
- AssociationClass
- Collaboration
- Port
- Part
- Connector
- Collaboration Use
- Role Binding
See also
- UML Composite Structure Diagram
- For more information about UML Composite Structure Diagram.
Collaboration¶
To create a Collaboration:
- Select Collaboration in Toolbox.
- Drag on the diagram as the size of Collaboration.
To create a Collaboration (model element only) by Menu:
- Select an Element where a new Collaboration to be contained.
- Select Model | Add | Collaboration in Menu Bar or Add | Collaboration in Context Menu.
To edit a Collaboration, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Collaboration. - Add Template Parameter - See Template Parameter.
Port¶
To create a Port:
- Select Port in Toolbox.
- Click on the element (e.g. Class) where Port to be contained.
To create a Port (model element only) by Menu:
- Select an Element where a new Port to be contained.
- Select Model | Add | Port in Menu Bar or Add | Port in Context Menu.
To edit a Port, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Port.
Part¶
To create a Part:
- Select Part in Toolbox.
- Click on the element (e.g. Class) where Part to be contained.
To edit a Part, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Part.
Note
Actually, Part is equivalent to Attribute but represented differently on diagrams.
Connector¶
To create an Connector:
- Select Connector in Toolbox.
- Drag from an element (e.g. Port) and drop on another element (e.g. Part).
Collaboration Use¶
To create a Collaboration Use:
- Select Collaboration Use in Toolbox.
- Drag on the diagram as the size of Collaboration Use.
To edit a Collaboration Use, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected Collaboration Use.
Role Binding¶
To create an Role Binding:
- Select Role Binding in Toolbox.
- Drag from a Collaboration Use and drop on an element (e.g. Part).
Working with Object Diagram¶
To create a Object Diagram:
- Select first an element where a new Object Diagram to be contained as a child.
- 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:
- Select Object in Toolbox.
- Drag on the diagram as the size of Object.
To edit a Object, you can do following actions:
- Use Quick Edit for Instance by double-click or press
Enter
on a selected Object. - Add Slot - See Slot.
Slot¶
To add an Slot:
- Select an Instance.
- Select Model | Add | Slot in Menu Bar or Add | Slot in Context Menu.
To edit an Slot, you can do following actions:
- Use Quick Edit for Slot by double-click or press
Enter
on a selected Slot.
Artifact Instance¶
To create a Artifact Instance:
- Select Artifact Instance in Toolbox.
- Drag on the diagram as the size of Artifact Instance.
To edit a Artifact Instance, you can do following actions:
- Use Quick Edit for Instance by double-click or press
Enter
on a selected Artifact Instance. - Add Slot - See Slot.
Component Instance¶
To create a Component Instance:
- Select Component Instance in Toolbox.
- Drag on the diagram as the size of Component Instance.
To edit a Component Instance, you can do following actions:
- Use Quick Edit for Instance by double-click or press
Enter
on a selected Component Instance. - Add Slot - See Slot.
Node Instance¶
To create a Node Instance:
- Select Node Instance in Toolbox.
- Drag on the diagram as the size of Node Instance.
To edit a Node Instance, you can do following actions:
- Use Quick Edit for Instance by double-click or press
Enter
on a selected Node Instance. - Add Slot - See Slot.
Link¶
To create an Link (or Directed Link):
- Select Link (or Directed Link) in Toolbox.
- Drag from an instance and drop on another instance.
Working with Component Diagram¶
To create a Component Diagram:
- Select first an element where a new Component Diagram to be contained as a child.
- 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.
- Component
- Artifact
- Interface
- Dependency
- Interface Realization
- Component Realization
- Node
- Deployment
- Communication Path
- Object
- Artifact Instance
- Component Instance
- Node Instance
- Link
See also
- UML Component Diagram
- For more information about UML Component Diagram.
Component¶
To create a Component:
- Select Component in Toolbox.
- Drag on the diagram as the size of Component.
To create a Component (model element only) by Menu:
- Select an Element where a new Component to be contained.
- Select Model | Add | Component in Menu Bar or Add | Component in Context Menu.
To edit a Component, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Component. - Add Attribute - See Attribute.
- Add Operation - See Operation.
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:
- Select Artifact in Toolbox.
- Drag on the diagram as the size of Artifact.
To create a Artifact (model element only) by Menu:
- Select an Element where a new Artifact to be contained.
- Select Model | Add | Artifact in Menu Bar or Add | Artifact in Context Menu.
To edit a Artifact, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Artifact. - Add Attribute - See Attribute.
- Add Operation - See Operation.
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:
- Select Component Realization in Toolbox.
- Drag from an element (realizing) and drop on a Component (to be realized).
Working with Deployment Diagram¶
To create a Deployment Diagram:
- Select first an element where a new Deployment Diagram to be contained as a child.
- 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.
- Component
- Artifact
- Interface
- Dependency
- Interface Realization
- Component Realization
- Node
- Deployment
- Communication Path
- Object
- Artifact Instance
- Component Instance
- Node Instance
- Link
See also
- UML Deployment Diagram
- For more information about UML Deployment Diagram.
Node¶
To create a Node:
- Select Node in Toolbox.
- Drag on the diagram as the size of Node.
To create a Node (model element only) by Menu:
- Select an Element where a new Node to be contained.
- Select Model | Add | Node in Menu Bar or Add | Node in Context Menu.
To edit a Node, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Node. - Add Attribute - See Attribute.
- Add Operation - See Operation.
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:
- Select Deployment in Toolbox.
- Drag from an element (to be deployed) and drop on a Node.
Communication Path¶
To create an Communication Path:
- Select Communication Path in Toolbox.
- Drag from a Node and drop on another Node.
Working with Use Case Diagram¶
To create a Use Case Diagram:
- Select first an element where a new Use Case Diagram to be contained as a child.
- 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.
- Package
- Use Case Subject
- Actor
- Use Case
- Extension Point
- Association
- Dependency
- Generalization
- Include
- Extend
See also
- UML Use Case Diagram
- For more information about UML Use Case Diagram.
Use Case Subject¶
To create an Use Case Subject:
- Select Use Case Subject in Toolbox.
- Drag on the diagram as the size of Use Case Subject.
Actor¶
To create an Actor:
- Select Actor in Toolbox.
- Drag on the diagram as the size of Actor.
To create an Actor (model element only) by Menu:
- Select an Element where a new Actor to be contained.
- Select Model | Add | Actor in Menu Bar or Add | Actor in Context Menu.
To edit an Actor, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Actor. - Add Attribute - See Attribute
- Add Operation - See Operation
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:
- Select Use Case in Toolbox.
- Drag on the diagram as the size of Use Case.
To create an Use Case (model element only) by Menu:
- Select an Element where a new Use Case to be contained.
- 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:
- Select an Use Case.
- 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:
- Use Quick Edit for Extension Point by double-click or press
Enter
on a selected Extension Point.
Include¶
To create an Include:
- Select Include in Toolbox.
- Drag from a Use Case and drop on another Use Case (to be included).
Extend¶
To create an Extend:
- Select Extend in Toolbox.
- Drag from a Use Case (to be extended) and drop on another Use Case.
Working with Sequence Diagram¶
To create a Sequence Diagram:
- Select first an element where a new Sequence Diagram to be contained as a child.
- 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:
- Select Lifeline in Toolbox.
- Drag on the diagram as the size of Lifeline.
To create a Lifeline from a Classifier (Class, Interface, etc.) by Drag-and-Drop:
- Drag a Classifier from Explorer.
- Drop on the diagram.
To edit a Lifeline, you can do following actions:
- Use Quick Edit for Lifeline by double-click or press
Enter
on a selected Lifeline.
Message¶
To create a Message (or Self Message):
- Select Message (or Self Message) in Toolbox.
- 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:
- Use Quick Edit for Message by double-click or press
Enter
on a selected Message.
State Invariant¶
To create a State Invariant:
- Select State Invariant in Toolbox.
- Click on a Lifeline where the State Invariant to be attached.
Continuation¶
To create a Continuation:
- Select Continuation in Toolbox.
- Drag on the diagram as the size of Continuation.
Combined Fragment¶
To create a Combined Fragment:
- Select Combined Fragment in Toolbox.
- Drag on the diagram as the size of Combined Fragment.
To edit a Combined Fragment, you can do following actions:
- Use Quick Edit for Combined Fragment by double-click or press
Enter
on a selected Combined Fragment.
Interaction Use¶
To create a Interaction Use:
- Select Interaction Use in Toolbox.
- Drag on the diagram as the size of Interaction Use.
Working with Communication Diagram¶
To create a Communication Diagram:
- Select first an element where a new Communication Diagram to be contained as a child.
- 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):
- Select Connector (or Self Connector) in Toolbox.
- 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:
- Select Forward Message in Toolbox.
- Click on a Connector.
To edit a Message, you can do following actions:
- Use Quick Edit for Message by double-click or press
Enter
on a selected Message.
Reverse Message¶
To create a Reverse Message:
- Select Reverse Message in Toolbox.
- Click on a Connector.
To edit a Message, you can do following actions:
- Use Quick Edit for Message by double-click or press
Enter
on a selected Message.
Working with Statechart Diagram¶
To create a Statechart Diagram:
- Select first an element where a new Statechart Diagram to be contained as a child.
- 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.
- State
- Internal Activity
- Region
- Initial State
- Final State
- Choice
- Join
- Fork
- Junction
- Shallow History
- Deep History
- Entry Point
- Exit Point
- Terminate
- Connection Point Reference
- Transition
See also
- UML Statechart Diagram
- For more information about UML Statechart Diagram.
State¶
To create a Simple State:
- Select Simple State in Toolbox.
- Drag on the diagram as the size of Simple State.
To create a Composite State:
- Select Composite State in Toolbox.
- Drag on the diagram as the size of Composite State.
To create a Submachine State:
- Select Submachine State in Toolbox.
- Drag on the diagram as the size of Submachine State.
- Select a StateMachine in Element Picker Dialog.
To create an Orthogonal State:
- Select Orthogonal State in Toolbox.
- Drag on the diagram as the size of Orthogonal State.
To edit a State, you can do following actions:
- Use Quick Edit for State by double-click or press
Enter
on a selected State. - Add Entry Activity - See Internal Activity.
- Add Do Activity - See Internal Activity.
- Add Exit Activity - See Internal Activity.
- Add Region - See Region.
Internal Activity¶
To add an Entry Activity:
- Select a State.
- Select Model | Add | Entry Activity in Menu Bar or Add | Entry Activity in Context Menu.
- Select a kind of Activity to create.
To add a Do Activity:
- Select a State.
- Select Model | Add | Do Activity in Menu Bar or Add | Do Activity in Context Menu.
- Select a kind of Activity to create.
To add an Exit Activity:
- Select a State.
- Select Model | Add | Exit Activity in Menu Bar or Add | Exit Activity in Context Menu.
- Select a kind of Activity to create.
Region¶
To add a Region:
- Select a State.
- Select Model | Add | Region in Menu Bar or Add | Region in Context Menu.
Initial State¶
To create a Initial State:
- Select Initial State in Toolbox.
- Click at the position on the diagram.
Final State¶
To create a Final State:
- Select Final State in Toolbox.
- Click at the position on the diagram.
Shallow History¶
To create a Shallow History:
- Select Shallow History in Toolbox.
- Click at the position on the diagram.
Deep History¶
To create a Deep History:
- Select Deep History in Toolbox.
- Click at the position on the diagram.
Entry Point¶
To create a Entry Point:
- Select Entry Point in Toolbox.
- Click at the position on the diagram.
Exit Point¶
To create a Exit Point:
- Select Exit Point in Toolbox.
- Click at the position on the diagram.
Terminate¶
To create a Terminate:
- Select Terminate in Toolbox.
- Click at the position on the diagram.
Connection Point Reference¶
To create a Connection Point Reference:
- Select Connection Point Reference in Toolbox.
- Click on a State where Connection Point Reference to be contained.
Transition¶
To create a Transition (or Self Transition):
- Select Transition (or Self Transition) in Toolbox.
- 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:
- Use Quick Edit for Transition by double-click or press
Enter
on a selected Transition.
Working with Activity Diagram¶
To create a Activity Diagram:
- Select first an element where a new Activity Diagram to be contained as a child.
- 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.
- Action
- Event
- Initial
- Activity Final
- Fork
- Join
- Merge
- Decision
- Swimlane (Partition)
- Input Pin
- Output Pin
- Send Signal
- Accept Signal
- Flow Final
- Object Node
- Control Flow
- Object Flow
See also
- UML Activity Diagram
- For more information about UML Activity Diagram.
Action¶
To create an Action:
- Select Action in Toolbox.
- Drag on the diagram as the size of Action.
To edit an Action, you can do following actions:
- Use Quick Edit for Action by double-click or press
Enter
on a selected Action. - Add Trigger - See Event.
Event¶
To add an Event:
- Select an Action.
- Select Model | Add | Trigger in Menu Bar or Add | Trigger in Context Menu.
Activity Final¶
To create an Activity Final:
- Select Activity Final in Toolbox.
- Click at the position on the diagram.
Swimlane (Partition)¶
To create a Swimlane (Vertical or Horizontal):
- Select Swimlane (Vertical) or Swimlane (Horizontal) in Toolbox.
- Drag on the diagram as the size of Swimlane.
Input Pin¶
To create an Input Pin:
- Select Input Pin in Toolbox.
- Click on an Action where Input Pin to be attached.
Output Pin¶
To create an Output Pin:
- Select Output Pin in Toolbox.
- Click on an Action where Output Pin to be attached.
Send Signal¶
To create a Send Signal:
- Select Send Signal in Toolbox.
- Drag on the diagram as the size of Send Signal.
Accept Signal¶
To create an Accept Signal:
- Select Accept Signal in Toolbox.
- Drag on the diagram as the size of Accept Signal.
Flow Final¶
To create a Flow Final:
- Select Flow Final in Toolbox.
- Click at the position on the diagram.
Object Node¶
To create a Object Node:
- Select Object Node in Toolbox.
- Drag on the diagram as the size of Object Node.
Control Flow¶
To create a Control Flow:
- Select Control Flow in Toolbox.
- Drag from a node and drop on another node.
Object Flow¶
To create a Object Flow:
- Select Object Flow in Toolbox.
- Drag from a node and drop on another node.
Working with Profile Diagram¶
To create a Profile Diagram:
- Select first an element where a new Profile Diagram to be contained as a child.
- 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:
- Select an Element where a new Profile to be contained.
- Select Model | Add | Profile in Menu Bar or Add | Profile in Context Menu.
MetaClass¶
To create a MetaClass:
- Select MetaClass in Toolbox.
- Drag on the diagram as the size of MetaClass.
To create a MetaClass (model element only) by Menu:
- Select an Element where a new MetaClass to be contained.
- Select Model | Add | MetaClass in Menu Bar or Add | MetaClass in Context Menu.
To edit a MetaClass, you can do following actions:
- Use Quick Edit for General Element by double-click or press
Enter
on a selected MetaClass.
Stereotype¶
To create a Stereotype:
- Select Stereotype in Toolbox.
- Drag on the diagram as the size of Stereotype.
To create a Stereotype (model element only) by Menu:
- Select an Element where a new Stereotype to be contained.
- Select Model | Add | Stereotype in Menu Bar or Add | Stereotype in Context Menu.
To edit a Stereotype, you can do following actions:
- Use Quick Edit for Classifier by double-click or press
Enter
on a selected Stereotype. - Add Attribute - See Attribute.
- Add Operation - See Operation.
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:
- Select Extension in Toolbox.
- Drag from a Stereotype and drop on a MetaClass.
Managing Extensions¶
Install Extension¶
To install an extension from Extension Registry:
- Show Extension Manager by selecting Tools | Extension Manager....
- Select Registry button.
- Find an extension to install by search.
- Press Install button of the extension.
To install an extension directly from Github repository:
- Show Extension Manager by selecting Tools | Extension Manager....
- Select Install From Url button.
- Enter Url of the Github project on input box
- press Install button.
To install an extension manually:
- Get an extension as a
.zip
file. - 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.
- Check a folder in the extensions path and
main.js
file in the folder. - Restart StarUML.
Uninstall Extension¶
To uninstall an extension:
- Show Extension Manager by selecting Tools | Extension Manager....
- Select Installed button.
- Find an extension to uninstall by search.
- Press Remove button of the extension.
To install an extension manually:
- 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.
- Remove the extension folder to uninstall.
- Restart StarUML.
Update Extension¶
To uninstall an extension:
- Show Extension Manager by selecting Tools | Extension Manager....
- Select Registry button.
- Update button will be shown if the extension has updates.
- Press Update button of the extension.
To update an extension manually:
- Uninstall extension of old version manually.
- Install extension of new version manually.
- 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:
- Change
visibility
- Select visibility in the dropdown button. - Edit name expression - Refer to Syntax of Name Expression.
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
.
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
orisLeaf
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
.
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
.
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
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