60 likes | 182 Views
This paper discusses the limitations of current versioning systems in software product management, particularly regarding the separation of modifications at the code level. Current methods lead to overlapping changes that create dependencies, contradictions, and necessitate manual adaptations. We introduce the Intentional Change Composition Model (ICCM), which is designed to separate modifications within individual lines of code. By applying principles inspired by separation of concerns, ICCM enables fine-grained deltas and facilitates better variant management. A case study on a Customer Registration System illustrates its practical application.
E N D
On Improving Variability by Separation of Concerns in Logical Changes Zoltán Fazekas Faculty of Informatics and Information Technology Slovak University of Technology Bratislava
Shortcomings of Versioning Systems • Versioning is one of the most commonly used ways to manage software product families. • The most versioning systems do not separate modifications within a single line of code. • This leads to overlapping changes causing problems like • Dependence of logical changes • Contradiction of logical changes • making manual adaptation of variants necessary.
Intentional Change Composition Model (ICCM) • ICCM aims at separating modifications within individual lines of code. • Inspired by separation of concerns approaches like Software Plans, Spotlight, Feature Selector • Main principles of ICCM: • Fine-grained (character-level) deltas • Concerns as boolean variables • Reasons of deltas as propositional formulas over concerns • Selection of variants by value binding of concerns