Module and Element Dependencies
Modules contain elements and modules can be dependent on other modules. How do these module dependencies come into being? There are two characteristics of elements that are responsible for creating a dependency between two modules:
- a link from one element to another one (called the “target element” of a link)
- an element that has a parent element set (called the “parent element” of an element)
When a link’s target element or an element’s parent element is located in a different module. Then the element’s module has a dependency to that different module. Or a bit more formally expressed:
- Element(M1) has a link to Element(M2) => M1 depends on M2
- Element(M1) has a parent Element(M2) => M1 depends on M2
Whenever you use the “links” tab of the Element Wizard View to create a new link and at the same time create a new element, that new element belongs to the same module as the link owner’s module. However, when you use the wizard to create a new link where the target element is an existing element that belongs to a different module, you create a module dependency from the link owner’s module to the target element’s module.
Every module has a dependency tree of modules. In the simplest form, a module has an empty dependency tree. Normally, there are always some modules that have an empty dependency tree. In the most complex form, a module’s dependency tree includes all of an organization’s modules. This is rarely the case, though.
You can see a module’s dependency tree by opening the Module Dependencies View
When you want to see a dependency tree for an element, you have to use the Diagram View. That view takes only element links into account. An element’s parent element is not displayed in a diagram.