SysML Add-in for Enterprise Architect


News:
In the EA Global Summit 2025, our CEO will have a presentation about this SysML add-in. If you are interested in modeling SysML, please join the presentation.

SysML Add-in Features

We have added features that are useful when using SysML with Enterprise Architect as the 'SysML Add-in'. The main features are listed below.

  • Double-click on some SysML elements displays a convenient properties dialog
  • Output various kinds of lists from SysML models as the internal list or Excel
  • When setting the Direction of a Port, an Interface Block is automatically created to store the Direction information
  • Automatic diagram layout for Block Definition diagrams, Internal Block diagrams, Parametric diagrams and Activity diagrams
  • The Properties dialog is automatically displayed when a new Requirement is created
  • Automatically set the Requirement ID
  • Automatically display arrows when creating Aggregation or Composition connectors in Block Definition diagrams, etc.
  • Reverse direction when creating Containment (Nesting) connectors
  • Efficiently add and edit Conveyed Items
  • Automatically add a port to the target side when creating a connector in Internal Block diagrams
  • Open the related diagram from Properties in Internal Block diagrams
  • Automatically set the compartment display of elements when creating a new diagram, etc.
  • When a behaviour element is linked to the entry/do/exit actions of a State, double-clicking on those actions will open the behaviour diagram
  • Improvements to drag and drop from the Browser to diagrams
    • Drag a Requirement onto an element to connect by an Allocation or Satisfy
    • Drag a Signal onto an Interface Block to create a Flow Property typed by the Signal
    • Drag a Signal or ValueType onto an Activity or an Action to create an ActivityParameter or an ActionPin
    • Drop a Signal on an Activity diagram to create a SendSignal action
    • Drop a Trigger on an Activity diagram to create a AcceptEvent action
    • Drop an Interaction or StateMachine on an Activity diagram to create a CallBehavior action
    • Drop an Interface Block onto a Block to create a ProxyPort
    • Drop an Interface Block, ValueType, etc. onto a Port or ActionPin to set it as type

Properties dialog

When you double-click on some SysML elements, the dedicated Properties dialog is displayed.
(If you double-click with the ALT key, the default Enterprise Architect behaviour is used.)

The dialog will remember the position it is closed, and will be displayed in the same position the next time it is displayed. If you double-click with the SHIFT key, it will be displayed in its original position, ignoring the saved position.

Requirement Properties dialog

The Requirement Properties dialog can be opened by double-clicking on a SysML requirement, or it can be opened automatically when creating a new requirement via the options.

In the Requirement Properties dialog, you can set the ID automatically by pressing the Auto button. The following rules apply.

  • If the target Requirement is a child element of another Requirement (parent Requirement), or if the target Requirement has a Containment (Nesting) connector to another Requirement, then the ID will be set based on the ID of the parent Requirement. For example, if the parent Requirement has an ID of REQ001.2 and there are no other connected Requirements, then REQ001.2.1 will be set. If REQ001.2.1 is already in use, REQ001.2.2 will be set.
  • If there is no parent Requirement, the configuration for the Auto Name Counters feature in Enterprise Architect is used. If there is no the Auto Name Counters configuration for Requirements, an error message is displayed. When setting the configuration, do not check the 'Apply on creation' check box in the Auto Name Counters dialog as the auto counter is applied to the requirement name, not the ID.
  • If text has already been entered in the ID field, it cannot be overwritten.

In the dialog, you can easily specify additional stereotypes for a Requirement. If you want to specify more than one stereotype, separate them with commas. You can use the '...' button on the right to select and specify the stereotype of other Requirements used in the model.

You can also set the Requirement's own attributes (the Tagged Values). The values are displayed in the diagrams along with the id, text, etc. To delete a defined attribute in the dialog, clear the entire contents of the Value field for the attribute you want to delete, and then save the changes.

Block Properties dialog

In this dialog, you can add items to the properties, parts, references, values and flow properties compartments. Some compartments may not be selectable depending on the element type.

You can create an Internal Block diagram (IBD) for a Block by clicking the 'Create IBD' button in the lower left of the Properties dialog. When you create the diagram from this button, all Properties and Ports of the target Block are also automatically placed on the IBD.

Port Properties dialog

If you specify 'Direction' in the Properties dialog and click OK without specifying the 'Port Type', you will be asked if you want to create a 'placeholder'. If you select 'Yes' here, the following operations are performed automatically.

  1. A new Interface Block is created. The name is 'InterfaceBlock_(sequential number)'.
  2. A Flow Property is added to the Interface Block.
  3. Set the direction of the added Flow Property in the Direction of the dialog.
  4. Link the created Interface Block as the type of the Port.

Automatic Layout

To display the layout dialog, right-click on the diagram background and select 'Specialize > SysML > Auto Layout'.

The dialog allows you to specify the options to be performed. The options available will vary slightly depending on the type of diagram you are working with.

