Home / Model Expert Homepage / Model Expert Help / Analyzing your Model / Top 10 EA meta-model tips
Import an MDG to create a Reference Model
Importing and exporting Reference Models
Editing RM Connector type properties
Stereotypes inheriting from other Element Types
Customizing Reference Model Properties
Customizing Reference Model Element Properties
Table of contents
1What kind of things does the snapshot meta-model show?
1.1Too many element types to see what’s happening
1.2Elements with small numbers of examples
1.3Elements with similar stereotypes
1.4Elements with no connections
1.6Elements with low-usage Tagged Values, or large number of tagged values
1.7Connectors with small numbers of examples
1.8Connectors with similar stereotypes
1.9Element pairs with multiple connector types
1.10And finally
Top 10 EA meta-model tips
Table of contents
1What kind of things does the snapshot meta-model show?
1.1Too many element types to see what’s happening
1.2Elements with small numbers of examples
1.3Elements with similar stereotypes
1.4Elements with no connections
1.6Elements with low-usage Tagged Values, or large number of tagged values
1.7Connectors with small numbers of examples
1.8Connectors with similar stereotypes
1.9Element pairs with multiple connector types
1.10And finally
What kind of things does the snapshot meta-model show?
Hint: None of these are automatically modelling ‘errors’ – they are just things which you should think about, and maybe investigate a bit more.
Tip | Problem | Actions |
---|---|---|
Too many element types to see what’s happening |
If your snapshot diagram is like this one, then you’ve chosen to analyze a really complex model. If a diagram has more than 20-30 element types, it’s hard to see what’s happening. | Choose a sub-package, and analyze that, then do the same for all the other sub-packages.
There’s a good chance that the meta-models will be different for the difference sub-packages, with a small number of links between them. Remember that the meta-models are just normal EA class diagrams, so you can create sub-set diagrams, and EA will add all the relevant connectors. |
Elements with small numbers of examples |
Some element types may have 1 or 2 examples. This may be OK, but might also show that someone has used an element type/stereotype which they shouldn’t. | See Fixing a Diagram
Once you have found the element, maybe contact the author to see what they were trying to model |
Elements with similar stereotypes |
In versions of EA before V15, it’s easy for modellers to create their own stereotypes, and so also easy to create them incorrectly. | See Fixing a Diagram
Once you have found the occurrences, just change their stereotypes in EA, or, if there are lots, export them to a spreadsheet to change them, such as with eaDocX/eaXL. |
Elements with no connections |
Any element type which has no connections to other elements types is worth looking into.
Lots of EA element types donât have normal connections to other elements, so this is also not always a problem. In this example, ‘Signal’ element types appear in Sequence diagrams, and are referenced by other elements, so they are OK. |
See Fixing a Diagram
But before you make any changes, make sure you understand what this element type does, and why it might be OK that it has no connections. |
Elements with similar MDGs |
Some models can have a long life, and so might include elements from different versions of the same MDG. For example, SysML, Archimate and BPMN all have multiple MDG versions.
Quite an unusual situation. Note: where this happens, the percentages for attribute usage may not be sensible. |
This is not necessarily a problem, but it might be helpful to bring all to the same MDG level. Or, just leave it until it becomes a problem. |
Elements with low-usage Tagged Values, or large number of tagged values |
In this example, the element type has lots of tagged values (not necessarily a bad thing) but several of them have low percentage usages – ‘Parent’ is used by only 3.5% of elements. | Again, not necessarily a problem, but it might be useful to see which modellers are using the low-usage tagged values, and either discouraging them, or, if they are useful, encouraging other modellers to use them. |
Connectors with small numbers of examples |
The thickness of the line in a meta-model diagram gives an idea of how many examples of that connector are in your model.
Thin lines means fewer examples. To see exactly how many are present, look in the tagged value properties of the connector. In this example, there are 42 ‘Realization’ connectors, and 1 ‘Dependency’ . |
Use Model Expert (Right click on connector > Specialize > Model Expert > Show in diagram OR Show in Matrix) to see the connector(s) you are interested in.
Then, if you think they are an error, change their type in EA. |
Connectors with similar stereotypes |
As with the example above, the line width indicates a low-usage stereotype, which might mean this is just a simple error. | Use Model Expert (Right click on connector > Specialize > Model Expert > Show in diagram OR Show in Matrix) to see the connector(s) you are interested in.
Then, if you think they are an error, change their type in EA. |
Element pairs with multiple connector types |
Lots of modelling languages allow for this: lots of different connections between a pair of element types.
This may be allowed, but it’s really confusing for modellers: they need to know what EACH of the connector types means, and that requires a lot of knowledge. |
Consider reducing the number of ways that the two kinds of element can be linked to just one or two, and make sure they have names and styles which help modellers to pick the right one. |
And finally |
A meta-model is a summary of what’s happening in part of your model.
If you have fixed all the issues described above, and you STILL have a model which is hard to explain, then maybe you need to simplify your model some more. |
This is not a mechanical exercise.
Sit down with all the modellers who are contributing to this part of the model, and find a way to make things simpler. This may make the model less precise, but it will also make it easier to understand and so easier to re-use. |