Software evolution in model-driven product line engineering

Concepts from model driven engineering mde can be used to further increase efficiency and automation. 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. It has long been recognized that successful product line engineering revolves. Towards the integration of modeldriven engineering, software product line engineering, and software configuration management in. Software product line engineering and evolution university. Challenges with evolution of model driven software product line architectures. Challenges with evolution of modeldriven software productline architectures. Uml and plus are mentioned several places in the book. Feature oriented modelling of product line evolution. 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. Many approaches to creating software product lines have emerged that are based on modeldriven engineering. We present a framework to support the development and evolution of highquality software product lines. More specifically, some solutions improve the product line core assets reusability by designing them according to the model driven architecture approach.

The outcome of this model has strong parallelisms with the model driven software production line multi model. This paper describes an evolutionary model driven software product line engineering approach using uml called plus. Modeldriven development mdd is a software engineering approach that uses model to create a product. Pdf evolution feature oriented model driven product line. Evolving deltaoriented software product line architectures arxiv. Many tools and systems for scm have been developed which are based on a variety of different version models. Modeldriven product line architectures springerlink. This chapter describes our approach to modeldriven engineering mdebased product line architectures plas and presents a solution to address the domain evolution problem. Investigation of tools, techniques and languages for model. Proceedings of the 3rd international conference on modeldriven engineering and software development modelsward 2015. Current scm systems are themselves large and complex. Aspect oriented approach can be used for enhance evolution featuremodel modularity.

In this article, we present a conceptual framework for integrated revision and variation control of model driven software projects. Evolution feature oriented model driven product line engineering approach for synergistic and dynamic service evolution in clouds. 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. This chapter describes our approach to modeldriven engineering mdebased product line architectures. Product line engineering for automation software systems. Over the years many different scm systems sharing similar conc. 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. 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. 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.

Modeldriven engineering for software product lines hindawi. Organizational and managerial issues software product line. With stringent quality requirements such as performance, early verification and validation become critical in these systems. 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. Software product lines are recognized as a successful approach to reuse in many domains cars, printers, phones and especially in software development. Variability of features often has widespread impact on multiple artifacts in multiple. The second premise is that reengineering of legacy systems to the model driven of the. 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. 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. Many approaches to creating software product lines have emerged that are based on model driven engineering. Evolution feature oriented model driven product line.

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. Modeldriven product line for software configuration. It started with feature modeling and soon enough was extended to handle many different concerns. Variability modeling and software product line engineering 33. Design tools and techniques general terms design, algorithms, management keywords modeldriven product line engineering, software evolution, feature modelling acm, 2010. Traceability for model driven, software product line. Pdf traceability for model driven, software product line.

In the literature, a plan driven process has been established that is divided up into domain and application engineering. The software product line engineering sple and the model driven engineering mde are two new forms of software reuse. In a modeldriven software product line spl which adopts dsm technique, products are represented as product models defined in a dsl. Schaefer, i variability modelling for modeldriven development of software pro. This paper details the application of software product lines spls 1 and. 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. Although an mdebased approach helps improve productivity of softwareintensive systems by raising the level of abstraction. 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.

The multimodel in the software product line development process. Model based evolution of software systems implies the evolution by using models, eg applying model driven techniques to support product evolution, or the evolution of models, ie the evolution of the modelsmetamodels that describe the product. Product line evolution is often \handled on the y, i. Software product lines, modeldriven approaches, tools. 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. Modeling variability in the context of software product lines has been around for about 25 years in the research community. Supermod version control and software product lines in. Using modeldriven engineering, domainspecific languages. 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. 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. Model driven software product line engineering is an approach providing solutions to systematically and automatically reuse generic assets in software development. The outcome of this model has strong parallelisms with the modeldriven software production line multimodel. Modelbased evolution of software systems implies the evolution by using models, eg applying modeldriven.

Developing modeldriven software product lines core. Aspect oriented approach can be used for enhance evolution feature model modularity. Modeldriven and software product line engineering wiley. Variability modeling in modeldriven software product line. Variability modeling in modeldriven software product line engineering hassan gomaa1, michael e.

