Page 195 -
P. 195
180 BARBER AND GRASER
Figure 10.6 Relationships Between RARE Goals, Heuristics, Strategies,
and Meta-strategies
A strategy may apply to
A heuristic can be used under multiple heuristics, and a
multiple goals, and a single goal heuristic is usually achieved
may reference numerous through multiple strategies.
heuristics.
Goal Meta-strategy
1
M
Partially orders the
Heuristic execution of....
Offers an approach for
satisfying one or more....
M M N
N
Strategy
Provides a DRA transformation
A heuristic is evaluated by procedure used to apply....
combining many metrics,
and each metric may be
used to evaluate different N Metric
heuristics. Provides a measurement to
indicate whether DRA adheres to....
Heuristic
A “rule of thumb” compiled from expert experience on past projects that assists the architect in
making rational decisions when defining DRACs. For example, a well-known object-oriented
heuristic recommends reducing coupling among classes to encourage reuse (Riel, 1996). An
architectural goal associated with a given quality (e.g., reusability) is typically associated with
multiple heuristics.
Strategy
An architecture transformation procedure (sequence of actions) used to apply a given heuristic.
Following the “reduce coupling” example, a strategy might explicitly state, “move service S1
from DRAC D1 to DRAC D2” to eliminate the need to exchange data between DRACs D1 and
D2. More than one strategy may contribute to a heuristic, and a strategy may apply to more than
one heuristic. A strategy becomes “active” (i.e., may be applied by the architect) when specific
preconditions encoded in the strategy evaluate to true. These preconditions are based on particular
metric values or conditions in the architecture. For example, the “reduce coupling” strategy may
be triggered by an unsatisfactory value for “Degree of Coupling,” a metric used as a measure of
DRAC-to-DRAC coupling.
Metric
A measurement of a particular architecture characteristic that provides an indication as to whether
the architect adhered to a given heuristic. Continuing with the previous example, the DRAC in-