Space Evenly for Ports (or ActionPins) Adjust the position of the Ports (or Properties for Parametric diagrams, ActionPins for Activity diagrams). If there are multiple Ports on each side of an element, they are placed evenly. If there is only one Port, it is placed in the center of the side.
Input Ports on Left border, Output Ports on Right border Each Port is moved and aligned to the left side of the element if it is an Input Port or to the right side if it is an Output Port. Ports in other directions are not moved from their original side.
Align Elements (for Activity diagrams) The following rules apply to an Activity diagram.
Elements that are close together (Actions, Fork/Join, Initial, Final, Decision and Merge elements) are aligned vertically and horizontally.
If there is an ActivityPartition, elements near the center of the partition are aligned to the center of the partition.
Move Ports (or ActivityParameters) on Frame to the Opposite side Move a Port that is placed on the Frame to the front of the opposite Port. If a Port on the Frame is connected to multiple Ports, it will be moved to be in front of one of them.

Whether the above settings are on or off, each endpoint of Connectors (or Binding connectors in Parametric diagrams, Control Flows and Object Flows in Activity diagrams) is centred.

Coloring elements and connectors by Diagram Legend

Diagram Legend elements allow you to color elements and connectors in diagrams according to specified conditions. However, Enterprise Architect does not allow you to color them according to the type of Ports or the conveyed item.

