235,584 research outputs found

    Variability Management in an unaware software product line company: An experience report

    Get PDF
    Software product line adoption is a challenging task in software development organisations. There are some reports in the literature of how software product line engineering has been adopted in several companies using di erent variabil-ity management techniques and patterns. However, to the best of our knowledge, there are no empirical reports on how variability management is handled in companies that do not know about software product line methods and tools. In this paper we present an experience report observing variability management practices in a software development company that was unaware of software product line approaches. We brie y report how variability management is performed in di erent areas ranging from business architecture to software assets management. From the observation we report some open research opportunities for the future and foster further similar and more structured empirical studies on unaware software product line companies.Ministerio de Economía y Competitividad TIN2012-32273Junta de Andalucía TIC-5906Junta de Andalucía P12-TIC-186

    A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering

    Get PDF
    Software Product Line Engineering (SPLE) is a software reuse paradigm for developing software products, from managed reusable assets, based on analysis of commonality and variability (C & V) of a product line. Many approaches of SPLE use a feature as a key abstraction to capture the C&V. Recently, there have been increasing demands for the provision of flexibility about not only the variability of features but also the variability of when features should be selected (i.e., variability on feature binding times). Current approaches to support variations of feature binding time mostly focused on ad hoc implementation mechanisms. In this paper, we first identify the challenges of feature binding time management and then propose an approach to analyze the variation of feature binding times and use the results to specify model-based architectural components for the product line. Based on the specification, components implementing variable features are parameterized with the binding times and the source codes for the components and the connection between them are generated

    Model Driven Evolution of an Agent-Based Home Energy Management System

    Get PDF
    Advanced smart home appliances and new models of energy tariffs imposed by energy providers pose new challenges in the automation of home energy management. Users need some assistant tool that helps them to make complex decisions with different goals, depending on the current situation. Multi-agent systems have proved to be a suitable technology to develop self-management systems, able to take the most adequate decision under different context-dependent situations, like the home energy management. The heterogeneity of home appliances and also the changes in the energy policies of providers introduce the necessity of explicitly modeling this variability. But, multi-agent systems lack of mechanisms to effectively deal with the different degrees of variability required by these kinds of systems. Software Product Line technologies, including variability models, has been successfully applied to different domains to explicitly model any kind of variability. We have defined a software product line development process that performs a model driven generation of agents embedded in heterogeneous smart objects with different degrees of self-management. However, once deployed, the home energy assistant system has to be able to evolve to self-adapt its decision making or devices to new requirements. So, in this paper we propose a model driven mechanism to automatically manage the evolution of multi-agent systems distributed among several devices.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Conceptual Variability Management in Software Families with Multiple Contributors

    Get PDF
    To offer customisable software, there are two main concepts yet: software product lines that allow the product customisation based on a fixed set of variability and software ecosystems, allowing an open product customisation based on a common platform. Offering a software family that enables external developers to supply software artefacts means to offer a common platform as part of an ecosystem and to sacrifice variability control. Keeping full variability control means to offer a customisable product as a product line, but without the support for external contributors. This thesis proposes a third concept of variable software: partly open software families. They combine a customisable platform similar to product lines with controlled openness similar to ecosystems. As a major contribution of this thesis a variability modelling concept is proposed which is part of a variability management for these partly open software families. This modelling concept is based on feature models and extends them to support open variability modelling by means of interfaces, structural interface specifications and the inclusion of semantic information. Additionally, the introduction of a rights management allows multiple contributors to work with the model. This is required to enable external developers to use the model for the concrete extension development. The feasibility of the proposed model is evaluated using a prototypically developed modelling tool and by means of a case study based on a car infotainment system

    A case study on variability management in software product lines: identifying why real-life projects fail

    Get PDF
    Economies of scale can be seen as some kind of “holy grail” in state of the art literature on the development of sets of related software systems. Software product line methods are often mentioned in this context, due to the variability management aspects they propose, in order to deal with sets of related software systems. They realize the sought-after reusability. Both variability management and software product lines already have a strong presence in theoretical research, but in real-life software product line projects trying to obtain economies of scale still tend to fall short of target. The objective of this paper is to study this gap between theory and reality through a case study in order to see why such gap exists, and to find a way to bridge this gap. Through analysis of the causes of failure identified by the stakeholders in the case study, the underlying problem, which is found to be located in the requirements engineering phase, is crystallized. The identification of a framework describing the problems will provide practitioners with a better focus for future endeavors in the field of software product lines, so that economies of scale can be achieved

    Feature Model to Orthogonal Variability Model Transformations. A First Step

    Get PDF
    Feature Model (FM) and Orthogonal Variability Model (OVM) are both modelling approaches employed to represent variability in software product line engineering. The former is the most popular and it is mainly applied to domain engineering. The later is a more recent approach mainly used to document variability in design and realisation artifacts. in the scenario of interest of our research, which focuses on Application Lifecycle Management environment, it would be useful rely on the FM to OVM transformation. To the best of our knowledge, in the literature, there is no proposal for such transformation. in this paper, we propose an algorithm to transform FM into OVM. This algorithm transforms the variable features of a FM into an OVM, thus providing an explicit view of variability of software product line. When working on these transformation, some issues came to light, such as how to preserve semantics. We discuss some of them and suggest a possible solution to transform FM into OVM by extending OVM

    Feature Model to Orthogonal Variability Model Transformation Towards Interoperability Between Tools

    Get PDF
    Feature Model (FM) and Orthogonal Variability Model (OVM) are both modelling approaches employed to represent variability in software product line engineering. The former is the most popular and it is mainly applied to domain engineering. The later is a more recent approach mainly used to document variability in design and realisation artifacts. in the scenario of interest of our research, which focuses on Application Lifecycle Management environment, it would be useful rely on the FM to OVM transformation. To the best of our knowledge, in the literature, there is no proposal for such transformation. in this paper, we propose an algorithm to transform FM into OVM. This algorithm transforms the variable features of a FM into an OVM, thus providing an explicit view of variability of software product line. When working on these transformation, some issues came to light, such as how to preserve semantics. We discuss some of them and suggest a possible solution to transform FM into OVM by extending OVM

    Variability management in a model-driven software product line

    Get PDF
    Variability management in Software Product Lines (SPLs) has two fundamental challenges: (1) the expression of common and variable features, and (2) the development of applications employing properly such features. In this paper, we present a Software Product Line based on Models (MD-SPL). We separate the concepts related to SPLs in different domains and we build core assets like feature models, metamodels, and three different types of transformation rules to transform models from a source domain to different (variable) models into a target domain. By using transformation rules, we are able to generate applications in an incremental process, guided by a set of features selected for each target domain. Thus, we manage to extend the SPLs scope, separate the domains diminishing the complexity to create applications with variable characteristics, and automatically generate applications using transformation rules. In order to illustrate our approach, we have built a MDSPL where the products are small applications used in programming computers teaching

    Software Product Line

    Get PDF
    The Software Product Line (SPL) is an emerging methodology for developing software products. Currently, there are two hot issues in the SPL: modelling and the analysis of the SPL. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. The principal goal of modelling variability techniques is to configure a successful software product by managing variability in domain-engineering. In other words, a good method for modelling variability is a prerequisite for a successful SPL. On the other hand, analysis of the SPL aids the extraction of useful information from the SPL and provides a control and planning strategy mechanism for engineers or experts. In addition, the analysis of the SPL provides a clear view for users. Moreover, it ensures the accuracy of the SPL. This book presents new techniques for modelling and new methods for SPL analysis
    corecore