-
Notifications
You must be signed in to change notification settings - Fork 1
Variability Refactoring
The variability refactoring is the process of integrating the changes identified by variation points into the leading projects. Variability Mechanisms are used to realize this integration. The selection of the mechanism can be done by hand via the properties of the variation point or can be guided by an auto recommending mechanism as described below. The description of the refactoring procedure is described afterwards.
A variability mechanism has to be assigned to every variation point in order to start the refactoring process. SPLevo checks this before the refactoring. If at least one variation point has no machanism assigned, the following hint will appear:
If you select OK, the auto-recommender tries to assign a variability mechanism to every variation point that does not already have one. The recommender only considers mechanisms defined in the SPL Profile (see The SPLevo Dashboard). It respects the defined priority. If a mechanism could be assigned to every variation point, the following information will appear:
If a variation point still has no assigned variability mechanism, an error will appear. You can find such variation points by using the corresponding filter in the Feature Outline. There are three possible strategies to handle this:
- Review/discuss your corporate guidelines to allow further mechanisms and re-run the recommender
- Manually enable mechanisms not defined in the SPL Profile
- Change the characteristics of the variation point
The refactoring procedure affects the source code and the variation point model (VPM). The source code is processed by using the variability mechanisms assigned to the variatioin points. The variation point model is adjusted in a way that it references the new source code in the leading project.
The source code refactorings can be separated into two groups: fully-automated refactorings and semi-automated refactorings. The fully-automated refactorings modify the source code without human intervention. This is done as soon as the refactoring phase is started. The semi-automated refactorings only provide limited automation. The degree of required human intervention reaches from providing additional information to guided manual refactorings.
You have to start each semi-automated refactoring manually via the TaskView shown below. You have to select an entry and start the refactoring via the context menu. Depending on the variability mechanism, various actions have to be done in order to carry out the refactoring. After successfull completion, the entry will be removed from the task list.
Contact
KoPL Project
http://www.kopl-project.org
Project Lead: DevBoost GmbH
-
User Guide
-
Demonstrations
-
- Getting Started
- Recommended Tools
- Coding Conventions
- Architecture
- Variation Point Model
- UI
- Quality Assurance (QS)