By using the SysML add-in, you can set colors according to the type of Ports or the conveyed item. This allows you to visualize information in diagrams. The types of elements targeted are Ports and ActionPins, and the types of connectors targeted are Connectors and Object Flows.

  1. Create a Diagram Legend element in a diagram.
  2. Specify conditions and colors in the Legend element properties.
    • Element tab: Enter the type name of Ports as 'Value'. Also specify the 'Line color' and 'Line width'
    • Connector tab: Enter the type name of conveyed item as 'Value'. Also specify the 'Line color' and 'Line width'
    • Leave the 'Filter' and 'Apply to' fields empty
  3. Check the 'Apply auto color' checkbox.
    (As the 'Filter' is empty, Enterprise Architect's default automatic application behaviour is not performed).
  4. Right click on the target legend element in the diagram and select 'Specialize > SysML > Apply Legend'. The colors will be set according to the settings you have made.

If you want to remove the applied color, uncheck the 'Apply auto color' checkbox and call the Addin menu again.

SysML Add-In Menu

The menu items for the SysML Add-in can be accessed from the 'SysML' button of the 'Add-ins' panel on the 'Specialize' ribbon.

both 'Show in Tab' and 'Show in Excel' group

Requirement Table Displays a list of Requirements.
Requirement Table (Derived) Displays a list focusing on the deriveReqt connectors between Requirements.
Requirement Table (Satisfy) Displays a list of relationships between Requirements and other elements, focusing on the Satisfy connector.
Requirement Table without Satisfy Displays a list of Requirements that do not have a Satisfy connector.
Blocks not connected to Requirements Displays a list of Blocks that are not connected to any satisfying Requirements.
Allocation Table Displays a list of Allocation connectors.

'Show in Excel' group

Requirement Table (Hierarchy) If you run this command with a Requirement diagram open, it generates an Excel spreadsheet.
Requirement Relationship Table If you run this command with a Requirement diagram open, it will output a list of the Requirements in the diagram and the other elements connected to them by Satisfy, Verify and Trace.
Interface Control Document If you run this command with a Block Definition diagram or an Internal Block diagram open, it will output a list of information about the connectors between Ports and Part properties, and the information that flow through the connectors.

'Options' group

Compartment Visibility By this command, you can update the Compartments visibility in the existing SysML diagrams. You can also set the initial setting of the Compartment visibility for new diagrams.
Delete Unused Type Blocks This command deletes the automatically added Interface Blocks by this Add-in feature which are not used anymore.
Options See the 'SysML Add-In Options' section below.

SysML Add-In Options

Some options require restarting Enterprise Architect.

Use Add-in Block Properties Dialog When this setting is enabled, double-clicking on a Block will display the Add-in's own properties dialog.
Show Add-in Requirement Dialog automatically When this option is enabled, creating a new Requirement in a diagram will automatically display the Add-in's own properties dialog.
Show Direction for Aggregations When this option is enabled, when creating an Aggregation or Composition connector, the Direction of the connector will automatically be set to 'Destination -> Source', and an arrow will be displayed on the connectors. This feature also works for diagrams other than SysML diagrams.
Reverse Direction for Containments (Nestings) When this option is enabled, when creating an Containment (Nesting) connector between Requirements, the direction is opposite to the standard direction in Enterprise Architect. This feature also works for diagrams other than SysML diagrams.
Set Parent for Containments (Nestings) When this option is enabled, when creating an Containment (Nesting) connector between Requirements, the contained (nestet) Requirement is under the parent Requirement in the Browser window. You need to refresh the Browser window manually to confirm the change. This feature also works for diagrams other than SysML diagrams.
Add a Port to the Target for Connectors When this option is enabled, if you create a connector from a Port to a Property in Internal Block diagrams, another Port is added to the target Property and connected by a connector. The type of the added Port is automatically adjusted based on the Port from which it is connected.
Drag a Requirement onto an element You can specify the behavior when you drag a Requirement from the Browser and drop it on an element in diagrams. The default behavior in Enterprise Architect is to create a Realization connector. You can change this behaviour to create an Allocation or a Satisfy.
Automatic Compartment Setting for IBD When this option is enabled, when creating a new Internal Block diagram, automatically disable the ':ports' compartment and other similar compartments that are not used in many cases. This avoids situations where unnecessary compartments are displayed due to operations within the diagram, and the size of the elements increases, causing the diagram to collapse.
Reference Compartment When creating a Property with reference=true, specify whether to create an Aggregation between Blocks (default) or create an Association. If you specify an Association, you must enable the 'Association default = source -> target' option in the Preference dialog of Enterprise Architect.
Search Model for Conveyed Items If this option is disabled, in the Conveyed Items dialog the Add-in does not serach the selectable elements for the conveyed items. When the search takes long time, you can disable the search with this option.
Use Primitive Types in the Library If this option is enabled and the 'Primitive Value Types Library' in the Model Builder is loaded, a primitive type in the library is used for typing Ports, Properties, etc.

System Requirements

  • Microsoft® Windows 11 and Windows 10
    • Currently Linux and macOS are not supported
  • Microsoft .Net Framework 4.7.2 or later
  • SysML 1.5 (SysML 1.4 profile) is supported
  • Enterprise Architect 15.0 or later
    • Corporate Edition or higher are required
    • Both 32-bit (x86) and 64-bit (x64) of Enterprise Architect are supported
  • eap/eapx files, qea/qeax files, and SQL Server are supported
  • For floating licenses of the Supporter Edition (see below), one of the following servers is required:
    • Sparx Keystore Service v2.3 or later - only if you are NOT using the group feature of a floating server (i.e., you must specify 'AUTHMETHOD=AM_GLOBALPASSWORD' in your config file.)
    • Pro Cloud Server v4.2.66 or later
    • Note: You must have an active Enterprise Architect subscription to download Sparx Keystore Service or Pro Cloud Server. Sparx Systems Japan does not provide these installers.

Download Add-in

There are two installers, one is the free 'Community' edition and the other is the paid 'Supporters' edition. Both editions have basically the same features, but the Community edition will be updated once or twice (1-2 times) each year. If you want to use the latest add-in which contains the latest bug fixes and new features, please consider using the Supporter Edition. If you have the Traceability Suite Add-in installed on the same machine, you can use the Supporter Edition at no extra cost.

You can use the Community Edition for an unlimited period of time. If you are using the Supporter Edition, you will not be able to use it after the 1 year subscription has expired.

Download free Community Edition

setupSysML_Community.msi
(Latest release: Version 4.0 on 28 March 2025)

Download paid Supporter Edition

To use this installer, you need an active license of the SysML Add-in or the Traceability Suite Add-in.

setupSysML_Supporter.msi
(Latest release: Version 4.0 on 28 March 2025)

Purchase Supporter Edition License

You can purchase the Supporter Edition through our e-commerce provider - Paddle. We do not offer any other method, including purchasing directly from us.

There are two types of licenses.

  • The Annual Standard License is registered directly to a user's computer and is not removed again until the user needs to change computers. 1 license can be registered to up to 2 machines if both machines are solely used by the same user. You cannot change the user of the license for any reason.
  • The Annual Floating License is managed using the License Server offered by Sparx Systems. The key is entered into the server, which users then connect to and lease out license keys as needed. Once the user disconnects, the key is automatically returned to the server ready for the next user.

Both licenses are valid for one (1) year from the month of purchase. For example, if you purchase on between 1st January and 31st January, your license will expire at the end of the following January.

Supporter Edition Pricing

  Annual Standard License Annual Floating License
Unit price US$ 69.00 US$ 99.00

Important Note:
If you have installed the Traceability Suite add-in with an active license on the same machine, you can use the Supporter Edition at no extra cost. You do NOT need to purchase a separate license of the SysML add-in.

Even if you purchase the license(s) of the SysML add-in, you CANNOT take advantage of any discount to purchase the Traceability Suite. Please check the price of the Traceability Suite add-in before purchasing the Supporter Edition.

To purchase license(s), please visit the Payment page.

Please check the installation page to register your license(s).

Questions, Bug Reports and Feature Requests

You can send questions, bug reports and feature requests via our inquiry form or send an e-mail to us (global@sparxsystems.jp).

All bug fixes, enhancements and new features will be applied soon to the Supporter Edition. The Community edition will be updated once or twice each year.