The SysML standard is used for modeling heterogeneous systems (mechanic, electronic, software).
The UML standard is used for modeling business processes and for analysing and designing software applications.
Following we are describing the key functions provided by UML/SysML Designer to its different users. To describe the features available in UML/SyML Designer, we are detailing the process followed by Alfred to define an heterogeneous system. First, he defines its system by writing the different requirements and from that he describes the system structure. Then, he refines the structure by defining the internal structure of each part of the system. When he finishes, Alfred gives the system description to the software architects in order that they specified the application. For specifying the software parts, the UML standard is used by John to define a software application, by Bob to implement the application, by Kevin to document it and finally by Alice to get an overview of a build application.
Alfred uses SysML to describe its system.
To start, Alfred has to create a new SysML project with SysML Designer.
As SysML Designer is based on UML Designer, a SysML project is also a UML project.
John also uses UML to describe its application. In UML Designer, a UML project is a Modeling project used to organize and manage the models and their representations (diagrams, tables, etc.).
Modeling projects are responsible for storing the representation data (diagrams, tables, etc.) in special representation files with the extension .aird.
UML Designer is integrated into Eclipse and provides the default views and editors generated by Sirius.
The Modeling perspective provides all the required views, wizards and menus provided by UML Designer.
The Modeling perspective provides the following views by default:

The Model Explorer view shows all the projects in the workspace and the files they contain. It adds some special capabilities to Modeling Projects, to allow the user to view and manipulate the semantic models and their graphical representations directly inside the explorer :
When a diagram is opened by the user, it opens in the diagram editor.

This editor is divided in three areas :
All diagrams have a palette of tools, which by default is docked on the right hand side of the main graphical area. The top row of the palette contains some general tools which are available on all diagrams, while the rest contains tools specific to each graphical modeler.
By default, the palette appears with a pre-defined size on the right hand side of the diagram.
These actions are available on the palette:
A few general tools are available in standard on all diagrams. They appear in the top row of the palette, just below the header:
The editor is composed by a tab-bar and a main graphical area.
The tab-bar provides the following tools :
The tab-bar contains tools to select groups of diagram elements in a single operation :
This operation, which can also be invoked with the F5 keyboard shortcut, will force an update of the diagram’s content according to the latest version of the underlying semantic model. The default operational mode for UML Designer is to automatically refresh the diagram’s content whenever any relevant change is detected in the semantic model. This can be disabled using the Automatic Refresh preference (see Window → Preferences → Viewpoint). When in manual refresh mode (i.e. Automatic Refresh is unchecked), the user must manually use the Refresh operation whenever he wants the diagram to take into account changes in the model. Even in automatic refresh mode, it may be sometimes necessary to invoke an explicit, manual refresh using this operation if UML Designer got confused.
The style of each diagram elements can be customized. This customization can be applied from the tool bar, from the «Style» and «Appearance» tab of the property view, from the «Diagram» menu or from the contextual menu Format. Theses customizations can be reset by the «Reset style customization» button available in the «Appearance» tab of the property view and in the diagram editor tool bar.
The user can customize :
Finally, the Rulers And Grid page (see below) contains preferences to control whether or not new diagrams should initialy show the rulers and/or grids, and whether to enable the Snap to grid and Snap to shapes behavior by default. The preferences on this page are only taken into account as starting values for new diagrams. Each diagram has its own configuration of rulers and grid which can be modified in the Rulers & Grid section of the Properties view of the diagram itself.
This action removes the selected graphical element from the diagram, but does not delete the corresponding semantic elements.
This action removes both the selected graphical element and the corresponding semantic elements. This tool deletes the semantic element. If a representation is open, the view corresponding to the deleted element is not anymore visible after the delete action.
It is possible to delete a semantic element :


In the main graphical area, the user can edit the text inside an element by using the standard direct edit behavior. To activate the direct edit, the user selects an element and :
Another feature available on the editor is the tooltip tool which are kind of shortcuts for palette tools :

When the user goes over the main graphical area with his mouse, after a short delay the tools usable according to the current context are poped up. Then the user can select a tool, the tool behaviour will be exactly the same as if he would have select the same tool in the palette.
As UML Designer is based on Sirius, the diagram editor shows the graphical elements according to the style defined in the viewpoint specification (uml.odesign).
The outline view has two display modes that the user can select in its upper toolbar:
The generic way to edit element values is using the properties view. If it is not opened yet
you can open it clicking on the Window menu, then Show View and then Properties

In the properties view, the user finds several tabs which will not be the same if an element is selected on the diagram or not.
If an element is selected on the diagram, he has on the properties view the following generic tabs:

