Gadfly: An Approach to Architectural-Level System Comprehension, The
Technology to support system comprehension tends to
reflect either a “bottom-up” or “top-down” approach. Bottom-
up approaches attempt to derive system models from
source code, while top-down approaches attempt to map
abstract “domain” concepts to concrete system artifacts.
While both approaches have merit in theory, in practice the
top-down approach has not yielded scalable, cost-effective
technology. One problem with the top-down approach is
that it is very expensive to develop domain models, and it is
difficult to develop models that are sufficiently general to
be applied to multiple systems (and hence amortize the
development cost). This paper describes the Gadfly, an
approach for developing narrowly-focused, reusable
domain models that can be integrated and (re)used to aid
in the process of top-down system comprehension.