Variation in design and context may impact on dependability properties during hazard analysis and risk assessment hara, allocation of functional and nonfunctional safety requirements, and component fault analysis. However, traditional software development tools are often focussed on single system development. Systems and software variability management springerlink. An industrial case study on managing variability with traceability in software product lines.
A variability management process for software product lines. Variation in design and context may impact on dependability. Explicitly documenting product line variability is essential for variability management as it significantly supports the following activities. Nov 29, 2015 the primary focus of variability management is the presentation of an overview of the entire product line s variability, definition of dependencies between variations and the global coordination. Effective variability management requires comprehensive changes to the software development process. Variability management in software product lines proceedings of.
The focus must be changed from mere commonality management to include also variability management. Defining and managing commonalities and variability in software product lines is widely referred to as variability management and is a key step of the spl engineering pro cess van gurp et al. Abstractvariability management in software product lines spls has two fundamental challenges. Realizing reusable artifacts the domain artifacts with variability. An essential activity in software product line engineering is variability management, i. Variability management in software product lines winse. Software product lines have been introduced in literature at about the same time as variability management has been inducted in research. Product family engineering makes it possible to create software for the different products and use variability to customize the software to each different mobile phone. However, a fundamental problem in software product line engineering is that a product line of industrial size can easily incorporate several thousand variable features. The success of product line engineering techniques in the last 15 years has popularized the use of software variability as a key modeling approach for describing the commonality and variability of systems at all stages of the software lifecycle. This type of variability includes all product line variability that is visible to the customer. Feature model to orthogonal variability model transformation.
The principal goal of modelling variability techniques is to configure a. Software product line variability management ieee conference. Variability issues in software product lines archixl. However, from 2000 onwards, we found an increased number of papers published with a peak in 2004 when there was also. A variation point is the specific place in a pl artifact to. Software product line engineering and variability management. Variability is the general term used to refer to the variable. Klaus pohl paluno the ruhr institute for software technology. Variability management is critical for achieving the large scale reuse promised by the software product line paradigm.
Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. The primary focus of variability management is the presentation of an overview of the entire product lines variability, definition of dependencies between variations and the global. An industrial case study on managing variability with. Sple also includes the design and management of a variable software architecture and its constituent software components. Tracing software product line variability from problem to. Systems and software variability management ebook by. This document explains how to generate a specific cupi2 example. Systems and software variability management concepts, tools. In software product lines, variability is made explicit through variation points. Due to the large scale and complexity of todays softwareintensive systems, variability management has become increasingly complex to conduct. This example is the complete scenario to generate cupi2. Tested approach for variability management enhancing in. Variability is the general term used to refer to the variable aspects of the products of a pl.
This paper identifies and describes several variability issues based on practical experiences and theoretical understanding of the problem domain. The years of research and practice have elevated variability management to. Variant management is required in all stages of product line development. There were only four papers reporting vm approaches published before 2000. Documenting and managing the variability among products of a product line is an essential task. The software product line spl is an emerging methodology for developing software products.
Tool support for software variability management and product. His product line functional variability motion his. Software development based on the software productline can develop software products more easily and fast by reusing the developed core assets. However, from 2000 onwards, we found an increased number of papers published with a peak in 2004 when there was also a special issue of journal of science of computer programming on variability management in software product line engineering. The paper declares a novel approach for the process enhancing of. A software product line is a means to develop a set of products in which variability is a central phenomenon captured in variability models. The basis of the approach is that products are built from a core asset base, a. Software variability management is a key challenge in developing software product lines and deriving products from the product line. That is, the variation management for software product line decides the success of software development. Spl community has spent huge amount of resources on developing various approaches to dealing with variability related challenges over the last decade. Software productline engineering sple is composed of two areas, namely domain engineering and application engineering. We assert that it is important to explore how well the body of knowledge of variability management solves the challenges faced by industrial practitioners, and what are the remaining and. The model for enhanced variability management process in. Software product line engineering sple is the approach for creating a diversity of similar products at.
Software product line engineering has proven to empower organizations to develop a diversity of similar softwareintensive systems applications at lower cost, in shorter time, and with higher quality when. One of key issues of software productline is to handle. Therefore, this paper proposes processes and artifacts to build the software productline architecture and to manage uniform variability over the life cycle of. The variability management process guides the construction of product line variability models. Optimization of variability in software product lines ieee.
Software product line engineering sple is composed of two areas, namely domain engineering and application engineering. Defining the commonality and the variability of the product line during domain. Variability management in software product line this section introduces the main concepts and issues involved in variability management. Software product line engineering sple is the approach for creating a diversity of similar products at low cost, in short time, and. The most important thing in a software product line is the variability amongst the members of the set, as this is the contrasting factor between the instances of the software product line. This example is the complete scenario to generate cupi2 examples. The management of variability plays an important role in successful software product line engineering. Amw use case variability management in a modeldriven. A case study on variability management in software product. It is described through variation points and variants. Software product line engineering has proven to empower organizations to develop a diversity of similar software intensive systems applications at lower cost, in shorter time, and with higher quality when compared with the development of single systems.
The basis of the approach is that products are built from a core asset base, a collection of artifacts that have been designed specifically for use across the portfolio. Software product line engineering with feature models. The management of this variability is key to make the software product line a success. The particular quality goals important for a product may vary. The complexity caused by this amount of variability makes variability management and product derivation tasks extremely difficult. Variability management in a modeldriven software product. The field of spls and variability have been topics of extensive research over the few past decades. The paper presents a novel model for the process of managing software variability the ability of a software system or artefact to be extended, changed, customized or configured for use in a.
The publication titled variability management in a modeldriven software product line presents our approach in more details. Variability management is, however, not a trivial activity and several issues exist, both in general as well as specific to individual phases in the lifecycle. Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. Achievements and challenges literature survey and classification andreas metzger paluno the ruhr institute for software technology university of duisburgessen 45127 essen, germany andreas. Software product line spl engineering paradigm 11,8 is one of the most recent ways of software reuse. A software product line is a set of softwareintensive systems that share a common, managed. One of key issues of software product line is to handle variability between product families. Managing variability for software productline korea university. Managing variability requirements and variation points for. Pdf variability management vm in software product line spl is a key activity that usually affects the degree to which a spl is successful. There is a need for a universal variability management approach to be consistent and scalable. The paper presents a novel model for the process of managing software variability the ability of a software system or artefact to be extended, changed, customized or configured for use in a specific context in software product line pl.
This article describes how this is done in practice, using the example of a. Defining the commonality and the variability of the product line during domain engineering. The software product line pl approach aims at promoting the generation of specific products of a domain product family based on the reuse of a welldefined. Pdf variability management in software product lines. Sple aims to support developers in managing the variability within sets of software product variants that are similar but different 1, 2, 3. Documenting and managing the variability among products of a product line is an essential task in this development paradigm. Thus it is essential for the architect to have suitable tools for representing, managing and reasoning about variation. Domain engineering is associated with productline architecture, which is a.
Tested approach for variability management enhancing in software product line andrii kolesnyk1 and olga slabospitskaya1 1 institute of software systems of nas, akedemika glushkova st. Achievements and challenges literature survey and classification andreas metzger paluno the ruhr institute for software. Product line variability describes the variation among the applications of a software product line in terms of properties, such as features that are offered or functional and. Software product line engineering sple is the approach for creating a diversity of similar products at low cost, in short time, and with high quality. In order to provide effective variability management and product. Spl community has spent huge amount of resources on. In order to provide effective variability management and product derivation in software product lines, which is capable of being automated, certain fundamental building blocks are required. The increasing complexity of large software intensive system development has lead to the adoption of software product line engineering sple. Variability management vm in software product line spl is a key activity that usually affects the degree to which a spl is successful. The success of product line engineering techniques in the last 15 years. In this paper, we present a software product line based on models mdspl.
Domain engineering is associated with product line architecture, which is a. Variability management in software product line engineering. In order to successfully carry out software product line engineering, it is. Request pdf software product line variability management. Read systems and software variability management concepts, tools and experiences by available from rakuten kobo. While there are systematic product line engineering methodologies that support variability e. For this purpose, we can use variability models such as feature models fm and orthogonal variability model. Software development based on the software product line can develop software products more easily and fast by reusing the developed core assets. Managing variability requirements and variation points for software product lines june 2008 jonas andersson jonas. Apr 17, 2018 thus, variability management in both system design and dependability analysis should be considered through sple lifecycle. Software product lines enable a family of products to. Thus, variability management in both system design and dependability analysis should be considered through sple lifecycle. The success of product line engineering techniques in the last 15 years has popularized the use of software variability as a key modeling approach for describing the commonality and variability of.
The nokia case is comparable with a normal software product line. The field of spls and variability have been topics of. Variability management in safetycritical software product. The increasing complexity of large softwareintensive system development has lead to the adoption of software product line engineering sple.