For a selected element specific tabs are visible depending on the element type : Attributes, Operations, Ends, Literals, Profiles, Body, Parameters…
If the user does not select an element, he has in the properties view the properties of the diagram itself :
Alfred starts by creating a new SysML project. From the Modeling perspective, he creates a new SysML project through the Eclipse main menus (File→New→SysML Project) or from the toolbar (New→SysML Project).
John starts by creating a new UML project. From the Modeling perspective, he creates a new UML project through the Eclipse main menus (File→New→UML Project) or from the toolbar (New→UML Project).
In each case a wizard opens, asking for a mandatory project name. Entering an invalid project name will result in an error message. By default, the modeling project will be created in the workspace’s location, but this can be changed: just uncheck «Use default location» and enter the path to the location where you want your modeling project to be created.
This action creates automatically a new UML project with :
In the case of SysML project, the SysML profile is applied by default on the newly created UML model.
As for any other kind of project in Eclipse, the following actions exist on a UML project:
The viewpoints are defined according to the representation separation defined by the UML standard. In UML, the diagrams are separated into two categories :
The Capture viewpoint is used by the users who are focused on system structures. For users interested in the modelization of behaviours, they have to activate the Design viewpoints. These two viewpoints contain only standard UML representations.
A third viewpoint is defined to contain non standard representations.
Each UML project provides five viewpoints :
This controls what kind of representations can be created on the semantic models inside the project. The set of viewpoints which are available to the user depends on what plug-ins are installed, and on the type of semantic models which are inside the modeling projects. For example, even if the user has installed the UML Designer, he will only be able to enable to corresponding viewpoints if the project contains UML models (.uml files).
To select which viewpoints are enable on a project, he simply uses the Viewpoint Selection action in the context menu of the project itself. A dialog box opens which shows all the viewpoints which are compatible with the project (depending on the kind of models it contains). The user can check or un-check each viewpoint individually to enable or disable it, and clicks OK to validate his choice.
Another viewpoint is created to contain all the SysML specific representations.
Each SysML project provides the following viewpoints :
The dashboard is a diagram which is created automatically by the project creation action. Only one dashboard exists per project.

The dashboard is composed by three main regions : Create, Navigate, Help
The Create section lists all the representations that could be created ordered by viewpoints : Capture (Package hierarchy, Use case diagram…), Design (Class diagram, Activity diagram,…).
To create a new representation the user just needs to double click on the representation name. The new representation is created under the root model element in the semantic model and the corresponding editor opens.
The Navigate section lists all the existing representations.
To navigate to a representation the user just needs to double click on the representation name. The representation editor is opened.
The Help section lists some documentation entry points.
To open the help, the user just needs to double click on the help section title. The contextual help content is opened on the expected section.
In UML Designer, the user manages representations. A representation is a diagram (class diagram, use case diagram…) or a table/cross-table (as in SysML Designer the requirements table).
It is possible for the user to :
| Element/Diagram | UseCase | Package | Class | Component | Object | Composite | Deployment | Sequence | Activity | Statemachine |
|---|---|---|---|---|---|---|---|---|---|---|
| Model | x | x | x | x | x | x | x | |||
| Package | x | x | x | x | x | x | x | |||
| Component | x | |||||||||
| Class | x | |||||||||
| Device | x | |||||||||
| Execution Env | x | |||||||||
| Node | x | x | ||||||||
| Activity | x | x | ||||||||
| Statemachine | x | x | ||||||||
| Interaction | x | x |
Example : When a Class is selected in a diagram or the model explorer, it is possible to create :
For example on a package in the package diagram, to create a class diagram you should right-click on your model or on a package and pick navigate and then new Class Diagram.

Note that the set of diagrams the user can create will depend both on the type of the selected element and on the set of viewpoints which are currently enabled.
In SysML Designer, the Create new representation action is available according to the following matrix :
| Element/Diagram | Block | InternalBlock | Parametric | Requirement |
|---|---|---|---|---|
| Package | x | x | x | x |
| Block | x | x | x | |
| ConstraintBlock | x | x | x |
A UML project can contain multiple UML models.
The user can :
The first step for Alfred is to capture all the requirements for the system do defined. The SysML standard provides a new kind of diagram : the requirement diagram. This diagram is available in SysML Designer.
This diagram is used to capture functional, performance, and interface requirements.

The requirement diagram is an unsynchronized diagram which means that the user has to explicitly add existing elements on the diagram to see them.
A second kind of representation is available for representing the requirements : the requirement table.

It is possible to create requirements by selecting the creation tools from the palette and then clicking on the diagram or an element.

A diagram is associated to a package and when the user click on the diagram background the element is created under the corresponding package in the UML model.
If the user selects a container, the element will be created under the corresponding semantic element in the UML model.
Tooltip tools are also available to create any kind of elements.
Creation tools are available in the requirement diagram for the following types :
| Element | Representation | Comments |
|---|---|---|
| Requirement | |
A requirement in natural language |
| SubRequirement | ![]() |
A requirement contained in another requirement |
| TestCase | |
A test case that should verify a requirement |
A requirement is composed by :
In the requirement table, creation tools are provided in :


