Architecting software systems is an integral part of the software
development lifecycle. However, often the implementation of the
resultant software ends up diverging from the designed
architecture due to factors such as time pressures on the
development team during implementation/evolution, or the lack of
architectural awareness on the part of (possibly new)
programmers. In such circumstances, the quality requirements
addressed by the as-designed architecture are likely to be
unaddressed by the as-implemented system.
This paper reports on in-vivo case studies of the ACTool, a tool
which supports real-time Reflexion Modeling for architecture
recovery and on-going consistency. It describes our experience
conducting architectural recovery sessions on three deployed,
commercial software systems in two companies with the tool, as a
first step towards ongoing architecture consistency in these
systems. Our findings provide the first in-depth characterization
of real-time Reflexion-based architectural recovery in practice,
highlighting the architectural recovery agendas at play, the
modeling approaches employed, the mapping approaches
employed and characterizing the inconsistencies encountered. Our
findings also discuss the usefulness of the ACTool for these
companies.
History
Publication
8th International ACM Sigsoft Conference on the Quality of Software Architectures (QoSA 2012);