On the Use of Declarative Meta Programming for Managing Architectural Software Evolution
Tom Mens, Kim Mens, Roel Wuyts · 2000
When looking at existing tools that provide support for architectural software evolution, we can distinguish between support for run-time, pre-execution time and designtime evolution; between support for unconstrained and constrained evolution; and between proactive, reactive and retroactive support for evolution. Current tools that support architectural evolution can only deal with a subset of the above issues. Moreover, they typically address only some particular aspects of software evolution (e.g., impact analysis, reverse engineering, etc ). We propose declarative meta programming as an expressive and uniform medium for building tools that support architectural evolution. Amongst others, this enables the integration and combination of such tools, and allows the construction of new tools by sharing and reusing earlier codified knowledge.