Systematic management of variability in uml based software product lines

Variability modeling for service oriented product line architectures. Systematic management of variability in umlbased software. Modeldriven engineering for software product lines hindawi. Smarty is supported by a uml profile, the smartyprofile, and a process for managing variabilities, the smartyprocess. Evaluating variability modeling techniques for supporting. Modeling variabilities among products of a family is a key aspect of variability management discipline. Investigation of tools, techniques and languages for model. Smartyprofile aims at representing variabilities, variation points, and variants in uml models by applying a set of. Empirical study on software process variability modelling. This paper presents a uml based process for variability management that allows identification, representation and delimitation of variabilities as well as identification of mechanisms for variability implementation. Adding variability management to umlbased software. A variation point is the specific place in a pl artifact to.

This method takes into account uml models with pla variability explicitly represented, since uml. In the uml based product line method 14, inheritance is used to model. It started with feature modeling and soon enough was extended to handle many different concerns. Modeldriven software engineering mdse, software product line engineering sple, and version control vc have been established as three software engineering subdisciplines dealing with raising the level of abstraction of software development, organizing variability in a systematic way, and controlling the evolution of software artifacts, respectively. This paper aims at experimentally comparing two approaches and picks smarty and plus as representative examples. Several of the approaches are based on feature modeling, one. Nov 24, 2004 this chapter discusses software reuse and the reason for developing software product lines, which are also referred to as software product families, as well as modeling variability in software product lines. This cited by count includes citations to the following articles in scholar. Managing variability in umlbased software product lines variabilityisthegeneraltermusedtorefertothevariableaspectsoftheproducts of a pl. Software productlines have emerged as a central paradigm for systematic.

Spl community has spent huge amount of resources on developing various approaches to dealing with variability related challenges over the last decade. Variability is the general term used to refer to the variable aspects of the products of a pl. Modeling software product lines with uml developing. Modeling variability is one of the most important tasks during the analysis phase.

Therefore, this paper proposes processes and artifacts to build the software. Oct 27, 2012 oliveira junior ea, gimenes ims, maldonado jc 2010 systematic management of variability in umlbased software product lines. Spl community has spent huge amount of resources on. Variability is the general term used to refer to the variable aspects. The main contribution is to show how modeldriven techniques can be used to automatically derive, from the. Uml, merge relationship, software product line, variability, traceability. Software product lines spl promote reusable development for product families. Variability management in testing architectures for embedded. The resulting map gives an overview of the existing work on software product line variability. Mcgregor, the hottest issues in software product lines, software engineering institute sei, carnegiemellon, 2006.

Perspectives on combining modeldriven engineering, software. In this paper we present and examine the different types of variability. Effective variability management requires comprehensive changes to the software development process. Uml based modeling methods that are used for single systems to address software product lines.

The architecture of a software product line is one of its most important artifacts as it represents an abstraction of the products that can be generated. In order to provide effective variability management and product derivation in software product lines. Leveraging modelbased product lines for systems engineering. This is achieved through the identification and management of commonalities and. Many variability modeling techniques have been developed. This paper describes variability management in uml based multipleview models of the software product line, which consist of developing use case and feature models during requirements modeling, static and dynamic models during analysis modeling, and componentbased software architectures. Modeling variability in the context of software productlines has been around for about. The uml based software design method for software product lines described in this book is called plus p roduct l ine uml based s oftware. Model driven engineering mde focuses on creating software models and automating code generation from the models. In proceedings of the workshop on software variability management for product derivation towards tool support.

Software product lines spl aim at reducing timetomarket and increasing. In this study, we used a systematic method to develop a software product line variability map and classified relevant literature. Soa systems need the capability of managing variability to address different. Software variability management is a key challenge in developing software product lines and deriving products from the product line. This paper presents a modeldriven approach for variability management in product lines that addresses traceability between features and uml. This paper presents smarty, a variability management approach for uml based software product lines pl. Development strategies based on productlines have proven to be adequate for. It is crucial to evaluate the quality attributes of a product line architecture in order to. Adding variability management to uml based software product lines 1 by edson alves, oliveira junior, itana m.

Modeling single systems with uml developing software lines. Pdf variability management in software product lines. Therefore, this paper proposes processes and artifacts to build the software productline architecture and to manage uniform variability over the life cycle of software productlines. Comprehensibility of umlbased software product line. High end market midmarket soho personal time c martin griss icsr 2015. This paper presents smarty, a variability management approach for umlbased software product lines pl. Feature extraction approaches from natural language requirements for reuse in software product lines. Modeling requirements variability in software product. Modeling variability in the context of software product lines has been around for about 25 years in the research community.

