Page 212 -
P. 212

DOMAIN-SPECIFIC & IMPLEMENTATION-INDEPENDENT SOFTWARE ARCHITECTURES     197
                    measuring architectural structure that are related to quality goals through respective heuristics.
                    While the metrics and heuristics under a quality goal may not represent perfect predictors of a
                    system implemented from a DRA, they are nonetheless valuable to the architect by providing a
                    “toolbox” of derivation approaches and methods for measuring their success.
                      The Domain Reference Architecture derivation process and tool produced by this research
                    provide a means for quantified evaluation of architectures and an experimental apparatus by
                    which architectures can be compared. Such an apparatus enables follow-on studies to validate
                    goal, heuristic, strategy, and metric definitions and resulting architectures. Specific questions to
                    be addressed in this analysis include (1) identifying the best metrics for predicting quality goals;
                    (2) classifying preferred DRA structures, whereby the derivation process is influenced by orga-
                    nizational preferences; and (3) determining optimal approaches (heuristics and strategies) for
                    achieving those DRA structures.
                      There exists no compendium of approaches for deriving the optimal architecture in all situa-
                    tions. Rather, improving the derivation process is a learning activity, taking into account feedback
                    from archived derivation runs, downstream architecture analysis tools, actual systems designed
                    from derived DRAs, and so on. As such, a worthwhile avenue for future work would be the ap-
                    plication of machine learning to the derivation and evaluation process. Specifically, this would
                    involve incorporating machine-learning approaches into RARE to automatically fine-tune the
                    RARE KB based on feedback received.
                      One particularly promising area under investigation by software architecture researchers is the
                    synthesis of architectures with given properties. The RARE process and tool move one step closer
                    to this goal by deriving an implementation-independent architecture driven by quality goals (i.e.,
                    high-level properties). Future research will extend the DRA derivation and refinement process to
                    incorporate additional architecture representations designed to specify site-specific implementa-
                    tion and installation requirements. Thus, such a process will yield an architecture customized for
                    a given site in terms of (1) domain services needed; (2) implementation requirements specified;
                    and (3) installation constraints imposed.
                    ACKNOWLEDGMENTS


                    This research was sponsored in part by the Defense Advanced Research Project Agency (DARPA)
                    Taskable Agent Software Kit (TASK) program, F30602–00–2–0588. The U.S. government is
                    authorized to reproduce and distribute reprints for governmental purposes notwithstanding any
                    copyright annotation thereon. The views and conclusions herein are those of the authors and
                    should not be interpreted as necessarily representing the official policies or endorsements, either
                    expressed or implied, of the Defense Advanced Research Project Agency.

                    NOTES

                      1. For purposes of this discussion, a “domain” can be considered a bounded set of work processes related
                    by time and functional dependency.
                      2. The goal satisfaction index shown in Figure 10.10 represents one possible cost function for evaluating the
                    DRA and guiding the derivation process. Other such functions may be considered in follow-on research.
                    REFERENCES

                    Abd-Allah, A. 1997. Extending reliability block diagrams to software architectures. USC-CSE-97–501. Los
                      Angeles: Center for Software Engineering, University of Southern California.
   207   208   209   210   211   212   213   214   215   216   217