Seamless Variability Management With the Virtual Platform

by   Wardah Mahmood, et al.

Customization is a general trend in software engineering, demanding systems that support variable stakeholder requirements. Two opposing strategies are commonly used to create variants: software clone own and software configuration with an integrated platform. Organizations often start with the former, which is cheap, agile, and supports quick innovation, but does not scale. The latter scales by establishing an integrated platform that shares software assets between variants, but requires high up-front investments or risky migration processes. So, could we have a method that allows an easy transition or even combine the benefits of both strategies? We propose a method and tool that supports a truly incremental development of variant-rich systems, exploiting a spectrum between both opposing strategies. We design, formalize, and prototype the variability-management framework virtual platform. It bridges clone own and platform-oriented development. Relying on programming-language-independent conceptual structures representing software assets, it offers operators for engineering and evolving a system, comprising: traditional, asset-oriented operators and novel, feature-oriented operators for incrementally adopting concepts of an integrated platform. The operators record meta-data that is exploited by other operators to support the transition. Among others, they eliminate expensive feature-location effort or the need to trace clones. Our evaluation simulates the evolution of a real-world, clone-based system, measuring its costs and benefits.


Extractive Multi Product-Line Engineering

Cloning is a general approach to create new functionality within variant...

A Generator Framework For Evolving Variant-Rich Software

Evolving software is challenging, even more when it exists in many diffe...

Making the leap to a software platform strategy: Issues and challenges

Context: While there are many success stories of achieving high reuse an...

Emergent Software Service Platform and its Application in a Smart Mobility Setting

The development dynamics of digital innovations for industry, business, ...

Blockchain-Oriented Software Variant Forks: A Preliminary Study

In collaborative social development platforms such as GitHub, forking a ...

Supporting Robotic Software Migration Using Static Analysis and Model-Driven Engineering

The wide use of robotic systems contributed to developing robotic softwa...

Custom-Tailored Clone Detection for IEC 61131-3 Programming Languages

Automated production systems (aPS) are highly customized systems that co...

Please sign up or login with your details

Forgot password? Click here to reset