Citation:
Date Presented:
DecAbstract:
The software evolution process means the continuous control of functional and non -functional software characteristics by the change of its code without changing the properties of its quality neither the quality of its architecture. Therefore, the most important problem to be treated is how to limit the progressive shifting between the planned and the implemented architecture during the software evolution process. This phenomenon called the erosion of software architecture, often appears unexpectedly and must be controlled. In this paper, we have proposed an approach to detect erosion problems by representing tactical, strategic, and operational architectural constraints at different abstraction levels. These constraints are specified by the use of the Alloy constraint language in order to restore the deviations that may affect the description of the software architecture during the development steps. Our goal is to control architecture quality by limiting the occurrence and impact of erosion, which means the control of architecture conformance during system development and maintenance activities.