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-
   190   191   192   193   194   195   196   197   198   199   200