The user can also delete a requirement or a test case (see Diagram editor/Editor tab-bar/Delete element/from model).
It is possible to create a relationship by selecting the edge creation tool from the palette and then clicking on a source element and a target element.
The following edge creation tools exist in the palette :
|. Element |_. Representation |. Comments |
|DeriveReqt |
|Source requirement derives target requirement|
|Refine |
|Source requirement refines target requirement|
|Satisfy |
|Block satisfies a requirement |
|Verify |
|Test case verifies requirement |
The user can also delete a relationship (see Diagram editor/Editor tab-bar/Delete element/from model).
And finally, he can reconnect relationships. It is possible to reconnect the source and the target of any kind of edge in the requirement diagram :
As the diagram is unsynchronized, the user needs to add manually the elements already existing in the semantic model that should appear on the representation.
It is possible to add existing elements by :
The following elements can be added on a requirement diagram :
The user can see that an element is not coming from the current package :
And finally, he can remove an existing element from a diagram. In this case the element is only deleted from the representation but it is not removed from the UML model. This Remove tool exists in the Existing elements section in the palette (see Diagram editor/Editor tab-bar/Delete element/from model).
In the requirement diagram a contextual action is available to show on the diagram the element related to the selection.
The add related elements action is available from :
In the requirement diagram, it is possible to edit the elements labels (see Diagram editor/Editor tab-bar/Delete element/from model). This actions allows to edit :
At this step, Alfred knows who will use its application and what they should be able to do with it. It is time to define the blocks and their relationships to describe the system structure.
Alfred defines the big structure of the system thanks to the Block Definition diagram. This diagram is available in SysML Designer.

The block definition diagram is an unsynchronized diagram which means that the user has to add existing elements manually on the diagram to see them.
It is possible to create blocks by selecting the creation tools from the palette and then clicking on the diagram or an element.

A diagram is associated to a package and when the user click on the diagram background the element is created under the corresponding package in the UML model.
If the user selects a container, the element will be created under the corresponding semantic element in the UML model.
Tooltip tools are also available to create any kind of elements.
Creation tools are available in the block diagram for the following types :
| Element | Representation | Comments |
|---|---|---|
| Block | ![]() |
A composite system entity |
| ValueType (Data type) | ![]() |
A quantity defined by a dimension and units |
| ValueType (Primitive type) | ![]() |
A quantity defined by a dimension and units |
| Enumeration | ![]() |
A data type with set of values |
| Primitive type | ![]() |
Primitive data type |
| Data type | ![]() |
A data type |
| Dimension | ![]() |
A measurable quantity |
| Unit | ![]() |
A standard unit |
| Interface | ![]() |
Describes an interaction point |
| Package | ![]() |
Logical group of elements |
| ConstraintBlock | ![]() |
A composite constraint entity used in parametric equations |
The user can also delete an element (see Diagram editor/Editor tab-bar/Delete element/from model).
It is possible to create a feature by selecting the creation tools from the palette and then clicking on the diagram or an element.
The following creation tools exist in the palette :
| Element | Representation | Comments |
|---|---|---|
| Function | |
Function available on a block |
| Property | |
Property of a block |
| Typed Property | |
Property with a selected type |
| Dimension | ![]() |
Specify a dimension for a value type |
| Unit | ![]() |
Specify a unit for a value type |
| Literal | |
Add a value to an enumeration |
The typed property tool opens a wizard to select an existing type for the newly created property.
The user can also delete a feature (see Diagram editor/Editor tab-bar/Delete element/from model).
It is possible to create a relationship by selecting the edge creation tool from the palette and then clicking on a source element and a target element.
The following edge creation tools exist in the palette :
| Element | Representation | Comments |
|---|---|---|
| Link a Block to an Actor | ![]() |
Selects a user that interacts with the system |
| Association | ![]() |
Connection between blocks and parts |
| Composition | ![]() |
Defines hierarchy between block entities |
| Aggregation | ![]() |
Aggregation between blocks |
| Generalization | ![]() |
Describes an element as a specialized descendant of another |
| Interface Realization | ![]() |
Realizes functions of an interaction point |
| Dependency | ![]() |
Relationship that traces the dependence of entities |
| Usage | ![]() |
Source entities uses target entities |
The user can also delete a relationship (see Diagram editor/Editor tab-bar/Delete element/from model).
And finally, he can reconnect relationships. It is possible to reconnect the source and the target of any kind of edge in the block definition diagram :
As the diagram is unsynchronized, the user needs to add manually the elements already existing in the semantic model that should appear on the representation.
It is possible to add existing elements by :
The following elements can be added on a block definition diagram :
The user can see that an element is not coming from the current package :
And finally, he can remove an existing element from a diagram. In this case the element is only deleted from the representation but it is not removed from the UML model. This Remove tool exists in the Existing elements section in the palette (see Diagram editor/Editor tab-bar/Delete element/from model).
The user can activate a layer which shows the requirements satisfied by visible blocks.

