Products

Home / eaDocX Homepage / Support for EA Modelling With eaDocX / Insights / Using Multi-hop relationships to display Branch/Merge with EA13

Using Multi-hop relationships to display Branch/Merge with EA13

One of the most common requests we see from new EA users is: "Why can’t I do branch/merge with EA? In this article Ian reviews the new feature and how printing eaDocX multi-hop Relationships can give greater clarity to your documents.

Up to now, the answer has been ‘because it’s hard’, and indeed a full branch/merge solution for EA would be way, WAY more complicated than one just for code, and therefore probably un-usable.

But can we get most of the benefits of a code-style branch/merge with EA, without a 100% fool-proof solution?

With EA v13 we may just have a solution: not a 100% solution, but one which has 10% of the function but which may deliver 90% of the benefits.

A real-life scenario

In a recent client engagement (details changed to protect the innocent) we had a small team of modellers (30+) working on a large but quite simply-structured model.

Team #1 ... produced this.

Let’s say they were writing Use Cases. What could be simpler?

For readers who don’t write use cases, replace ‘use case’ with your favourite EA element type (Requirement, Business Process, SysML Block – they all have the same issue).

Then Team #2 ... produced this.

Team #2 have re-used ‘UseCase3’ from the team 1 model (you can tell from the namespace below it). What they wanted to say was ‘we’re using UseCase3 – the exact one which the other team modelled’ – so this is perfect.

But Team 2 also have an actor called Actor1. This doesn’t look to have been re-used from Team 1 – (clue: no namespace below it). It’s just a new Actor which happens to have the same name. So they created a new actor, called it “Actor1”, and started modelling.

Now my client spotted this one a mile away. Carrying on like this is going to cause huge problems down the road. They were predicting 80+ actors (real-life, individual roles) and if every team created their own duplicate with the same name, this would rapidly become chaos. They would lose the ability to say ‘what Use Cases does Actor1 get involved with?’ But which ‘Actor1’ are they talking about?

The “Master Elements” solution

So they did the smart thing, and created a master set of Actors, in a locked part of the model. And told teams to re-use those actors.

And replace any of their own duplicate versions of those actors with the master ones.

The Team #1 model was now modified.

Which means when we ask which Use Cases Actor1 is involved with (by the EA function ‘insert related elements), EA tells us.:

…which is the combination of team#1 and #2s models, as they are both using the same Actor instances from the common set.

Much more useful – and the best argument for ‘why EA is 1000% better than Visio’.

So, problem solved? Well not quite.

These diagrams and documents which show ‘related elements’ are useful for understanding what happening in a project, so they started creating more of them, but started to get things like this.

Now we can say this isn’t great use case practice, but it’s what happened when they enforced the ‘use the common actors’ rule. The master actors get connected to everything

  • completed use cases,
  • partially completed ones,
  • … and ones which are just some ideas the modeller is playing with.

If I want to find out the use cases which really use Actor1, which have a status which means they are suitable for me to think about, then we need something in between the chaos of ‘invent your own’ and ‘always re-use’.

We need an intermediate state of ‘using Actor1’: something like – ‘I’m intending to use Actor1, but I’m not ready to tell the world what I’m doing’.

In the case of this customer – using EA12 – they had to create duplicate Actors with the same name, then, once they were happy, manually merge their ‘temporary’ and ‘reusable’ Actor1s. An alternative would be to give each Use Case a status, but this means we can’t use ‘insert related elements’ quite as simply.

So not a great solution.

Then along came v13

EA V13 introduced the idea of ‘time-aware EA’. Looking past the rather grand title, it does provide a small amount of function which should make this problem a lot simpler.

So now, here is the same story, using EA V13.

The first team creates their model as before, and, as today, adds their new Actors into the ‘shared actors’ – having first checked with the model manager that they haven’t been used before.

The next team wants to use Actor1, but they aren’t ready to use the ‘real’ one: they will only do that once they have passed some future milestone.
So they drop the shared ‘Actor1’ onto their diagram, then create a clone of it:

Right-click on the actor, and select ‘Clone element as new version’. Note this is EA v13 function, not available in previous versions.

Using numeric versions doesn’t seem useful here, as EA doesn’t check for duplicate version numbers, so we suggest using the name of the team, or some other string which lets people identify why this clone is being created:

This diagram is now simplified.

To see the magic which EA has done in the background, try dropping the original Actor1 back onto the diagram.

