7.9.1.3.  Transitive Dependencies

Sometimes it is required to analyze relationships between elements beyond the direct dependencies. For this reason, Sonargraph offers the option of taking into account the transitive dependencies for the focus operations. To better understand this concept assume a system with the following dependencies between elements A, B, C, D and X:

  • Element A depends on element B: A -> B

  • Element B depends on element X: B -> X

  • Element X depends on element C: X -> C

  • Element C depends on element D: C -> D

Taking element X as a reference for this example, we can express the relationship between A and X as A -> B -> X and the relationship between X and D as X -> C -> D. For this relationships the following statements are true:

  • X has a transitive incoming dependency from A

  • X has a direct incoming dependency from B

  • X has a direct outgoing dependency to C

  • X has a transitive outgoing dependency to D