Understanding how analysis determines artifacts to display

When you run an analysis on an artifact, the algorithm that is described determines the artifacts that display.

About this task

An upstream artifact is the subject of a predicate with the target as the object (an artifact that points to the target). A downstream artifact is the object of a predicate in which the target is the subject (an artifact the target points to).

Procedure

  1. Include all focus artifacts (the initial artifact and any added artifacts) in the following lists:
    1. Known artifacts
    2. Downstream artifacts to explore
    3. Upstream artifacts to explore
  2. Explore a level downstream. The downstream analysis examines artifacts from a focus artifact.
    1. For the list of downstream artifacts to explore, calculate a list of discovered downstream artifacts by finding all links from the downstream artifacts to explore to the discovered downstream artifacts.
    2. Replace the downstream artifacts to explore list with the discovered downstream artifacts not already in the known artifacts list.
  3. Explore a level upstream. The upstream analysis examines artifacts to a focus artifact.
    1. For the list of upstream artifacts to explore, calculate a list of discovered upstream artifacts by finding all links to the upstream artifacts to explore from the discovered upstream artifacts.
    2. Replace the upstream artifacts to explore list with the discovered upstream artifacts not already in known artifacts list.
  4. Add both artifacts to explore lists to the known artifacts.
  5. If the artifacts to explore lists are not empty, and the maximum exploration depth is not exceeded, repeat steps 2 to 5 to explore another level.

    When the algorithm performs an analysis, it can move in one direction at a time. The algorithm searches in the direction you set, either upstream or downstream, and finds all targets in that direction. The consequence is that impact analysis finds artifacts that are reachable from the targets by way of a chain of forward-only or backward-only links. Impact analysis does not find artifacts that are reachable only by a combination of forward and backward links.

    For example, in the Rational® Engineering Lifecycle Manager product tree, impact analysis cannot find the child products of a given product because the path to the child products involves following both forward and backward links. (The structure of the hierarchy is not directly defined for products. To access products, the analysis algorithm must search bidirectionally, but cannot.) To view product hierarchy relationships and context, perform product actions from the Products screen.

    Impact analysis can find loops (an artifact is reachable from itself by a chain of one or more other artifacts), if the length of the loop is less than or equal to the maximum depth specified.


Feedback