149,385 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

    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

    Bridging the Gap Between Product Lines and Systems Engineering: An experience in Variability Management for Automotive Model-based Systems Engineering

    No full text
    International audienceWe present in this paper an experience in modeling a family of parking brake systems, with shared assets and alternative solutions, and relate them to the needs of Renault in terms of variability management. The models are realized using a set of customized tools for model based systems engineering and variability management, based on SysML models. The purpose is to present an industrial context that requires the adoption of a product line approach and of variability modeling techniques, outside of a pure-software domain. At Renault, the interest is in identifying variations and reuse opportunities early in the product development cycle, as well as in preparing vehicle con figuration specifications during the systems engineering process. This would lead to lowering the engineering effort and to higher quality and confidence in carry-over and carry across based solutions. We advocate for a tight integration of variability management with the model based systems engineering approach, which needs to address methodological support, modeling techniques and efficient tools for interactive con figuration, adapted for engineering activities

    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

    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

    A comparison of two SPLE tools : Pure::Variants and Clafer tools

    Get PDF
    In software product line engineering (SPLE), parts of developed software is made variable in order to be able to build a whole range of software products at the same time. This is widely known to have a number of potential benefits such as saving costs when the product line is large enough. However, managing variability in software introduces challenges that are not well addressed by tools used in conventional software engineering, and specialized tools are needed. Research questions: 1) What are the most important requirements for SPLE tools for a small-to-medium sized organisation aiming to experiment with SPLE? 2) How well those requirements are met in two specific SPLE tools, Pure::Variants and Clafer tools? 3) How do the studied tools compare against each other when it comes to their suitability for the chosen context (a digital board game platform)? 4) How common requirements for SPL tools can be generalized to be applicable for both graphical and text-based tools? A list of requirements is first obtained from literature and then used as a basis for an experiment where support for each requirement is tried out with both tools. Then a part of an example product line is developed with both tools and the experiences reported on. Both tools were found to support the list of requirements quite well, although there were some usability problems and not everything could be tested due to technical issues. Based on developing the example, both tools were found to have their own strengths and weaknesses probably partly resulting from one being GUI-based and one textual. ACM Computing Classification System (CCS): (1) CCS → Software and its engineering → Software creation and management → Software development techniques → Reusability → Software product lines (2) CCS → Software and its engineering → Software notations and tools → Software configuration management and version control system

    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