UML & SysML modelling languages

Expertise and blog articles on UML, SysML, and Enterprise Architect modelling tool

version francaiseTwitterVideos UMLChannel SparxSystems EA YouTubeLinkedIn
Tuesday, 14 January 2025 21:11

eaUtils 2.0: new user interface and improvements

Written by

eaUtils 2

More than 2 years after its last release, I finally managed to publish eaUtils 2.0 in December 2024. This updated version integrates a total redesign of the screens. Involved in EA add-in clients' projects using Microsoft WPF (Windows Presentation Foundation), I saw the benefits and decided to replace Windows Forms eaUtils code with WPF, available in dotNet Framework (supported by EA Interop API).

In addition to the screens redesign, eaUtils 2.0 includes the following improvements:

  • Edit settings without having to open the settings screen.
  • Model locks control improvements.
  • Compare diagrams: copy logs to clipboard.
  • Sort elements: option to disable reloading the package content in the browser.
  • Generate alias settings improvements.

This article illustrates eaUtils 2.0 new interfaces and enhancements from a selection of features: elements sorting, generate alias values, compare diagrams, manage visible relations in a diagram, diagram breadcrumb.

eaUtils is available to download from eautils.com.

[Cliquer ici pour la version en français]

Elements sorting

One of the first features of eaUtils involves sorting elements and diagrams in your EA model repository.

Below is an example of UML classes that need to be sorted by Alias value in their parent package.

eautils sortbyalias classes

A right click on the package in the browser provides access to eaUtils Sort Elements menu. Selecting Alias as the sorting option displays the applicable settings.

eautils sortbyalias screen

With the Edit Settings button, eaUtils sorting settings can be modified through the available checkboxes.

eautils sortbyalias screen

A new Reload option is available: when disabled, the package content is not refreshed by eaUtils, saving time during the execution process in sorting elements within a large model branch.

Once the sorting has finished, the new elements order is visible in the browser (reload option enabled):

eautils sortbyalias screen

Applied to a branch, the package tree screen is available with the ability to select the packages to process, except from the locked ones (see below).

eautils sortbyalias package branch tree

The processed packages are visible as illustrated below:

eautils sortbyalias package branch tree result sparx ea

More information: eaUtils Sorting Help.

Generate alias values

The Alias field is available for any EA element; it can be used to store a reference or short name in addition to the element's name. Diagram properties make to possible to show both the name and alias values for each element.

eaUtils can generate the alias values for elements displayed in a diagram, according to their position vertically (top to bottom) or horizontally (left to right). The following example is a UML Activity diagram from Sparx EA example project, Customer Process.

eautils gen alias uml activity example

Aim: generate an alias value for each action based on the following convention: Action-001-cust, Action-002-cust, Action-003-cust, etc.

A right click in the diagram provides access to eaUtils Generate Elements Alias menu.

eautils gen alias uml activity diagram

The Edit Settings button is available to change the required settings: 

eautils gen alias uml activity edit settings

Once the settings are saved, alias values can be generated.

eautils gen alias uml activity result

Result (Use Alias if Available diagram option enabled):

eautils gen alias uml activity result

Note: eaUtils Clear Aliases menu is available to roll back.

More information: eaUtils Generate Alias Help.

Compare diagrams

eaUtils provides the capability to compare the content from two diagrams matching different versions e.g. as-is versus to-be architecture. Based on each diagram content, it identifies the new and removed elements within a generated diagram (comparison results).

A typical example is the use of ArchiMate diagrams. The Application Components used in the current and target diagrams (see below) belong to the same package; eaUtils will help identify in the "after" (new) version, the new applications and the deleted ones.

eautils archimate compare diagrams enterprise architect sparx

eautils archimate compare diagrams enterprise architect sparx browser

A dedicated diagram for the comparison needs to be set up with a hyperlink to each diagram, identified as the old or new version with alias values. eaUtils Compare Diagrams can be run via a right click from the diagram.

eautils archimate compare diagrams screen enterprise architect sparx

Running eaUtils, a log with the comparison details is available.

eautils archimate compare diagrams logs result enterprise architect sparx

A diagram with the visual comparison results is generated:

eautils archimate compare diagrams result enterprise architect sparx

More information: eaUtils Compare Diagrams Help.

Manage visible relations

Enterprise Architect already has a feature to manage the visibility of the relations within a diagram to manage hidden and visible relations. EA Set Visible Relationships (keyboard shortcut: Ctrl + Shift + I) opens the following:

set visible relations sparx enterprise architect

Whilst this feature is really useful, there are situations involving diagrams with many relations of various types and stereotypes where this flat list is completely not suitable to hide a specific set of relations: ArchiMate or SysML diagrams, UML profile diagrams (MDG technology with custom stereotypes). This led to the definition of an enhanced version of EA Set Visible Relations in eaUtils to get an advanced tree structure to show or hide a set of relations with common properties.

eaUtils Manage Visible Relations is available via a right click from a diagram or using Alt + V keyboard shortcut. In the following screen, the disabled relations are currently hidden, whilst the enabled ones are visible:

eautils visible relations sparx enterprise architect

The selected relations to update i.e. visibility to be changed, are highlighted with a red marker.

eautils visible relations selection sparx enterprise architect

Once confirmed, updated relations are highlighted in green.

eautils visible relations result sparx enterprise architect

More information: eaUtils Manage Visible Relations Help.

Diagram breadcrumb

Diagram navigation involves defining and maintaining links between diagrams.

As it can be time consuming to define, eaUtils Diagram Breadcrumb is available to generate hyperlinks from an active diagram to all diagrams references i.e. with an element that opens the current diagram through a hyperlink, navigation cell, composite element, or package.

eaUtils Diagram Breadcrumb has been opened via a right click from the following BPMN diagram:

diagram Breadcrumb navigation BPMN example sparx enterprise architect

The Edit Settings is available to select the active types of linking elements:

diagram Breadcrumb navigation BPMN settings sparx enterprise architect

Once saved and executed, the number of hyperlinks is visible.

diagram Breadcrumb navigation BPMN updated sparx enterprise architect

Result on the finalized BPMN diagram (some links have been deleted)

diagram Breadcrumb navigation BPMN result sparx enterprise architect

More information: eaUtils Diagram Breadcrumb Trail Help

Notes:

eautils 2 demonstration youtube playlist