Model Expert

If you're an experienced EA user, you'll know that as models grow, they seem to get more complicated. This is especially true when many people start to collaborate on the same model. 

So how can you keep track of what's in the model? Which new stereotypes have been added? How are your EA elements connected? Are you using a small set of conections, or is everyone doing things their own way?

eaDocX Model Expert can help you.

Where it came from - eaDocX Quick Documents

The eaDocX team are also EA modellers, and we get asked to look at EA models all the time. Over the years, we have developed lots of techniques for doing a quick check of new models. So naturally when we developed eaDocX, we used these techniques to create the 'Quick Document'. eaDocX Quick Document looks at your EA model: at the Element types you use, the stereotypes of those elements, and the relationships you have created between them. This tries to make your eaDocX Quick Document show all the bits of your model which are interesting.

eaDocX Model Expert insights

With the new Model Expert, we have gone one step further. Model Expert will do the same detailed examination of your EA model, but instead of creating a Quick Document from the content, it creates a class diagram. This is sometimes called the 'meta model' of your EA model: it's the model of the model.

Each time you create a new kind of EA Element (such as Activity, Use Case, Component or Device) a new class will appear on the Model Expert diagram next time you re-generate it. Each time you create a stereotype of an element, another class will appear. And each time someone adds a new kind of relationship between some EA Elements, the diagram gets a new connection. And it also counts how many of everything your model contains.

Fig 1 - eaDocX Model Expert output - relationships removed.

This simple example shows the Model Expert diagam which was created from a part of the 'Exploring eaDocX' model.

It shows that this part of the model just contains some 'Requirement' elements, and the 5 stereotypes we have used, and the four kinds of 'Component'.

Its also highlights a common mistake: some users have created a sterotype 'Non-Functional', but someone else has, probably accidentally, created one called 'Non-functional' (small 'f' for Functional). 

Now that we know this, it a simple matter to change the stereotypes to be the same value. A really quick way to do this is to export them all to Excel using eaDocX, do a quick change on the stereotypes, then save the data back into EA. A few seconds work, but a useful improvement in model quality.

Relationships are important

There are just so many types of relationship in EA, it is very easy to use the wrong one - especially for new users.

This is where you can really see the power of Model Expert. Below is another fragment of the 'Exploring eaDocX' model:

 

Fig 2 - Model Expert - showing some relationships

In this example, our users have used the same kind of connector -  'Realization' - to link Requirement and <<red>>Component elements - apart from one. Someone has used 'Abstraction' instead. Again, a simple problem to fix,now we know it's there, and one more inconsistency removed from our model.

 Note: the colours used in the diagram are customisable. Different colours can be used for different numbers of relationships. Here, we've chosen to highlight relationships with fewer than 2 examples in red, as these are often errors.

Getting started with Model Expert

Model Expert can analyse either a whole model, or just a Package (and its sub-packages).

Analysing a whole model, especially a large one can create a really complicated diagram, which will be hard to interpret. We recommend starting with a package, or a View from your model, and using that to start understanding and fixing your model. Then, once you have removed most of the errors, analyse the full model. 

Remember that, because eaDocX Model Expert puts the result back into your EA Model, you can create eaDocX documents and eaXL spreadsheets from it. So you could, for example, produce a regular document which shows how you are controlling the quality of your models.