This post shows how to track dependencies between elements using RepoDoc.

When it comes to dependency tracking, Enterprise Architect offers several approaches for this kind of job:

  • Requirements diagrams allow us to put elements on the canvas and offer overview of dependencies between elements.
  • Traceability window shows the hierarchy of elements in the Repository.
  • Relationship matrix shows dependencies between two types of elements in a table like form.

As architects, we often get hands on a new model and we need to assert quickly dependencies between elements in the whole model or across several packages. Typical example is an “AS IS” state assessment when existing customer delivered model(s) must be analyzed. To analyze dependencies between classes, objects and components and trace their connection to the deployment level one could first have a look on the traceability window going manually through the elements or try to create several types of matrices to get a first impression.

We would like to show yet another and fast aproach, a generated dependency graph that shows the dependencies between elements in the whole model (or under a certain package) in a single picture. For this we’ll use the RepoDoc documentation tool and one of its document templates.

Prerequisites

There are few things we’ll need:

  • Enteprise Architect v13 or higher installed,
  • RepoDoc downloaded and installed.
  • Sample model, for example the EAExample.eap model shipped with Enterprise Architect.
  • Graphviz downloaded and installed.

Generating dependency graph

Follow these steps to generate the dependency graph based on a deployment model:

  1. Open the EAExample repository and select the Project Models -> Software Engineering -> Deployment Model package in the project browser.
  2. Right-click on the package and choose Extensions -> RepoDoc -> Control Panel. RepoDoc starts and presents itself with the Document generator form.
  3. Click the ... button in the first row and select the UML-element-relationships-overview.gv.rdt document template from the dialog.
  4. Choose the DOT-Graphviz document generator profile.
  5. Click the Generate document button.

RepoDoc produces a DOT formatted file and a SVG diagram containing the dependencies between elements. The dependencies between the elements can be quickly traced and the architect has a complex information about element dependencies in the system.

svgdocument

The template iterates the elements under the package selected by the user and traces dependencies to other elements, if they have one of the following types: Class, Enumeration, Object, Component, Interface, RequiredInterface, ProvidedInterface, Port or Node. Of course the EAExample is a demo purpose model demonstrating different capabilities of Enterprise Architect. This can be easily seen from the dependency graph as it contains lots of unconnected elements. For a real (deployment) model, the dependency graph can quickly reveal elements that are not used or not connected to the rest of the system and also hints at the overall quality of the model.

RepoDoc comes also with an Archimate-element-relationships-overview.gv.rdt document template that creates a dependency graph for Archimate models. Use this template for example with the well known Archisurance model from ArchiModels and you’ll quickly get an overview of the model, like the one pictured below.

svgdocument

The user is free to modify the templates and change the focus of the analysis on other types of elements or reduce the scope.