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
- Include all focus artifacts (the initial artifact and any
added artifacts) in the following lists:
- Known artifacts
- Downstream artifacts to explore
- Upstream artifacts to explore
- Explore a level downstream. The downstream analysis examines
artifacts from a focus artifact.
- 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.
- Replace the downstream artifacts to explore list
with the discovered downstream artifacts not already
in the known artifacts list.
- Explore a level upstream. The upstream analysis examines
artifacts to a focus artifact.
- 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.
- Replace the upstream artifacts to explore list
with the discovered upstream artifacts not already
in known artifacts list.
- Add both artifacts to explore lists
to the known artifacts.
- 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.