The fastest way to create a Reference model is to take a part of your model which you think represents ‘best practice’, and use that as a starting point.
You could take the same approach as EA does when creating MDGs, and start from a blank sheet, but this would take much longer.
We assume that you have some parts of your model which are almost correct, and it’s much faster to use these as a starting point for a Reference Model. You can then edit this to create your own best practice model.
Choose your package
Decide how big you would like your Reference Model to be.
We suggest keeping it small: better to have several small RMs , to use for different aspects of your model than one huge one.
Find some existing modelling which you are fairly happy with, which can be a starting point for your RM.
Don’t worry if it’s not perfect – you can edit it later.
Right-click on the top-level package which contains the elements and diagrams which you would like to use, and choose Specialize / Model Expert / Analyze and create Reference Model
Choose where to save your new Reference Model
Choose Start Analysis
What you will get
Model Expert will create a number of outputs.
A set of classes which represent the element types and stereotypes in your model
Some <<diagram>> classes, which represent the types of diagram which Model Expert has found in your model.
Some EA diagrams which show (1) and (2):
A summary diagram of all the element types and diagram types. For complicated meta-models, this can be a large and scary diagram
Summary diagrams for each diagram type, showing what element types can appear in that diagram.
You can now use your Reference Model to look at other parts of your model, or to create new models.
Try this on some of the data in the example model. e.g. Choose Model Expert Examples.Example Projects.Example 1.Package1
You can now edit this RM, to make it simpler. Having two kinds of ‘Goal’ probably isn’t good, and maybe just one kind of connector between ‘Stakeholder’ and ‘Goal’ would be sensible.
Reference Model Diagram Type
Some of the classes in the Reference Model describe the types of diagram which Model Expert has found.
The EA diagram type, including the MDG diagram type if there is one. Model Expert (and EA) use this to decide which toolbox to show the user when the diagram is created.
The types & stereotypes of elements which can appear in diagrams of this type. Model Expert uses this to guide the user when they add elements to a diagram, so they only add the right ones.
Using Reference Model Diagram Types
When you make an EA Package ‘managed’ by Model Expert, the package will use a chosen Reference Model to manage the package. The Reference Model defines the Diagram Types which can exist in the package, and the elements which those diagrams can contain.
Reference Model Frequently Asked Questions
Where have all my diagrams gone?
Model Expert will examine every diagram in your ‘best practice’ model, to see what kinds of elements each one contains.
It then looks for diagrams with similar contents. For example, if you have lots of diagrams with <<stakeholder>>Actor and Requirement elements, then Model Expert will highlight this as a potentially useful diagram type.
Deciding on a set of diagram types is not an exact science: Model Expert tries it’s best to decide which are the most important types of diagram you have used.
So the list of diagrams is just a suggested list: you can add the diagram types which Model Expert has missed by adding your own diagram types.
There are relationships missing
When Model Expert analyzes your model package, it will only process relationships for elements which are located under that package.
So, if you have a package which contains some diagrams, and a diagram contains an element from elsewhere in your model, and that is the ONLY element of that type in any diagram, the elements type will appear in the Reference Model, but it’s relationships will not.
This is to prevent Model Expert from adding lots of relationship types which are used elsewhere in the model, but not in the package you are analyzing.
If you want see these relationships, either move the relevant elements under your package, or analyze a package higher-up the hierarchy, so that the relevant elements are included.