Model-driven software product line testing an integrated approach

Modelbased testing relies on a model of the system under test. The resulting contribution is a synergetic approach for spl requirements. Model driven software development is getting momentum. Modeldriven and software product line engineering open. Modeldriven development mdd is a software engineering approach that uses model to create a product. Pdf a modeldriven approach for software product lines. Software engineering, in which feature modeling is fully integrated. Mda is intended to support modeldriven engineering of software systems. That said, this book and the ample way do a great job of introducing product driven and solution driven software product line engineering sple, model driven engineering, and aspectoriented software development.

Modelsward 2018 6th international conference on model. 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. The crucial point in model driven architecture mda 1 is that software and system development are based on abstract models that are successively transformed into more specific models, ideally resulting in the desired system. Gustafsson, an approach for selecting software product line instances for testing, in. Incremental model checking of deltaoriented software product lines. A productline modeldriven engineering approach for. Earlier, modeldriven development mdd was a preferred approach for organizations looking to simplify the process of design while promoting. Modeldriven impact analysis of software product lines introduction changes are inevitable in software development and maintenance. Aspectoriented, modeldriven software product lines.

These models are typically made manifest through diagrammatic design notations the uml is one option. Software product line engineering sple is an approach for software reuse. Challenges with evolution of modeldriven software productline architectures. It started with feature modeling and soon enough was extended to handle many different concerns. Model driven development mdd is a software engineering approach that uses model to create a product. Software product line engineering is a popular approach which improves reusability of software in a large number of products that share a common set of. 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. This paper investigates the methods where model driven software development is integrated with software product line spl. A critical embedded system product line modelbased approach. Applying modelbased software product line testing approaches to the automation engineering domain. Topdown and bottomup approach for modelbased testing. Model based testing relies on a model of the system under test. An integrated modeldriven development environment for composing and validating distributed realtime and embedded systems. Through the integration of these two approaches we aim to enhance modeldriven techniques by the reuse of models, code, transformation rules and so on.

Model driven development is a topdown, traditional approach that has been around for a long time. Integrating performance analysis in the model driven. Variability modeling in modeldriven software product line. A challenge in sple is to check that different models used in early spl specification do not contain inconsistent information that may be propagated and generate inconsistent products that do not conform to its requirements. As decreasing testing cost is an important challenge in software product line integration testing, the contribution of this paper is in introducing a method for early integration testing in software product lines based on feature model fm by prioritizing test cases in order to decrease integration testing costs in spls. Continuous test suite augmentation in software product lines. The picture on the right depicts the former approach. Modeldriven and software product line engineering many approaches to creating software product lines have emerged that are based on modeldriven engineering. Software product line, performance analysis, model to model transformation, uml, marte, atl 1 introduction software product line spl engineering aims at improving productivity and reducing development time, effort, cost, and complexity by gathering the analysis, design and implementation activities of a family of systems. Modeling variability in the context of software productlines has been around for about 25 years in the research community. Applying modelbased software product line testing approaches to.

Mar 31, 2009 model driven software development is getting momentum. Ill first show you the different types of model driven software development using a simple metaphor. This book is more about the technical aspects of enabling sple. The modeldriven architecture mda is a software design approach that was officially launched in 2001 by its sponsor, the object management group omg. Testing product generation in software product lines using. Model driven software development mdsd is a style of software development that considers itself as an alternative to the traditional style of programming.

In this paper, we present a modeldriven approach to trace both features and uml requirements analysis model elements, and to automatically derive valuable models for domain and application engineering. They present an integration of tool suites for modeldriven development and model checking in this area. Modeling variability in the context of software product lines has been around for about 25 years in the research community. 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. Software product line testing a systematic mapping study. This paper investigates the methods where model driven software development is.

Software product line testing seems to be a discussion topic. Variability modelling for modeldriven development of. Schmidt, model driven engineering technologies offer a promising approach to address the inability of thirdgeneration languages to alleviate the complexity of platforms and express domain concepts effectively. Oriented model driven development fomdd is a blend of fop and mdd that shows how programs in a software product line can be synthesized in an mdd way by composing models from features, and then transforming these models into executables. First, we introduce the reader to feature modeling, which is one of the most widely used modeling methodologies for capturing pla variability information. More specifically, some solutions improve the product line core assets reusability by designing them. Modeldriven testing and domain analysis of productline. Model driven impact analysis of software product lines the uml is a generalpurpose modeling language that tries to do many things for a broad range of uses. Model driven software development is based on a clear distinction between domain engineering, i. As decreasing testing cost is an important challenge in software product line integration testing, the contribution of this paper is in introducing a method for early integration testing in software product lines based on feature model fm by prioritizing test cases in. Model driven software product line engineering is an approach providing solutions to systematically and automatically reuse generic assets in software development. In this sense, a modeldriven development mdd approach. The approach is completely based on wellknown standards, such as uml 2. The seminal paper is presented in 2001, and most papers are published in workshops and conferences.

