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.