224,179 research outputs found

    Software evolution in model-driven product line engineering

    Full text link
    New requirements and technology changes lead to continuous changes of the assets comprising a software product line. 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. We present a framework to support the development and evolution of highquality software product lines. The framework is based on several interrelated models or system views (eg, functionality, variability, quality) and a production plan defined by model transformations that generate a software system that meets both functional and quality requirements. We used our framework to develop a software system for the automotive domain.Abrahao Gonzales, SM.; GonzĂĄlez Huerta, J.; InsfrĂĄn Pelozo, CE.; Ramos Salavert, I. (2012). Software evolution in model-driven product line engineering. Ercim News. 88:41-43. http://hdl.handle.net/10251/46692S41438

    Book review: Basics in medical education

    Get PDF
    Software evolves continuously. As a consequence, software systems tend to become increasingly complex and, as such, more difficult to change. A software system's complexity is for a large part determined by its structure, or architecture. In this thesis we investigate how to reduce the risks and costs associated with the evolution of software architectures. Automation and abstraction are two basic software engineering techniques to deal with complexity. In this thesis we investigate the applicability of model-driven engineering, a new software development approach based on abstraction and automation, to support the evolution of software architectures. The main research question we address in this thesis is: "How can evolution of software architectures be supported?". Three subquestions related to industrial integration, software product lines, and automation further clarify the scope of our work. We first conducted a survey among several software development organisation to inventory the state-of-the-practice in software engineering technologies. Some trends we observed from this inventory include: the informal use modelling in industry, the use of product-line approaches, and the importance of the evolutionary aspect of software. Next, we investigated how to support four tasks related to software architecture evolution: evaluation, conformance checking, migration, and documentation. We aim to automate this support where possible. To this end, we employ model-driven software development technologies. For each of the software evolution tasks, we present a case study that investigates how that task can be supported. The informal use of modelling in industry calls for a normalisation step to enable the integration of evolution support in practice. Several chapters address the impact of the use of product-line approaches on the evolution support. Although the increased scope make such support more difficult to develop, the return on investment for the model-driven support is much improved. The model-driven evolution support follows a similar three-step pattern. First, a set of source models is preprocessed into a form suitable for the application of model transformations. Then, model transformations are applied that do the actual work, such as conformance checking or a migration. Finally, the resulting models are postprocessed in a resulting into a desired target form.Electrical Engineering, Mathematics and Computer Scienc

    Managed Evolution of Automotive Software Product Line Architectures: A Systematic Literature Study

    Get PDF
    The rapidly growing number of software-based features in the automotive domain as well as the special requirements in this domain ask for dedicated engineering approaches, models, and processes. Nowadays, software development in the automotive sector is generally developed as product line development, in which major parts of the software are kept adaptable in order to enable reusability of the software in different vehicle variants. In addition, reuse also plays an important role in the development of new vehicle generations in order to reduce development costs. Today, a high number of methods and techniques exist to support the product line driven development of software in the automotive sector. However, these approaches generally consider only partial aspects of development. In this paper, we present an in-depth literature study based on a conceptual model of artifacts and activities for the managed evolution of automotive software product line architectures. We are interested in the coverage of the particular aspects of the conceptual model and, thus, the fields covered in current research and research gaps, respectively. Furthermore, we aim to identify the methods and techniques used to implement automotive software product lines in general, and their usage scope in particular. As a result, this in-depth review reveals that none of the studies represent a holistic approach for the managed evolution of automotive software product lines. In addition, approaches from agile software development are of growing interest in this field

    A conceptual model for unifying variability in space and time: Rationale, validation, and illustrative applications

    Get PDF
    With the increasing demand for customized systems and rapidly evolving technology, software engineering faces many challenges. A particular challenge is the development and maintenance of systems that are highly variable both in space (concurrent variations of the system at one point in time) and time (sequential variations of the system, due to its evolution). Recent research aims to address this challenge by managing variability in space and time simultaneously. However, this research originates from two different areas, software product line engineering and software configuration management, resulting in non-uniform terminologies and a varying understanding of concepts. These problems hamper the communication and understanding of involved concepts, as well as the development of techniques that unify variability in space and time. To tackle these problems, we performed an iterative, expert-driven analysis of existing tools from both research areas to derive a conceptual model that integrates and unifies concepts of both dimensions of variability. In this article, we first explain the construction process and present the resulting conceptual model. We validate the model and discuss its coverage and granularity with respect to established concepts of variability in space and time. Furthermore, we perform a formal concept analysis to discuss the commonalities and differences among the tools we considered. Finally, we show illustrative applications to explain how the conceptual model can be used in practice to derive conforming tools. The conceptual model unifies concepts and relations used in software product line engineering and software configuration management, provides a unified terminology and common ground for researchers and developers for comparing their works, clarifies communication, and prevents redundant developments

    Modeling Business Process Variability

    Get PDF
    This master thesis presents research findings on business process variability modeling. Its main goal is to analyze inherent problems of business process variability and solve them simply, innovatively and effectively. To achieve this goal, process variability is defined by analyzing scientific literature, its main problems identified and is illustrated using a healthcare running example: process variability is classified into process variability within the domain space and over time. These two forms of process variability respectively lead to process variability modeling and process model evolution problems. After defining the main problems inherent to process variability, the focus of this research project is defined: solving process variability modeling problems. First current business process modeling languages are evaluated to assess the effectiveness of their respective modeling concepts when modeling process variability, using a newly created set of evaluation criteria and the healthcare running example. The following business process modeling languages are evaluated: Event driven process chains (EPC), the Business Process Modeling Notation (BPMN) and Configurable EPC (C-EPC). Business process variability modeling and Software product line engineering have similar problems. Therefore the variability modeling concepts developed by software product line engineering are analyzed. Feature diagrams and software configuration management are the main variability management concepts provided by software product line engineering. To apply these variability management concepts to model process variability meant combining them with existing business modeling languages. Riebisch feature diagrams are combined with C-EPC to form Feature-EPC. Applying software configuration management, meant merging Change Oriented Versioning with basic EPC to create COV-EPC, and merging the Proteus Configuration Language with basic EPC to design PCL-EPC. Finally these newly created business process modeling languages are also evaluated using the newly designed evaluation criteria and the healthcare running example. EPC or BPMN are not suited to model business process variability within the domain space. C-EPC provide explicit means to model business process variability, however the process models tend to get big very fast. Furthermore the syntax, the contextual constraints and the semantics of the configuration requirements and guidelines used to configure the C-EPC process models are unclear. Feature-EPC improve C-EPC with domain modeling capability and clearly defined configuration rules: their syntax, contextual constraints and semantics have been clearly defined using a context free grammar in Backus-Naur form. Furthermore, consistent combinations of features and configuration rules are ensured using respectively constraints and a conflict resolution algorithm. However, Feature-EPC and C-EPC suffer from the same weakness: large configurable process models. In COV-EPC and PCL-EPC the problem of large configurable process models is solved. COV-EPC ensures consistent combinations of options and configuration rules using respectively validities and a conflict resolution algorithm. PCL-EPC guarantees consistent combinations of process fragments by means of a PCL specification

    Traceability for Model Driven, Software Product Line Engineering

    Get PDF
    Traceability is an important challenge for software organizations. This is true for traditional software development and even more so in new approaches that introduce more variety of artefacts such as Model Driven development or Software Product Lines. In this paper we look at some aspect of the interaction of Traceability, Model Driven development and Software Product Line

    Variability and Evolution in Systems of Systems

    Full text link
    In this position paper (1) we discuss two particular aspects of Systems of Systems, i.e., variability and evolution. (2) We argue that concepts from Product Line Engineering and Software Evolution are relevant to Systems of Systems Engineering. (3) Conversely, concepts from Systems of Systems Engineering can be helpful in Product Line Engineering and Software Evolution. Hence, we argue that an exchange of concepts between the disciplines would be beneficial.Comment: In Proceedings AiSoS 2013, arXiv:1311.319

    PuLSE-I: Deriving instances from a product line infrastructure

    Get PDF
    Reusing assets during application engineering promises to improve the efficiency of systems development. However, in order to benefit from reusable assets, application engineering processes must incorporate when and how to use the reusable assets during single system development. However, when and how to use a reusable asset depends on what types of reusable assets have been created.Product line engineering approaches produce a reusable infrastructure for a set of products. In this paper, we present the application engineering process associated with the PuLSE product line software engineering method - PuLSE-I. PuLSE-I details how single systems can be built efficiently from the reusable product line infrastructure built during the other PuLSE activities

    A Systematic Review of Tracing Solutions in Software Product Lines

    Get PDF
    Software Product Lines are large-scale, multi-unit systems that enable massive, customized production. They consist of a base of reusable artifacts and points of variation that provide the system with flexibility, allowing generating customized products. However, maintaining a system with such complexity and flexibility could be error prone and time consuming. Indeed, any modification (addition, deletion or update) at the level of a product or an artifact would impact other elements. It would therefore be interesting to adopt an efficient and organized traceability solution to maintain the Software Product Line. Still, traceability is not systematically implemented. It is usually set up for specific constraints (e.g. certification requirements), but abandoned in other situations. In order to draw a picture of the actual conditions of traceability solutions in Software Product Lines context, we decided to address a literature review. This review as well as its findings is detailed in the present article.Comment: 22 pages, 9 figures, 7 table

    Automated analysis of feature models: Quo vadis?

    Get PDF
    Feature models have been used since the 90's to describe software product lines as a way of reusing common parts in a family of software systems. In 2010, a systematic literature review was published summarizing the advances and settling the basis of the area of Automated Analysis of Feature Models (AAFM). From then on, different studies have applied the AAFM in different domains. In this paper, we provide an overview of the evolution of this field since 2010 by performing a systematic mapping study considering 423 primary sources. We found six different variability facets where the AAFM is being applied that define the tendencies: product configuration and derivation; testing and evolution; reverse engineering; multi-model variability-analysis; variability modelling and variability-intensive systems. We also confirmed that there is a lack of industrial evidence in most of the cases. Finally, we present where and when the papers have been published and who are the authors and institutions that are contributing to the field. We observed that the maturity is proven by the increment in the number of journals published along the years as well as the diversity of conferences and workshops where papers are published. We also suggest some synergies with other areas such as cloud or mobile computing among others that can motivate further research in the future.Ministerio de EconomĂ­a y Competitividad TIN2015-70560-RJunta de AndalucĂ­a TIC-186
    • 

    corecore