Page 200 -
P. 200

DOMAIN-SPECIFIC & IMPLEMENTATION-INDEPENDENT SOFTWARE ARCHITECTURES     185
                    Figure 10.8  “Static” Conflict Resolution During Plan Generation

                                                  Meta-strategy1                    Meta-strategy1
                                                    Strategy001                       Strategy001
                                                    Strategy002                       Strategy002
                     Selected
                      Goals  Initial plan built from   Strategy008                    Strategy008
                     1. Goal1  heuristics and                   Strategies are
                     2. Goal2  strategies under     Strategy009  pruned based on      Strategy009
                     3. Goal3  selected goals                   conflicts defined in
                             based on goal        Meta-strategy2  each strategy, and   Meta-strategy2
                             priorities and                     the revised plan is
                             heuristic weights      Strategy005  presented to the     Strategy005
                      RARE   (yielding strategy                 architect for review.
                       KB    priorities).           Strategy006                       Strategy006
                                                  Meta-strategy3                    Meta-strategy3
                                                    Strategy003                       Strategy003
                                                    Strategy004                       Strategy004



                    of goal priority and heuristic weight). At the termination of Plan-Generation, the Derivation Plan
                    is presented to the architect for review prior to Plan-Execution.
                      Figure 10.8 shows an example of this process. The architect selects three goals from the KB,
                    prioritized as Goal1, Goal2, and Goal3. RARE builds an initial derivation plan from the heuris-
                    tics and strategies under the selected goals, taking into account the goal priorities and associated
                    heuristic weights to calculate strategy priorities. The resulting plan in Figure 10.8 is composed
                    of three meta-strategies with respective prioritized strategies. If the strategy definitions in the KB
                    indicate that Strategy005 conflicts with Strategy006, RARE suggests that Strategy006 be pruned,
                    since Strategy005 has a higher priority in the derivation plan. The revised plan is presented to the
                    architect for final review.
                      The following section discusses the RARE approach for DRA evaluation with respect to se-
                    lected quality goals.
                    Formally Evaluating the DRA with Respect to Quality Goals


                    In RARE, metrics defined under heuristics have two functions: (1) to evaluate the current state
                    of the architecture with respect to achieving respective goals and heuristics (i.e., “how good is
                    the DRA?” and “is DRA derivation complete?”) and (2) to provide direction as to how deriva-
                    tion should proceed to more fully satisfy quality goals (i.e., “what transformations are suggested
                    to improve the DRA?”). To support these decisions, the RARE tool must be able to determine
                    whether a metric value is acceptable, and if not acceptable, in which direction it deviates and how
                    severe the deviation is. Since it is highly unlikely that a single, desired value can be achieved for
                    every metric under consideration, defining an “acceptable range” and a set of “deviation ranges”
                    is more practical (e.g., “highly deviated,” “slightly deviated,” and “acceptable” ranges). Further-
                    more, while a metric can apply to more than one heuristic, what may be considered an acceptable
                    value under one heuristic may not be acceptable under another. Thus, when evaluating the current
                    state of the architecture with respect to quality goals, it is the degree of deviation, rather than the
                    metric value itself, that contributes to overall goal evaluation. In addition, some metrics are better
   195   196   197   198   199   200   201   202   203   204   205