Page 191 -
P. 191

176     BARBER  AND  GRASER
                    While there are various metrics related to architectural structure that are easily computed (e.g.,
                    number of classes, number of services per class, degree of coupling), evaluating with respect to
                    high-level qualities such as reusability and maintainability is not so straightforward. The challenge
                    is to establish explicit correlation between specified qualities and measurable characteristics of
                    derived architectures. Such a correlation will also help determine the contribution of individual
                    DRA elements to the satisfaction of specific quality attributes.

                      By combining features such as derivation heuristics, conflict management, formal evaluation,
                    and rationale and process capture, the RARE process has evolved architecture derivation from
                    an ad hoc activity to a deterministic process. Nonetheless, it is unrealistic to expect that such a
                    process can fully automate architecture derivation. Even with such support, derivation remains
                    an iterative, exploratory process, where architect involvement is essential. The RARE process is
                    designed to reduce the burden of managing information during iterative derivation, yet allow the
                    architect to contribute where automation is not suitable.
                      The following subsections elaborate on the RARE derivation approach, addressing the steps
                    in the formal derivation process, the supporting representations that drive derivation based on the
                    qualities selected by the architect, conflict detection and resolution, and methods for evaluating
                    the architecture with respect to selected qualities using relevant metrics.

                    RARE Formal DRA Derivation Process

                    Architecture derivation is an iterative process analogous to a guided search of the space of possible
                    architectures for a given DM. The search begins with a complete Domain Model and an empty
                    DRA. The search space represents (1) the degree to which the DRA covers the information repre-
                    sented in the DM and (2) the many possible structuring options available to the architect given a
                    particular set of desired quality goals. A search path represents a sequence of derivation iterations,
                    where each DRA version builds upon the one produced in the previous iteration.
                      The detailed steps involved in DRA derivation are shown in Figure 10.5. The process is divided
                    into two phases: (1) Plan-Generation—when goal priorities are assigned and a “Derivation Plan”
                    is generated and (2) Plan-Execution—when strategies in the plan are applied and the resulting
                    DRA is evaluated with architect oversight. Figure 10.5 outlines the steps associated with each
                    phase in a process flow diagram. Boxes in Figure 10.5 symbolize processes, black arrows represent
                    process flow, and gray arrows indicate data flow. The diagram distinguishes between processes
                    associated with Plan-Generation and those related to Plan-Execution. Font styles in the process
                    boxes indicate performer: italics—the architect; underlined—RARE; both italics and underlined—
                    a joint process between the architect and RARE. The following section describes the two phases
                    and their constituent processes.

                    DRA Plan-Generation

                    During DRA Plan-Generation, the architect selects and prioritizes goals from the RARE knowl-
                    edge base (KB) (described in a subsequent section). From the prioritized goals, RARE builds the
                    Derivation-Plan and subsequently prunes conflicting strategies. The processes in this phase (see
                    Figure 10.5) are described below:

                        1.  Select and Prioritize Goals Based on Qualities Identified (performed by the architect):
                           From the goals available in the RARE KB, the architect selects and prioritizes a set of
   186   187   188   189   190   191   192   193   194   195   196