This traceability view is not part of the SysML standard. A requirement container list all the requirements satisfied by a block :

In the block definition diagram a contextual action is available to show on the diagram the element related to the selection.
The add related elements action is available from :
In the block definition diagram, it is possible to edit the elements labels(Diagram editor/Editor main graphical area/Direct Edit). This actions allows to edit :
Next step for Alfred is to detail the internal structure of its system. He uses the Internal Block Definition diagram for this. This diagram is available in SysML Designer.

The internal block definition diagram is an unsynchronized diagram which means that the user has to add existing elements manually on the diagram to see them.
It is possible to create parts and ports by selecting the creation tools from the palette and then clicking on the diagram or an element.

A diagram is associated to a package and when the user click on the diagram background the element is created under the corresponding package in the UML model.
If the user selects a container, the element will be created under the corresponding semantic element in the UML model.
Tooltip tools are also available to create any kind of elements.
Creation tools are available in the requirement diagram for the following types :
| Element | Representation | Comments |
|---|---|---|
| Part | |
Decompose a block subsystem using instances of blocks |
| Flow port | ![]() |
Input/output flows of a block |
| Port | |
Interaction point to connect block |
The user can also delete an element (see Diagram editor/Editor tab-bar/Delete element/from model).
It is possible to create a flow by selecting the edge creation tool from the palette and then clicking on a source element and a target element.

The user can also delete a flow (see Diagram editor/Editor tab-bar/Delete element/from model).
And finally, he can reconnect flows. It is possible to reconnect the source and the target of any flow in the internal block definition diagram.
As the diagram is unsynchronized, the user needs to add manually the elements already existing in the semantic model that should appear on the representation.
It is possible to add existing elements by :
The following elements can be added on an internal block definition diagram :
The user can see that an element is not coming from the current package :
And finally, he can remove an existing element from a diagram. In this case the element is only deleted from the representation but it is not removed from the UML model. This Remove tool exists in the Existing elements section in the palette (see Diagram editor/Editor tab-bar/Delete element/from model).
In the internal block definition diagram a contextual action is available to show on the diagram the element related to the selection.
The add related elements action is available from :
In the internal block definition diagram, it is possible to edit the elements labels (see Diagram editor/Editor main graphical area/Direct edit). This actions allows to edit :
Final step for Alfred, he has to precisely define performance and quantitative constraints for its system. The standard way for this is to use the Parametric diagram. This diagram is available in SysML Designer. Parametric diagrams show mathematical relationships among the system blocks. They are created using constraint blocks that define mathematical formulas.

It is possible to create constraint blocks that describe the function of a constraint.

A diagram is associated to a package and when the user click on the diagram background the element is created under the corresponding package in the UML model.
If the user selects a container, the element will be created under the corresponding semantic element in the UML model.
Tooltip tools are also available to create any kind of elements.
Creation tools are available in the requirement diagram for the following types :
| Element | Representation | Comments |
|---|---|---|
| Constraint | ![]() |
Opens a wizard to select an existing constraint block |
| Parameter | |
Opens a wizard to select an existing value type |
The user can also delete a constraint or a parameter (see Diagram editor/Editor tab-bar/Delete element/from model).
It is possible to create a connections by selecting the edge creation tool from the palette and then clicking on a source element and a target element.
The following edge creation tools exist in the palette :
| Element | Representation | Comments |
|---|---|---|
| Parameter | ![]() |
Connect parameters with same type |
| Value | |
Connect an imported value type to a parameter |
The user can also delete a connection (see Diagram editor/Editor tab-bar/Delete element/from model).
And finally, he can reconnect connections. It is possible to reconnect the source and the target of any kind of edge in the block definition diagram :
As the diagram is unsynchronized, the user needs to add manually the elements already existing in the semantic model that should appear on the representation.
It is possible to add existing elements by :
The following elements can be added on a block definition diagram :
And finally, he can remove an existing element from a diagram. In this case the element is only deleted from the representation but it is not removed from the UML model. This Remove tool exists in the Existing elements section in the palette (see Diagram editor/Editor tab-bar/Delete element/from model).
In the parametric diagram a contextual action is available to show on the diagram the element related to the selection.
The add related elements action is available from :
In the parametric diagram, it is possible to edit the elements labels (see Diagram editor/Editor main graphical area /Direct Edit). This actions allows to edit :
SysML provides allocation tables that support requirements allocation, functional allocation and structural allocation. These representation are available in SysML Designer.
