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