Association submodels are used to contain properties of relationships between one or more other submodels. If only one submodel is involved, the relationship is between different instances of the submodel. If there are two submodels, the relationships are between the instances of the two submodels. An association submodel (which looks just like a normal submodel) is used to contain elements that are held in common between the submodel instances taking part in the association. In effect, these elements do not belong to just one or other submodel but to both. For instance, the concept of a salary requires an employer paying the salary as well as the employee receiving it.
Association submodels are often used to represent a model concisely that otherwise would require repetition. If you are familiar with object-oriented programming, you will notice that association submodels are similar in concept to association classes.
For more information:
A 'base submodel' is a submodel that takes part in an association.
A 'relation' is an association between instances of the same base model.
A 'role' is the arrow that connects a base submodel to an association.
Note that there are some advanced aspects of optimising the performance of models using associations For more information please see:
In: Contents >> Working with submodels