Model Expert lets you create Reference models which contain your ‘Best Practice’ modelling. (Note: we should call these Reference META-models, but we will shorten this to Reference Model)
Reference models can include required and permitted element types and stereotypes, connector types and stereotypes, and validation rules.
An EA package may be associated with a single Reference Model, so that modellers must follow the rules of that Reference Model as they create elements and diagrams
Such a package is described as ‘Managed’
Diagrams and packages which are not Managed may be checked against a Reference Model, just by selecting the Reference Model you’d like to use.
What can a Reference model contain?
Holds the rules for a single type of model. For example, process modelling, requirements modelling
Describes the types and stereotypes of element which are allowed within a package.
You may also define which EA fields (such as name, notes, status, phase etc) which the modeler may use, which ones are mandatory or optional, and which have a defined set of values. These settings can be used to show modellers a custom properties page.
The main content of a Reference Model is a set of classes.Â Each class represents one element type/stereotype.
It will always have attributes of:
It may also have additional class attributes, which describe the EA properties and tagged values which examples of that type can use. This will almost always contain ‘name’: EA elements usually have a name.Â These class attributes are split into two:
<<standard attribute>> – these are the standard EA properties which the type uses
<tagged value>> – shows where the type uses tagged value.
Reference Model Example
A Model like this:
has this meta-model:
This just says that the model contains Actors, <<special>>Actors and Use Cases, and which kinds of relationships are present.
Model Expert analyses your model to create a meta-model. Then you can make whatever changes you need before saving it as your Reference model.
For example, you might not want your model to have <<special>>Actors, or not use the ‘extends’ link between Use Cases (good idea!), in which case you can just edit your meta-model to look like this:
When Model Expert saves a meta-model created like this as a Reference Model, it just removes a few of the attributes of the meta-model (like ‘count’). It can then be applied as the modelling standard for any part of your model.
Saving and Sharing Meta- and Reference Models
Perhaps the slightly confusing bit of the reference meta-model idea is that they are themselves EA models: a simple class diagram. Each class in the diagram represents an EA ‘thing’ (‘Requirement’, <<special>>UseCase, Port etc), and the connectors in the diagram represent the types of relationships which your model can have.
BUT – this does mean they can live inside your EA models, just like any other diagrams, and be exported, imported, documented and viewed using strandard EA tools and techniques.
Note that Model Expert reference meta-model diagrams only have two kinds of connectors themselves:
Associations. The names of these say what kind of EA connector are allowed in your model
Aggregations. These show where there are parent/child relationships in your model.