  Maintainability is a key quality attribute of successful software systems.
However, its management in practice is still problematic. Currently, there is
no comprehensive basis for assessing and improving the maintainability of
software systems. Quality models have been proposed to solve this problem.
Nevertheless, existing approaches do not explicitly take into account the
maintenance activities, that largely determine the software maintenance effort.
This paper proposes a 2-dimensional model of maintainability that explicitly
associates system properties with the activities carried out during
maintenance. The separation of activities and properties facilitates the
identification of sound quality criteria and allows to reason about their
interdependencies. This transforms the quality model into a structured and
comprehensive quality knowledge base that is usable in industrial project
environments. For example, review guidelines can be generated from it. The
model is based on an explicit quality metamodel that supports its systematic
construction and fosters preciseness as well as completeness. An industrial
case study demonstrates the applicability of the model for the evaluation of
the maintainability of Matlab Simulink models that are frequently used in
model-based development of embedded systems.