This paper presents a systematic evaluation method for uml based software product line. Variability management in software product line this section introduces the main concepts and issues involved in variability management. Comparative study of variability management in software product lines. Soa variability model based on feature modeling, which is described in uml. Youll also be introduced to the uml notation and the concept of modeldriven architecture. Variability management is one of the major challenges in software product line adoption, since it needs to be efficiently managed at various levels of the software product line development process e. The definition of customized software processes can lead to improve the quality of software products and increasing the productivity. With plus, the objective is to explicitly model the commonality and variability in a software product line. Variability management is concerned with the management of the differences between products throughout the pl lifecycle. Systematic management of variability in uml based software product lines eao junior, ims gimenes, jc maldonado journal of universal computer science 16 17, 23742393, 2010. Current literature presents several approaches for variability management. Systematic management of variability in umlbased software product lines. Oliveira junior ea, gimenes ims, maldonado jc 2010 systematic management of variability in umlbased software product lines.

Developing core assets and product lines architecture application engineering. One of the key issues of the software productline, especially in domain engineering, is handling the variability among product families. The product line approach provides a systematic approach for software reuse. A software product line is a means to develop a set of products in which variability is a central phenomenon captured in variability models. Reference model for system and software product line engineering and management 7. Ali, variability management in software product lines. Concepts and examples software variability management. This adds cost to the maintenance and management of the core assets. To use software product line approach in information systems context, it is necessary to bring in variability. The tutorial is based on our recent text book on software product.

Variability modeling is essential to define and document the commonalities and variabilities among a set of products in an spl. Thus, spem based approaches such as smartyspem and vspem provide mechanisms for representing variabilities to address characteristics of different projects. Systematic evaluation of software product line architectures. Software development is a complex and difficult task that requires the investment of sufficient resources and carries major risk of failure. Case tool support for variability management uel research.

The years of research and practice have elevated variability management to. That is, variation management for the software productline architecture determines the success of software development. Variability management is one of the most important activities during software product line development and evolution. A modeldriven approach to variability management in product. Case tool support for variability management in software product lines xx. Although variability management is one of the main activities of software product lines, current literature provides almost no empirical evaluations on variability management approaches based on uml. In fact, for evidencebased software engineering, it is essential for srs to. By explicitly modeling and managing variability, software prod. The field of spls and variability have been topics of extensive research over the few past decades. This paper presents a modeldriven approach for variability management in product lines that addresses traceability between features and uml requirements models like use cases and activity models. This chapter discusses software reuse and the reason for developing software product lines, which are also referred to as software product families, as well as modeling variability in software product lines. However, existing process modelling notations like the spem metamodel typically do not have appropriate constructs for expressing process variability.

Note that this section does not have any goal of exhaustivity. Spl community has spent huge amount of resources on developing various approaches to dealing with variability. Pdf software product line engineering sple 2, 6 has proven to be the paradigm for developing a. Variability management vm is one of the most important activities of software productline engineering sple, which intends to develop softwareintensive systems using platforms and mass. Modern software modeling approaches, such as uml, provide greater insights into understanding and managing commonality and variability by modeling product lines from different perspectives. Variability and its management are key aspects not only in software product lines, but in other systems such as embedded systems. A challenge with modeling adaptive and evolvable software product lines is how to model variability. Product line process element software process variation point activity diagram.

Comparative study of variability management in software product lines and runtime adaptable systems alves, vander. Introduction software product line engineering sple intends to develop software intensive systems using platforms and mass customisation 1, 2. Beyond being used for a mere description and documentation of variability, variability models are more and more leveraged to produce other artifacts, such as configurators. Case tool support for variability management in software. With the continuous improvement of software processes, it is possible to increase quality, to address different application domains and accelerate the development of software products. Variability models are typically developed during domain engineering together with the reusable assets. Variability management vm in software product line spl is a key activity that usually affects the degree to which a spl is successful.

Pdf variability management in software product line engineering. Such a framework facilitates variability modeling of service families in a systematic. The field of spls and variability have been topics of. Variability management vm is one of the most important activities of software productline engineering sple, which intends to develop softwareintensive systems using platforms and mass customization.

This work proposes a systematic evaluation method for software product line architectures, the systempla. Tool support for software variability management and. As a structured approach for variability management and systematic reuse, we will now look at the discipline of product line engineering. Journal of computer sciences original research paper. This paper presents a umlbased process for variability management that. The specific processes are derived in a systematic way, based on the resolution of variabilities. Through this modeling technique, product line engineers have the ability to design product line variability options, constraints and conflicts, if any exist, and to pick their desired end product. Variability management in testing architectures for.

The software process line sprl approach might be taken into consideration to improve the establishment of customized processes for a given domain. A variability management process for software product lines. Software product lines constitute a new paradigm where industrial production techniques are adapted and applied to software. Interaction between pl development activities and smartyprocess. In order to guarantee that domain experts and developers understand each other variability has to be modeled explicitly. Modeling variability in business process models using uml. This book covers research into the most important practices in product line organization.

588 79 1661 1590 1059 844 475 640 181 580 677 695 1663 243 538 1643 209 130 482 1126 773 985 1230 1225 433 203 1312 1326 1202 647 933