-
Notifications
You must be signed in to change notification settings - Fork 1
Variation Point Model
The Variation Point Model (VPM) describes the variability of a software product line on a software design level in terms of variation point structures and characteristics.
Within the SPLevo process, a VPM is initialized based on the very fine grained differences identified during the Difference Analysis and iteratively refined based on the results of the Variability Analysis.
(part of the Technology Cartridges) The Software Element within the general VPM is a generic and technology independent representation of a software element. A Technology Cartridge can specify a technology specific software element (e.g. JaMoPPSoftwareElement) which extends the SoftwareElement (or JavaSoftwareElement if this can be opened in the Eclipse Java Editor).
A SoftwareElement is a representation of a real software element. They should ne duplicate the software model itself due to processing and storage reasons. Instead, they should represent a link to the original software element (e.g. AST node) extracted from the implementation. Furthermore, software elements should only be created for those original software elements really needed to reference. This is done to keep the size of the Variation Point Model as small as possible.
Recommendations when developing a technology specific VPM extension.
The software elements stored should be as lightweight as possible. Data volume and processing is always an issue during software model processing. So prevent duplicating information already available in the original software elements. Especially do not produce (or cache) any data which might not be needed later on. However, there might be situations where you need specific data from the original software elements several times and the calculation is more expensive then the data storage. In such cases you might consider to cache the information. However, do not do this on spec, but start with the non caching approach and consider to use a profiler to get depenable data first.
A specific SoftwareElement must provide a reasonable equality check. During the processing, especially during the analyzes, multiple software elements linking to the same original software element (e.g. AST node) might be created and might need to be checked for equality. This requires to identify to software elements as equal if they link to the same original software element.
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)