Defining Relationships

Navigation:  Advanced Formatting > Related Element data >

Defining Relationships

Previous pageReturn to chapter overviewNext page

When you want to print some information about a related element, then you need to tell EA how the elements are related.

For example, if you are printing information about an Actor, and you want to show the names of the Use Cases which are linked to each one.

First, you need to say how your model links Actors and Use Cases. UML tells us how we should do this, but we may have used all kinds of ways of linking them.

Specifying the Relationship

Lets say you have followed good UML practice, and linked them with an association. When you select the 'type' drop-down, eaDocX will look into your model, and show you what kinds of relationships exist which connect to Actors. This may be your first surprise: there may be more then you expect! This may be a sign that your model  is using different modeling standards in different places.

eaDocX will also look to see if you have used any stereotypes of the Association relationship in your model. If you don't care which stereotype is relevant, or there aren't any, just leave the stereotype blank.

You may also tell eaDocX to only use relationships with a specific name - this is quite unusual, but possible.

You may also want to be specific about the direction of the relationship between elements. This matters where the direction is important, such as a class inheriting from another. See below for more details.

Specifying the Target Element

Once you have specified what kind of relationship to use, eaDocX will go back to your model and see what kinds of elements are actually linked in this way. So, if we started with Actor, and specified 'Association' as the relationship type, eaDocX will see what kinds of element are linked to Actors by an Association. It will then populated the drop-down of Target Element types.

This may be your second surprise. If the link is blank, then there are no pairs of elements which fit the relationship criteria you have chosen. Again, a sign that your model isn't structured in  the way you thought.

You can also specify the stereotype of the target element, to further restrict the list of related elements.



  Type - Mandatory.  one of the relationship types in your current model. Note this will generally not contain ALL the valid EA relationship types (there are lots), just those in this particular model. If the relationship type you need is not in the list, then find two elements in your model and link them using the relationship type you need. Next time you load the document, eaDocX will find the new relationship type.

You may choose 'Any' as the relationship type, in which case eaDocX will follow all relationships connected to (A).

  Name - optional. The name of the relationship between Elements. Note that eaDocX will look for an exact match.

  Stereotype - optional. The stereotype of the relationship between the elements. Note that eaDocX will look for an exact match.

  Direction - Mandatory.


  Normal: from element (A) to element (B)

  Reverse: from element (B) to element (A)

  Either: (A) to (B) or (B) to (A). If in doubt, choose this, unless the direction of the relationship has particular significance.



  Type - Mandatory. Choose from any of the element types in the current model. Note that if the element type you need is not in the list (the full list of EA elements types is very long) then just create an element of the required type, and re-load the document.

You may choose 'Any' as the element type, in which case eaDocX will find any type of element, regardless of type.

  Stereotype - optional. The stereotype of element (B)

  Advanced - see Advanced Relationships



When specifying the relationship between two elements, you could make the relationship very specific, describing the type, name & stereotype of the relationship between (A) and (B),  or very general.

For example if your model contains Issue elements, you might have chosen to relate each issue to some other EA elements which are the subject of the issue. We choose to link them by a 'Dependency' (dotted line with arrow) link from the Issue to the other elements:


So if we want to print, next to each Issue, a list of the elements to which it relates, we specify: