Software evolution in model-driven product line engineering

Introduction although software product line spl engineering clements02, pohl05, weiss99 is becoming increasingly used in industry, model driven software product line engineering is less widely used. Modeldriven product line for software configuration management systems software configuration management scm is the discipline of controlling the evolution of large and complex software. Traceability for model driven, software product line engineering. The tools referenced above are fielded and are being used by many softwaredefined radio sdr developers. In the literature, a plan driven process has been established that is divided up into domain and application engineering. The paper proposes a novel application of product line modeldriven engineering to mobile application development and addresses the key challenges of featurebased native mobile application variants for multiple platforms.

Evolution feature oriented model driven product line. New requirements and technology changes lead to continuous changes of the assets comprising a software product line. Concepts from model driven engineering mde can be used to further increase efficiency and automation. Modeldriven support for product line evolution on feature level. The multimodel in the software product line development process. Service oriented architectures and software product lines are two concepts that led to the emergence of model driven architectures. Modelbased evolution of software systems implies the evolution by using models, eg applying modeldriven. The software product line engineering sple and the model driven engineering mde are two new forms of software reuse. This chapter describes our approach to modeldriven engineering mdebased product line architectures plas and presents a solution to address the domain evolution problem. Design tools and techniques general terms design, algorithms, management keywords modeldriven product line engineering, software evolution, feature modelling acm, 2010. Modeldriven and software product line engineering jeanclaude royer. With stringent quality requirements such as performance, early verification and validation become critical in these systems. More specifically, some solutions improve the product line core assets reusability by designing them according to the model driven architecture approach.

Evolution feature oriented model driven product line engineering approach for synergistic and dynamic service evolution in clouds. In particular in conjunction with modeldriven engineering. Model driven development mdd is a software engineering approach that uses model to create a product. In this regard, advanced development paradigms such as model. Both model driven engineering mde and software product line engineering sple are software development paradigms that promote reuse.

We present a framework to support the development and evolution of highquality software product lines. Many approaches to creating software product lines have emerged that are based on model driven engineering. The outcome of this model has strong parallelisms with the model driven software production line multi model. Although an mdebased approach helps improve productivity by raising the level of abstraction through composition of dsmls and domainspecific component frameworks, it is hard to evolve software plas by incorporating new requirements. Software product line engineering promises to increase the productivity of software development. Software product line engineering has proven to be the paradigm for developing a diversity of software products and softwareintensive systems in shorter time, at lower cost, and with higher quality. The core idea in product line engineering ple is to invest into the development of a product line software product line, spl, such that individual products can later be derived more efficiently. Felix schwagerl, thomas buchmann and bernhard westfechtel.

It describes the challenges and benefits of merging these two software development trends and provides the reader with a novel approach and practical mechanisms to improve software development productivity. Domain engineering consists of collecting, organizing, and storing past experiences in building systems in the form of reusable assets and providing an adequate means for reusing them for building new. Filtered modeldriven product line engineering with. Aspect template code generation technique will be used for model transformation in the end. Modeldriven software product line engineering is an approach providing solutions to systematically and automatically reuse generic assets in software development. Towards the integration of modeldriven engineering, software product line engineering, and software configuration management in.

Aspect oriented approach can be used for enhance evolution featuremodel modularity. Proceedings of the 3rd international conference on modeldriven engineering and software development modelsward 2015. Product line engineering for automation software systems. The software product line engineering sple and model driven engineering mde are two main aspects of software reuse two software development paradigms 25. Aspectoriented, modeldriven, product line engineering. Apsec 2017 aims to bring together researchers, practitioners, and educators from academia, industry, and government to advance the state of the art in software engineering and technology and to.

In the literature, a plandriven process has been established that is divided up. Software product line engineering has proven to be the paradigm for developing a diversity of software products and software intensive systems in shorter time, at lower cost, and with higher quality. Variability of features often has widespread impact on multiple artifacts in multiple. Constant market evolution triggered an exponential growth in the complexity and variability of modern software solutions. Modeldriven and software product line engineering request pdf.

Model driven 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. Apsec 2017 aims to bring together researchers, practitioners, and educators from academia, industry, and government to advance the state of the art in software engineering and technology and to encourage wider communication and collaboration between academics and industries. Systems and software product line engineering, abbreviated as product line engineering or ple for short, is defined as the engineering of a portfolio of related products using a shared set of engineering assets and an efficient means of production. From use cases to patternbased software architectures goes in depth into the use of product line uml based software engineering plus. Developing modeldriven software product lines core. Using modeldriven engineering, domainspecific languages. Modeldriven and software product line engineering book.

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. Uml and plus are mentioned several places in the book. Modeldriven product line architectures springerlink. The outcome of this model has strong parallelisms with the modeldriven software production line multimodel.

Challenges with evolution of model driven software product line architectures. Feature oriented modelling of product line evolution. Variability modeling in modeldriven software product line engineering hassan gomaa1, michael e. It has long been recognized that successful product line engineering revolves. The transition from domain engineering to application. Although an mdebased approach helps improve productivity of softwareintensive systems by raising the level of abstraction. We consider the problem of supporting multiple platforms as a software product line engineering problem. Modeldriven development is sometimes used interchangeably with modeldriven engineering.

In this article, we present a conceptual framework for integrated revision and variation control of model driven software projects. Software product line engineering and evolution software product line engineering sple is of interest to any company that develops a line of software products or services that are similar, but also. Over the years many different scm systems sharing similar conc. Modeldriven development mdd is a software engineering approach that uses model to create a product. Aspectoriented modeldriven software product line engineering. Design tools and techniques general terms design, algorithms, management keywords modeldriven product line. The product line engineering approach in a modeldriven process.

Challenges with evolution of modeldriven software productline architectures. Model driven development is sometimes used interchangeably with model driven engineering, and may refer to specific tools and resources, or a model driven approach. The second premise is that reengineering of legacy systems to the model driven of the. The software product line spl essay 2198 words bartleby. Request pdf modeldriven and software product line engineering many approaches to creating software product lines have emerged that are based on. Investigation of tools, techniques and languages for model. Software evolution in modeldriven product line engineering. In a modeldriven software product line spl which adopts dsm technique, products are represented as product models defined in a dsl. Organizational and managerial issues software product line. This chapter describes our approach to model driven engineering mdebased product line architectures plas and presents a solution to address the domain. Driven and software product line engineering wiley. A software product line spl is a set of software systems that share certain common features in terms of their specifications, the market segment they are built for and the principles they are built by. Filtered modeldriven product line engineering with supermod.

Traceability for model driven, software product line. Supermod version control and software product lines in. Software configuration management scm is the discipline of controlling the evolution of large and complex software systems. One promising approach is offered by the new modeldriven. Pdf evolution feature oriented model driven product line.

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. Software engineering projects are faced with abstraction, which is achieved by software models, historical evolution, which is addressed by revision control, and variability, which is managed. Aspectoriented, modeldriven, product line engineering ample period. In particular in conjunction with model driven engineering, spl engineering promises. This enables the benefits of componentbased development to be realized throughout the software lifecycle, and allows the reusability of components to be significantly. The core idea in product line engineering ple is to invest into the development of a product line software product line, spl, such that individual products can later be derived more. This book describes the kobra method, which supports a modeldriven, umlbased representation of components, and a product line approach to their development and evolution.

Evolution in modeldriven software productline architectures. Current scm systems are themselves large and complex. Modelsward 2018 6th international conference on model. In particular in conjunction with modeldriven engineering, spl. In particular in conjunction with model driven engineering. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Variability modeling and software product line engineering 33. Product line engineering contains all the essential components for driving the whole evolution process. Modeldriven engineering for software product lines hindawi.

Mdd is part of a trend toward more diverse approaches to the development of. Software product lines spl are an engineering technique to efficiently derive a set of similar products from a set of shared assets. Model driven software product line engineering is an approach providing solutions to systematically and automatically reuse generic assets in software development. It started with feature modeling and soon enough was extended to handle many different concerns. This book introduces both software product lines and modeldriven engineering, which have separate success stories in industry, and focuses on the practical combination of them.

Model driven product line for software configuration management systems software configuration management scm is the discipline of controlling the evolution of large and complex software systems. Modeldriven product line for software configuration. Asiapacific software engineering conference 2021 2020. Shin2 1 department of computer science, george mason university, fairfax, va 220304444, usa. This book introduces both software product lines and model driven engineering, which have separate success stories in industry, and focuses on the practical combination of them. Model driven software product line process for service. It may be plausible for the engineers to establish. Modeldriven and software product line engineering wiley. Modeling variability in the context of software product lines has been around for about 25 years in the research community.

A productline modeldriven engineering approach for. Many tools and systems for scm have been developed which are based on a variety of different version models. Hugh arboleda many approaches to creating software product lines have emerged that are based on. Supporting evolution in modeldriven software productline. Software product line engineering and evolution software product line engineering sple is of interest to any company that develops a line of software products or services that are similar, but also customized for specific customers or market segments.

The first fundamental premise 1 for model driven software evolution is that evolution should be a continuous process. This paper details the application of software product lines spls 1 and. Evolving deltaoriented software product line architectures arxiv. Although an mdebased approach helps improve productivity by raising the level of abstraction through composition of dsmls. Evolution in model driven software product line architectures. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support.

Software product line engineering and evolution university. Domain engineering is a set of activities intended to develop, maintain, and manage the creation and evolution of an area of knowledge suitable for processing by a range of software systems. This chapter describes our approach to modeldriven engineering mdebased product line architectures. Variability modeling in modeldriven software product line. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the. Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. School of computing, edinburgh napier universityeh10 5dt, edinburgh, uk. The first fundamental premise 1 for modeldriven software. Perspectives on combining modeldriven engineering, software. Schaefer, i variability modelling for modeldriven development of software pro. This book describes the kobra method, which supports a model driven, umlbased representation of components, and a product line approach to their development and evolution. Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of. Many approaches to creating software product lines have emerged that are based on modeldriven engineering. Aspect oriented approach can be used for enhance evolution feature model modularity.

Since the product line represents a large number of potential products or already deployed products in a given domain, managing these changes becomes a key issue when dealing with evolution. Pdf traceability for model driven, software product line. Software product lines are recognized as a successful approach to reuse in many domains cars, printers, phones and especially in software development. Although an mdebased approach helps improve productivity of software intensive systems by raising the level of abstraction through composition of dsmls and domainspecific component frameworks, it is hard to evolve software plas by in corporating new requirements. This paper describes an evolutionary model driven software product line engineering approach using uml called plus. Although an mdebased approach helps improve productivity of software intensive systems by raising the level of abstraction through composition of dsmls and domainspecific component frameworks, it is hard to evolve software plas by incorporating new requirements.

1445 417 486 1489 1041 502 1346 934 784 553 1222 982 1203 755 904 1071 249 1518 345 1097 1218 283 401 1191 951 130 362 487 73 624 240