Model driven development vs test driven development computer. A case study on a product line of portlets, which are components of web portals, is used to illustrate fomdd. Modeldriven software development mdsd is currently a highly regarded development paradigm among developers and researchers. This paper describes a model based method for the automatic generation of test cases in software product lines. The approach was implemented as a framework using existing modelling tools in the market and qvt transformations. The surveyed research indicates software product line testing being a rather immature area. I also have tried to give you a balanced view on mdd by talking about the things to know before starting with mdd and by discussing some potential dangers of mdd. In order to use modeldriven development in software product line engineering, the variability of the different products has to be represented within the used modelling. This work presents a model based testing approach to be used in model driven development and software product lines projects. An alternative to the uml has been realized in the adoption of. This chapter focuses on techniques and tools for modeling, analyzing, and testing plas. Finefit is a framework for model based testing of java programs. Solution approach modeldriven testing and domain analysis of roductp line architectures.

Mdd is part of a trend toward more diverse approaches to the development of. In this paper, we present a model driven approach to trace both features and uml requirements analysis model elements, and to automatically derive valuable models for domain and application engineering. Finefit is a framework for modelbased testing of java programs. Modeldriven engineering mde is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Acronyms starting with md are invented from day to day. Model driven, process, soa, software product line, tool, variability. This thesis provides methods for developing modeldriven software product lines, in terms of development methodology, automated assistance and spl evolution support. An unprecedented proliferation of mobile applications is transforming processes across industries.

Notable software tools for model driven engineering include. Integration testing is defined as a type of testing where software modules are integrated logically and tested as a group. First, users recognize the single product variants as members of the same product line because of their resemblance. Appropriate tooling is the basis for a successful application of the new concepts. Model driven development is sometimes used interchangeably with model driven engineering, and may refer to specific tools and resources, or a model driven approach. More specifically, some solutions improve the product line core assets reusability by designing them according to the model driven architecture approach. For example from a domain specific language design perspective, an integrated modeling approach for soa perspective, etc. Modeldriven development is sometimes used interchangeably with modeldriven engineering, and may refer to specific tools and resources, or a modeldriven approach. I have written a lot about model driven software development approaches from different perspectives.

Developing modeldriven software product lines core. Model driven approaches partially increase developer productivity, decrease the cost of software construction, improve software reusability, and make software more maintainable. While the requirements specifications, architectural, design, implementation and testing are normally captured by the solution space. This paper also describes an underlying multipleview meta model for the spl, with consistency checking between the multiple views. Supporting evolution in modeldriven software productline. Modeldriven software product line engineering is an approach providing solutions to systematically and automatically reuse generic assets in software development. Model based testing is an application of model based design for designing and optionally also executing artifacts to perform software testing or system testing. The approach centers itself on building models of a software system. In order to use modeldriven development in software product line engineering, the variability of the different products has to be represented within the used modelling concepts and preserved under model re. Topdown and bottomup approach for modelbased testing of. Test driven development tdd is a bottomup, new approach.

The approach uses omg standards and defines model transformations from design models to test models. Core concepts within model driven development mdd there are two core concepts associated with model driven development. Clafer tools is an integrated set of tools based on clafer. To this end, developers must be enabled to model different aspects like structure. Modelbased testing is an application of modelbased design for designing and optionally also executing artifacts to perform software testing or system testing. As a result, modden aims to leverage the reuse of these artifacts in different software development process phases. The model driven paradigm has been successfully used in several different software contexts and there are a lot of literature offering approaches, techniques and tools to guarantee its application in different areas, such as software design, software testing, and so on. This nature of the uml can often limit the specificity of the abstraction and representation in which a system is modeled. Its the same basic idea, and its just as useful, if not more so. Modden is a spl approach that uses modeldriven techniques. A software product line is a family of programs the products with welldefined commonalities and variabilities that are developed by reusing common artifacts. Chapter modeldriven impact analysis of software product lines.