Both model driven engineering mde and software product line engineering sple are software development paradigms that promote reuse. Modeldriven planning and monitoring of longterm software. The first fundamental premise 1 for modeldriven software. In particular in conjunction with modeldriven engineering, spl. Filtered modeldriven product line engineering with. Evolution in modeldriven software productline architectures. Citeseerx document details isaac councill, lee giles, pradeep teregowda.

Software evolution in modeldriven product line engineering. Felix schwagerl, thomas buchmann and bernhard westfechtel. Product line engineering contains all the essential components for driving the whole evolution process. The software product line spl essay 2198 words bartleby. 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. Aspectoriented, modeldriven, product line engineering ample paginanavigatie.

The product line engineering approach in a modeldriven process. The framework reuses the abstractions of revision graphs and feature models and follows an iterative, revisioncontrollike approach to software product line engineering called product based product line 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. Aspect template code generation technique will be used for model transformation in the end. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support. 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. Design tools and techniques general terms design, algorithms, management keywords modeldriven 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. In particular in conjunction with modeldriven engineering.

Modeldriven and software product line engineering book. Modeldriven support for product line evolution on feature. One promising approach is offered by the new modeldriven. Modeldriven support for product line evolution on feature level. Model driven development mdd is a software engineering approach that uses model to create a product. Aspectoriented, modeldriven, product line engineering ample period. Model driven development is sometimes used interchangeably with model driven engineering, and may refer to specific tools and resources, or a model driven approach. 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.

Software product line engineering promises to increase the productivity of software development. The introduction of model driven engineering mde needs a new style of evolution i. In this regard, advanced development paradigms such as 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. 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. Mdd is part of a trend toward more diverse approaches to the development of. In particular in conjunction with model driven engineering. Service oriented architectures and software product lines are two concepts that led to the emergence of model driven architectures. New requirements and technology changes lead to continuous changes of the assets comprising a software product line.

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. Modeldriven development is sometimes used interchangeably with modeldriven engineering. The tools referenced above are fielded and are being used by many softwaredefined radio sdr developers. Constant market evolution triggered an exponential growth in the complexity and variability of modern software solutions. Software configuration management scm is the discipline of controlling the evolution of large and complex software systems. 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.

We consider the problem of supporting multiple platforms as a software product line engineering problem. 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. The software product line engineering sple and model driven engineering mde are two main aspects of software reuse two software development paradigms 25. Shin2 1 department of computer science, george mason university, fairfax, va 220304444, usa. In the literature, a plandriven process has been established that is divided up. Modelsward 2018 6th international conference on model. 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. Aspectoriented modeldriven software product line engineering. Modeldriven product line for software configuration management systems software configuration management scm is the discipline of controlling the evolution of large and complex software. Model driven software product line process for service.

This book describes the kobra method, which supports a modeldriven, umlbased representation of components, and a product line approach to their development and evolution. This chapter describes our approach to model driven engineering mdebased product line architectures plas and presents a solution to address the domain. 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. Supporting evolution in modeldriven software productline. 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. A productline modeldriven engineering approach for. Evolution in model driven software product line architectures. Filtered modeldriven product line engineering with supermod. Request pdf modeldriven and software product line engineering many approaches to creating software product lines have emerged that are based on. Traceability for model driven, software product line engineering. Hugh arboleda many approaches to creating software product lines have emerged that are based on. Modeldriven and software product line engineering jeanclaude royer. It may be plausible for the engineers to establish.

Aspectoriented, modeldriven, product line engineering. Although an mdebased approach helps improve productivity by raising the level of abstraction through composition of dsmls. Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of. From use cases to patternbased software architectures goes in depth into the use of product line uml based software engineering plus. The transition from domain engineering to application engineering can be achieved with the set of operations devised. Asiapacific software engineering conference 2021 2020. The transition from domain engineering to application. Modeldriven and software product line engineering request pdf. Software product lines spl are an engineering technique to efficiently derive a set of similar products from a set of shared assets. The first fundamental premise 1 for model driven software evolution is that evolution should be a continuous process. Proceedings of the 3rd international conference on modeldriven.

1416 1010 627 1261 371 1523 658 206 1203 246 155 964 44 167 1138 93 1298 796 700 1334 88 772 1195 379 401 260 479 940 974 394 1245 948 86 625 367 1051 1082