I Introduction
Software architecture is loosely defined as the organizational structure of a software system including components, connections, constraints, and rationale [7]. Since the architecture of a software system greatly influences all of a system's quality attributes [4], it is important to regularly evaluate the actual, as-implemented, software architecture of a system.