EA has created a new element, with all the same characteristics as the original, but with two differences:
– it has a ‘version’ set to ‘Team 2’,  and has a <<trace>>connector back to the original Actor.

The nature of this connection is worth explaining

  • In an EA diagram, it’s a dotted-line (“dependency”) with a stereotype of <<trace>>
  • In the EA traceability view, the connection is called “depends on”
  • In the EA database, and in eaDocX which use the EA API, the connector type is <<trace>>Abstraction

This is possibly 100% UML compliant, buts it’s definitely 99% complicated.

With this simple technique, we can now have the best of both worlds:

  • Team 2 can carry on modelling, adding whatever crazy stuff they need to add to their cloned Actor1, and ‘real’ Actor1 users won’t see it
    UNLESS
  • Those users choose to follow the <<trace>> connector, and find whatever use cases Team 2 are working on.

This is (fairly) easy using the EA traceability view.

You just need to know that the <<trace>> connector which EA created when we cloned the Actor appears as a ‘needed by’ relationship in the traceability window. Here, there are two teams which have create clones of Actor1.

Tools like eaDocX are OK to print ‘multi-hop relationships’ like this, in lots of different ways. For example, we can document the ‘master’ element and its related elements, then also its clones, and their related elements.

Note to Sparx Systems: Next Steps?

Now that we have this starting point, I’d like to suggest that we need some improvements to the EA UI which will allow us to go further:

  • Implement a simple ‘merge’ function to move all the connectors from a back-level element to a new one. Saves me having to drop old + new onto the same diagram, with ALL their connected elements, and move the connectors one at a time from old to new.
  • Better diagram filters to show/hide different versions more simply
  • Associating the current ‘version’ text field with something more interesting – another EA element e.g. an Archimate Plateau, or some other project-related ‘thing’, so that we can find out ‘all things associated with version X.Y’ without having to start writing SQL
  • Native EA support for the function that eaDocX lets us do already (as shown above): ‘show the clones for this element’, ‘show me what’s related to those clones. These are now important functions, and shouldn’t need me to create a document to see them easily.

Conclusion

The V13 ‘time aware’ function is limited, but it is a start, and it does show the way to achieving what EA users have wanted for a long time – the ability to have multiple ‘versions’ of the same thing in a model at the same time.

This has many more implications for EA users, as it opens-up new ways of using EA. We can now allow teams to explore new ideas without messing-up the model for other uses, and keep track of those explorations using standard EA techniques.

More Insights

Documents are dead - or are they?

19 October 2023

If your organization needs documents then you need eaDocX and Revision Manager - for quality documents, easy reviews and fast efficient model updates.

Learn More

Document-based EA model collaboration

27 September 2023

eaDocX and eaRevisionManager provide a cost effective and powerful solution for efficient document-based collaboration in Enterprise Architect.

Learn More

Why has eaDocX become eaTeamWorks?

27 September 2023

Here are the reasons why eaDocX is now part of eaTeamWorks - and why it's good for you.

Learn More

Creating Custom Documents in Enterprise Architect 16

21 September 2023

Enterprise Architect 16 offers refined tools for customizable report-building. But sometimes you need even more. And fast. Here's how.

Learn More

Traceability using Multi-hop Relationships

9 September 2021

Using eaDocX multi-hop relationships you can easily print the end points of 'virtual connectors' showing EA end-to-end traceability.

Learn More

Enterprise Architect Tables: Using word table styles in EA

25 June 2021

This video shows how to apply Word table styles when you generate eaDocX documents from your Enterprise Architect models.

Learn More

Video Masterclass - Adding Detail to EA Matrix Reports with eaDocX

25 June 2021

With eaDocX you can format EA Matrix Reports in Word to include additional details and formatting. Here's how

Learn More

Video Masterclass - Creating documents from Model Views

25 June 2021

Use EA Model Views to create simple, flexible documents with eaDocX.

Learn More

Conditional Formatting Tool for Enterprise Architect

25 June 2021

Help readers find the things that need their attention, decisions and actions, with eaDocX conditional formatting.

Learn More

Video Masterclass - Attribute mapping with EA, eaDocX and Excel

25 June 2021

With eaDocX and Excel, it's easy to view, edit, create and even delete attribute/attribute links in Sparx EA.

Learn More

Enterprise Architect Help: Choosing the right document structure

25 June 2021