Modeldriven software engineering in a nutshell modeldriven software engineering mdse is a software engineering paradigm models are considered as primary artifacts from which parts of a software system can be automatically generated. Featureoriented modeldriven software product lines. Our approach is independent of mobile platforms unlike the works presented in myllymaki et al. Although an mdebased approach helps improve productivity by raising the level of abstraction through composition of dsmls and domainspecific component frameworks, it is hard. The modeldriven paradigm has been successfully used in several different software contexts and there are a lot of literature offering approaches, techniques and tools to guarantee its application in different areas, such as software design, software testing, and so on. Modeldriven testing in software product lines request pdf. This thesis provides methods for developing model driven software product lines, in terms of development methodology, automated assistance and spl evolution support. That vision evolved into what we now call modeldriven development, where rules, workflows, and dependencies are built once, as models in a centralized repository. International workshop on software product line testing, 2007. This thesis focuses on modeldriven software product line development, which is.

This paper illustrates how purevariants and openarchitectureware are integrated to enable efficient modeldriven variant management. Product lines multivariant systems are sets of products with similar features, but differences in appearance or price 19. Modeling variability in the context of software productlines has been around for. Model driven development vs test driven development.

The software application model is defined on a higher abstraction level and then converted into a working application using automated transformation or interpretations. A novel modelbased testing approach for software product lines ferruccio damiani david faitelson christoph gladisch shmuel tyszberowicz received. A software product line spl is a set of softwareintensive systems sharing a common, managed set of features which satisfy the specific needs of a particular. This separation of concerns has a long track record in companies practicing software product line engineering cn 2002. Models can be used to represent the desired behavior of a system under test sut, or to represent testing strategies and a test environment. In theory and practice of computer science, pages 1121, 2010. It concerns to produce customized software products as atomic or composite services to be reused in soabased applications. This paper also describes an underlying multipleview metamodel for the spl, with consistency checking between the multiple views. Test driven development tdd is a bottomup, new approach in the sense that it has picked up its value in the recent years. Modeldriven engineering for software product lines hindawi. Modelsward 2019 7th international conference on model. Modeldriven software engineering foundations of model.

Model driven software product line process for service. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing i. Examples of integration testing big bang approach, incremental, top down, bottom up, sandwichhybrid, stub, driver. Because modeldriven development uses visual modeling techniques to define data relationships, process logic, and build user interfaces, modeldriven software development empowers both developers and business users to rapidly deliver applications without the. 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. Jul 28, 2008 model driven software development is gaining more and more interest nowadays. Software product line engineering is a popular approach which improves reusability of software in a large number of products that share a common set of features. Integrating modeldriven development and software product. Software product line engineering sple is a successful paradigm to produce a family of products for a specific domain. This paper describes a modelbased method for the automatic generation of test cases in software product lines. Challenges with evolution of model driven software product line architectures. A novel modelbased testing approach for software product. The modeldriven architecture mda is a software design approach that was officially launched in 2001 by its sponsor, the object management group omg mda is intended to support modeldriven engineering of software systems. Modeldriven development mdd has emerged as one of the leading approaches for enabling rapid, collaborative application development.

Modeldriven and software product line engineering wiley. A method for prioritizing integration testing in software. Pdf a model driven software product line process for. Therefore, this paper proposes a critical embedded system product line model based approach, which aims to reduce the above mentioned challenges. A modeldriven approach for software product lines requirements engineering. Modeldriven software development is gaining more and more interest nowadays. Feature models fms are often used to model commonalities and variabilities within a software product line spl. Continuous test suite augmentation in software product. Model driven software development mdsd is currently a highly regarded development paradigm among developers and researchers. Driving success through modeldriven software development.

The mda is a specification that provides a set of guidelines for structuring specifications expressed as models. Decades before web apps or smartphones existed, the concept of the separation of logic, presentation, and data layers in software made a lot of sense. With the advent of omgs mda and microsofts software factories, the mdsd approach has moved to the centre of the programmers attention, becoming the focus of conferences such as oopsla, jaoo and oop. In the finefit approach, the model is expressed by a set of tables based on parnas tables. The effectiveness of a software product line approach directly depends on how well feature. Investigation of tools, techniques and languages for model. Many approaches to creating software product lines have emerged that are based on modeldriven engineering. That said, this book and the ample way do a great job of introducing productdriven and solutiondriven software product line engineering sple, modeldriven engineering, and aspectoriented software development. Product line implementation using aspectoriented and. Programming the manual work doing all the farming by hand, its a craft, an. Model driven atchitecture in to support of software. The processes and management concerns are not included in the book. We propose a tool that supports some software product line visual techniques and model driven techniques.

519 1267 623 993 36 1225 906 925 534 470 19 1493 481 1070 1008 331 54 1532 1005 423 1508 1440 1043 228 1032 139 1310 787 912 36 179