Working with submodels : Association submodels



Association submodels

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:

To create an association submodel:

  1. Create an unique identifying variable(s) in the associated submodels.
    The variable(s) allow unique identification of an instance. This is easy
    to specify, using a variable(s) taking the value of the submodel index (or indices).
  2. Create a single instance submodel which will be the association
    submodel itself, containing variables that specify the association.
  3. Create one or more multiple instance submodels that will be associated,
    each playing a role in the association.
  4. Draw role arrows from the
    associated submodels to the association submodel. The role arrows should be
    given meaningful names indicating the role the instances of the source
    submodel play in the association. Meaningful role names make specifying the
    equations in the association much easier.
  5. Add a condition symbol in
    the association submodel specifying when the association holds true. The
    condition is an expression involving the identity variables of the
    associated submodels.
  6. Include in the association submodel all the variables that belong
    equally to all role-playing submodels.
  7. Draw influences between relevant variables in associated submodels and
    the association submodel and specify these variable's equations.

To follow this in practice:

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