eaDocX makes it easy to create exactly the document structure your readers need. Here's how...

Learn More

Enterprise Architect User Guide - quick documents

22 June 2021

Video guides on how to create quick documents with EA's leading add-on, eaDocX.

Learn More

Documents in the Enterprise Architect Cloud

6 April 2021

eaDocX in the Cloud: Enterprise Architect document creating for EA SAAS environments

Learn More

Producing Enterprise Architect RACI reporting

11 March 2021

Producing a RACI report from data held in EA, mapping stakeholders to any project deliverables is straightforward with eaDocX.

Learn More

Models matter - nearly as much as deliverables

25 August 2020

Models matter - nearly as much as model deliverables

Learn More

Fixing your meta-model

25 August 2020

Advice for the new modeller #3 – Fixing your meta-model

Learn More

Knowing when to give up

25 August 2020

Knowing when to step back makes for better Business Analysts

Learn More

Using UML icons for more useful models

25 August 2020

Diagram Graphics for Adults

Learn More

Using Enterprise Architect to document decision making

25 August 2020

Make your models more useful for future modellers

Learn More

Use case, package or process?

25 August 2020

A time for Packages

Learn More

Explaining EA Sparx Systems to non-modellers

25 August 2020

Model driven analysis - the best way to define what we do?

Learn More

How to simplify BPMN Data Models

25 August 2020

Why simplifying your diagrams can actually make them more informative.

Learn More

UML Business Analyst Solutions

14 August 2020

Using UML to resolve inconsistencies, gaps and overlaps.

Learn More

Cleaning: How to Simplify Enterprise Architecture Models

14 August 2020

Model Curation Techniques # 1 - Cleaning your EA model before you let other people see it

Learn More

Including Sparx EA Model Provenance

14 August 2020

Sparx EA model help to explain to others why your models look the way they do.

Learn More

What to include in your Enterprise Architect documentation

29 July 2020

How to create documents which communicate your ideas efficiently and effectively to stakeholders.

Learn More

Organising an Enterprise Architect Model

28 July 2020

Seven ways to organise your EA models so that other people can understand them

Learn More

Choosing Your UML Subset

27 July 2020

Narrowing down the modelling ideas in your Enterprise Architect model to make consistent, understandable models.

Learn More

Webinar: Using Interactive Documents to Collate Sparx EA Model Feedback

17 July 2020

A webinar from the EA Global Summit 2020.

Learn More

Webinar: How to successfully scale up your Enterprise Architect team

30 June 2020

A webinar from the EA Global Summit 2020.

Learn More

Navigating Models: Enterprise Architect Help and Techniques

16 April 2020

EA Model Curation Techniques #2 - Making models easy to navigate.

Learn More

Validation: Improving your Enterprise Architecture Model Structure

16 April 2020

EA Model Curation Techniques #3 - Validating your model

Learn More

Modelling techniques for business architecture software to explain general patterns

16 April 2020

Using object diagrams to explain general patterns with specifics.

Learn More

How to create personalised documents using Sparx document generation tools

16 November 2018

A guide to creating documents from Sparx EA models so everyone can engage with your work, project or deliverables.

Learn More

Document or Enterprise Architect Views?

21 May 2018

Create documents to be used by non-EA users instead of model views.

Learn More

Improve your enterprise architecture model using colour

25 April 2018

Careful use of colour and shape makes models easier to digest.

Learn More

Model curation techniques for EA Sparx Systems

6 March 2018

How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.

Learn More

The most re-used model components in Sparx Enterprise Architect.

20 October 2017

Why is the project summary the most read element in an EA model?

Learn More

Creating a Glossary: Business Analyst Terminology

12 October 2017

Streamline your business understanding with shared definitions.

Learn More

Business Process Analyst Styles

11 October 2017

Find out if you are a 'hard' or 'soft' Business Analyst.

Learn More

How to Print Sparx EA Connectors

18 October 2016

Structure your documents using the connectors in your Sparx model.

Learn More

Compare licence prices

Choose the licence that’s right for you and your team

Prices

Download a free trial

Take a free, no obligation, 30-day trial of eaDocX and ea Revision Manager. Discover for yourself why eaDocX is the world’s best-selling Enterprise Architect extension. eaDocX and eaRevision Manager are part of eaTeamWorks, so you can also trial eaSheets, Model Expert and PortfolioManager. Plus free for life features.

Download