Configuring Object Relationship

Alloy Navigator provides an Object Relationship facility for managing logical and physical dependencies between various objects. A single relation always involves two objects. The Relationship Type attribute specifies the nature of the relationship.

When users relate objects in Alloy Navigator, they choose a relationship type. A single relation between two objects, A <-> B, consists of two directional links: a direct link A -> B coupled with a reverse link B -> A. Each link has a verb explaining the nature of the relation. For example, Referenced by, References; A based on B, B is basis for A.

There are two kinds of relationships:

  • Parent-Child Relationship — This is an asymmetrical relationship between two objects, which requires two different verbs to describe each side of the relationship. For example, “A is a Cause for B” - “B is Caused by A”, or “A is a Part of B” - “B Consists of AA.”
  • Sibling Relationship — This is a symmetrical, equal relationship, which uses the same verb for each side of the relationship. For example “A is connected to B”, “B is connected to A.”

You can add relationship types of any kind, such as “Contains/Is part of”, “Connected”, etc. Each type has its scope, i.e. the list of object classes for which the relationship is available. By default, there are several preconfigured relationship types. You cannot delete some of the default relationship types, but you can modify them if needed.