Software architecture, as a vehicle for communication and reasoning about software systems and their quality, is becoming an area of focus in both the forward- and reverseengineering communities. In the past, we have attempted to unify these areas via a semantic model of reengineering called CORUM II. In this paper we present a concrete example of an architecturally-motivated reengineering task. In executing this task, we perform architecture reconstruction, reason about the reconstructed architecture, motivate an architectural transformation with new architectural quality requirements, and realize this architectural transformation via an automated code transformation.
S. Jeromy Carrière, Steven G. Woods, Rick K