SPLevo

Aus SDQ-Wiki
Content Marked as Moved
Please note that this article has been moved.
New URL: https://github.com/kopl/SPLevo
Reason: SPLevo has been published on GitHub.
Splevo-logo.png

Overview

The SPLevo (Software Product Line evolution) research approach develops concepts and tools to transform customized product copies into a common software product line (SPL).

The fundamental concept of the SPLevo project is to analyze the differences between customized product copies, detect relevant and related differences, derive favored variable product features and recommend refactorings of the implementations to a common product line.

SPLevo Approach Overview

As shown in the approach overview diagram, the SPLevo project aims to support a round-trip support for transfering the customized product copies into a common product line.

Core features of the approach

  • Taking individual SPL requirements into account (SPL Profile)
  • Analyzing related and relevant differences in customized product copies
  • Semi-automatic process for variation point design
  • Explicitly distinguish implementation, variation point design and feature models
  • Facilitating reverse-engineering techniques
  • Model-Driven Approach

Main Process

SPLevo Main Process Concept

The SPLevo main process concept facilitates the following major steps:

  1. Extracting software entity models
  2. Model comparsion to identify differences
    (Variation Point model initialization)
  3. Iterative variation point refinement
  4. Refactoring Support

Main Process Activities

On a more detailed level, the activities of the main process are:

SPLevo Main Process Activities
  • Extracting the software entity models
  • Model-Based diffing customized for software entity models
  • Variation Point Model initialization
  • Feature Model Initialization
  • Iterative Process of
    • Selecting variation point analyses
    • Perform analyses and derive refinement recommendations
    • Select favored refinement
    • Apply refinements
  • Clean up models
  • Refactor implementation to a common SPL

Status

The SPLevo approach and tooling is in a research and development phase. An initial prototype of the tooling is available in the source repository. If you are interested in more details, feel free to contact us.

Documentation

Open Source Contributions

The SPLevo project facilitates open source components and is also developed in context of the Palladio project. Due to this, the project not only aims to provide open source tools by himself but also contributes to other open source projects. Examples are the Eclipse EMF Feature Model project (Feature Diagram Editor), the Palladio Workflow Engine and Palladio as a whole.

References

  1. Benjamin Klatt and Martin Küster. Respecting Component Architecture to Migrate Product Copies to a Software Product Line. In Proceedings of the 17th International Doctoral Symposium on Components and Architecture (WCOP'12), Bertinoro, Italy, June 2012. Young Investigator / Best Paper Award.
  2. Martin Küster and Benjamin Klatt. Leveraging Design Decisions in Evolving Systems. In 14th Workshop Software-Reengineering (WSR 2012), Bad-Honnef, Germany, May 02-04 2012.
  3. Benjamin Klatt and Klaus Krogmann. Model-Driven Product Consolidation into Software Product Lines. In Proceedings of the 1st Workshop on Model-Based and Model-Driven Software Modernization (MMSM'12), Bamberg, Germany, March 2012.
  4. Benjamin Klatt and Klaus Krogmann. Towards Tool-Support for Evolutionary Software Product Line Development. In 13th Workshop Software-Reengineering (WSR 2011), Bad-Honnef, Germany, May 02-04 2011.
  5. Benjamin Klatt and Klaus Krogmann. Towards Tool-Support for Evolutionary Software Product Line Development. Software Technik Trends, 31(2), May 2011.

Links to these publications can be found at: http://sdq.ipd.kit.edu/people/benjamin_klatt/publications/

Contact

Main project contact:
Benjamin Klatt
FZI Forschungszentrum Informatik (Karlsruhe)
E-Mail [1]