Source-linked AI summary
An Activity-Based Quality Model for Maintainability
Florian Deissenboeck, Stefan Wagner, Markus Pizka, Stefan Teuchert, Jean-François Girard
TL;DR
Maintainability approaches lack a comprehensive basis for assessment and improvement, while maintenance activities substantially determine maintenance effort. The paper models system properties in relation to those activities and applies the approach to Simulink models in an industrial case study. The case study supported a consistent terminology and revealed omissions and contradictions in existing guidelines.
Problem
Existing approaches have not established a common understanding of maintainability factors and their interrelations, and often omit maintenance activities that determine effort.
Source: §1 · pp. 1–2Method
The paper proposes a two-dimensional quality model that maps facts about a development situation to maintenance activities and separates those activities from system characteristics.
Source: §1 · p. 2, §3.1 · p. 4, §3.2 · p. 5Results
The industrial case study built a comprehensive Simulink/Stateflow maintainability model, clarified terminology, revealed guideline omissions and contradictions, and led to inclusion in MAN’s standard development process.
Source: §4.2 · p. 8, §4.4 · p. 9, §5 · p. 10Takeaways & Limitations
The model can support tailored guideline generation and automatic quality assessment in the studied industrial setting.
Source: §5 · p. 10The MAN-specific model could not be fully described because of space and confidentiality constraints.
Source: §4.2 · p. 8
Abstract
from arXiv · showhide
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.
1. Introduction
Maintenance effort matters both economically and because the time needed for changes affects organizations’ ability to adapt. The paper proposes a model that makes maintenance activities explicit, with a metamodel and practical uses including tailored guidelines and industrial application.
1. Introduction
- Existing maintainability approaches lack a comprehensive basis for assessing and improving systems, in part because they omit activities that largely determine maintenance effort.Those activities include problem understanding and testing, alongside system properties and organizational or psychological factors.Source: §1 · p. 1
- Mixed decomposition dimensions can make models inconsistent and hamper the discovery of omissions and inconsistencies.Other cited shortcomings include criteria too coarse for assessment and missing rationales for required system properties.Source: §1 · p. 2
- The paper proposes a two-dimensional model that separates system properties from maintenance activities to structure maintainability and support sound criteria and reasoning about their interdependencies.An explicit quality metamodel supports systematic construction, preciseness, and completeness.Source: §1 · p. 2
- The model stores quality definitions as a knowledge base for generating task-specific guidelines and analyzing system artifacts.It can also help reveal omissions and contradictions in existing models and guidelines.Source: §1 · p. 2
- An industrial case study built a comprehensive maintainability model for Matlab Simulink models used in embedded-systems development, and the model entered MAN’s standard development process.The study involved MAN Nutzfahrzeuge.Source: §1 · p. 2
2. Related Work
Related approaches include quality models, process-based methods, guidelines, and metrics, but each has limitations as a basis for maintainability assessment. The paper identifies problems with assessability, justification, consistency, and operational use.
Guidelines
- Guidelines can fail to motivate practice when they offer generic explanations, and compliance may go unchecked even when some rules can be assessed automatically.The paper argues that explaining effects on maintenance activities and effort can provide justification.Source: §2 · p. 2
Metrics-based Approaches
- Metrics-based methods combine measures such as lines of code and Cyclomatic Complexity into maintainability indices, but do not explain how properties affect maintenance activities.Their focus on automatically analyzed source-code properties excludes semantic issues such as appropriate data structures and meaningful documentation.Source: §2 · p. 2
Quality Modeling
- Quality models decompose broad attributes into assessable criteria, but often lack a clear decomposition rationale, use coarse criteria, and mix dimensions, limiting assessment and consistency.The paper also notes that many remain prose or graphics rather than artifacts integrated with quality assurance.Source: §2 · p. 3
Processes and Process Models
- Process-based approaches cover organizational issues, but process quality alone does not guarantee product quality, which also depends on development criteria, skills, and tools.Source: §2 · p. 3
Discussion
- The paper groups common shortcomings of maintainability approaches as inadequate assessability, weak justification, inhomogeneous criteria, and limited operationalization.Source: §2 · p. 3
3. Maintainability Model
The maintainability model separates maintenance activities from facts about the broader situation, then links them to support structured assessment and quality-control tools. Its explicit metamodel and editor support consistent models and tailored guideline generation.
3. Maintainability Model
- The model is intended as a project- or company-wide quality knowledge base integrated into quality assurance, with guidelines and artifact assessment tools linked to its definitions.The initial model was developed in a commercial telecommunications project.Source: §3 · p. 3
3.1. Hierarchical Models
- Mixing activities with system characteristics makes hierarchical edges ambiguous, weakening their explanatory and aggregation roles.The model distinguishes activities such as modification from characteristics such as structuredness.Source: §3.1 · p. 4
3.2. An Activity-Based Model for Maintainability
- The model treats activities and facts as separate dimensions, linking system and organizational conditions to maintenance work rather than mixing them in one hierarchy.The activity set depends on an organization’s maintenance process, while facts include any factors affecting activities.Source: §3.2 · pp. 4–5
- Atomic facts are linked to atomic activities in a matrix, whose unambiguous links support aggregation through both hierarchies and integrity checks.The example matrix exposes an apparent missing tool–coding impact, which the authors attribute to omitted tools such as integrated development environments.Source: §3.2 · p. 5
3.3. Attributes & Impacts
- Separating entities from attributes reduces repeated facts and supports clearer decomposition, while assessment may be automated, manual, or partly automated.For example, COMPLEXITY can be applied to a System, Subsystem, or Class; cloned code may be detected by tools while other redundancy needs manual inspection.Source: §3.3 · pp. 5–6
3.4. The Quality Metamodel
- The explicit QMM metamodel specifies entities, attributes, facts, activities, and impacts, supporting consistent model structure and tool support.It also supports attribute inheritance, such as inheriting SUPERFLUOUSNESS from Component to Class.Source: §3.4 · p. 6
3.5. Tool Support
- The model editor supports model creation and management, and generates synchronized guideline documents that can be tailored to tasks such as documentation reviews.The described editor also supports browsing, persistence, versioning, and refactoring.Source: §3.5 · p. 6
3.6. Summary
- The approach gives activities a central role in quality modeling, defines separate decomposition criteria, and includes organizational factors alongside system characteristics.The authors describe the activity focus as a step toward economically justified maintainability engineering.Source: §3.6 · p. 7
4. Case Study
The case study applied a maintainability model to Simulink/Stateflow models used for code generation at a German commercial-vehicle manufacturer, adapting an existing model and extending it for that setting. The study reports that engineers accepted the model and found practical value in its guidance, terminology, and analyses.
4.1. Environment
- The study took place at a commercial-vehicle manufacturer using a mature, model-based embedded-development process, and the model was adopted into its standard development process.The tool chain included Matlab/Simulink, Stateflow, and TargetLink.Source: §4.1 · p. 7
4.2. The Maintainability Model
- For Simulink/Stateflow, the team extended the model with domain-specific facts, matched its activities to MAN's process, and represented impacts between facts and activities.The model's new elements covered properties such as states, signals, ports, and graphical representation; its sources included guidelines, research, and engineer expertise.Source: §4.2 · p. 8
- Model construction exposed inconsistent terminology and contradictory guidance about implicit events; after discussion with MAN engineers, the model adopted dSpace's view.The study also resolved differing uses of “subsystem” across Simulink documentation, dSpace guidance, and MAN terminology.Source: §4.2 · p. 8
- Modeling variable guidelines exposed an unstated smallest-scope requirement and an imbalance favoring Simulink variables, so the team transferred relevant guidance to Stateflow variables.The common parent entity Variable carried the LOCALITY attribute to both variable types.Source: §4.2 · p. 9
4.3. Usage of the Model
- Tool support generated concise, purpose-specific checklists for different readers, while preliminary parser-based analyses checked model properties and C-code-generator support.Generated documents combined compact checklist sections with linked detail; analyses were integrated into CONQAT for quality profiles and visualizations.Source: §4.3 · p. 9
4.4. Discussion
- The model proved applicable in the industrial setting; MAN engineers accepted its activity-impact structure, which justified quality rules and helped reveal omissions and inconsistencies in existing guidelines.The study reports that model building exposed these problems and allowed them to be resolved.Source: §4.4 · p. 9
- MAN engineers found the consolidated terminology and knowledge base useful, while purpose-specific guidance and automated assessments supported the model's practical use.The model communicated quality knowledge concisely to developers, reviewers, and testers, and provided the basis for automated checks.Source: §4.4 · p. 9
5. Conclusion
The paper argues that maintainability needs a shared understanding and makes maintenance activities first-class in its two-dimensional quality metamodel. An automotive case study used the metamodel and tools to build a Simulink/Stateflow maintainability model, while future work extends automated assessments and quality attributes.
5. Conclusion
- The metamodel maps development-situation facts to maintenance activities, highlighting their impact on maintenance effort.The authors argue this addresses the lack of a sound, accepted definition and common understanding of maintainability.Source: §5 · p. 10
- In an automotive case study, the metamodel and tools built a comprehensive maintainability model for embedded-system development with Simulink/Stateflow.Model construction helped define consistent terminology and reveal omissions and contradictions in existing quality guidelines; the model was included in MAN’s standard development process.Source: §5 · p. 10
- Future work with MAN widens automated quality assessments and applies the metamodel to usability, reliability, and performance.The authors aim to integrate relevant quality attributes to support holistic, systematic quality discussion.Source: §5 · p. 10