10 research outputs found

    A concrete product derivation in software product line engineering: a practical approach

    Get PDF
    Software Product Lines enable the development of a perfect family of products by reusing shared assets in a systematic manner. Product derivation is a critical activity in software product line engineering and one of the most pressing issues that a software product line must address. This work introduces an approach for automating the derivation of a product from a software product line. The software product line is part of a product family that evolved from a non-structured approach to managing variability. The automated derivation approach relies on product configurations and the refactoring of feature models. The approach was deployed and evaluated in the automotive domain using a real-world software product line. The outcome demonstrates that the approach generates a product in an automated and successful manner.This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the R&D Units Project Scope: UIDB/00319/2020

    A Product Line Systems Engineering Process for Variability Identification and Reduction

    Full text link
    Software Product Line Engineering has attracted attention in the last two decades due to its promising capabilities to reduce costs and time to market through reuse of requirements and components. In practice, developing system level product lines in a large-scale company is not an easy task as there may be thousands of variants and multiple disciplines involved. The manual reuse of legacy system models at domain engineering to build reusable system libraries and configurations of variants to derive target products can be infeasible. To tackle this challenge, a Product Line Systems Engineering process is proposed. Specifically, the process extends research in the System Orthogonal Variability Model to support hierarchical variability modeling with formal definitions; utilizes Systems Engineering concepts and legacy system models to build the hierarchy for the variability model and to identify essential relations between variants; and finally, analyzes the identified relations to reduce the number of variation points. The process, which is automated by computational algorithms, is demonstrated through an illustrative example on generalized Rolls-Royce aircraft engine control systems. To evaluate the effectiveness of the process in the reduction of variation points, it is further applied to case studies in different engineering domains at different levels of complexity. Subject to system model availability, reduction of 14% to 40% in the number of variation points are demonstrated in the case studies.Comment: 12 pages, 6 figures, 2 tables; submitted to the IEEE Systems Journal on 3rd June 201

    Utilisation d'analyse de concepts formels pour la gestion de variabilité d'un logiciel configuré dynamiquement

    Get PDF
    Résumé L'industrie avionique, extrêmement critique, se trouve également extrêmement contrainte; par les normes de sécurité et de certification d'une part, mais aussi par les besoins de personnalisation de ses clients d'autre part. Dans ce contexte, la gestion de variabilité des systèmes est un problème de fond des projets de ré-ingénierie de systèmes avioniques. Nous présentons dans ce mémoire des travaux visant à aider la gestion de variabilité en s'appuyant sur l'analyse de concepts formels et sur le web sémantique. Le premier objectif de recherche consiste à identifier des comportements typiques et des interactions pour les variables de configuration d'un logiciel configuré dynamiquement. Pour identifier de tels éléments, nous nous sommes servi de l'analyse de concepts formels à différents niveaux de précision dans le système ainsi que de la définition de nouvelles métriques sur le système. Pour répondre à ce premier objectif nous avons défini une typologie des variables de configuration et de leurs interactions. Nous avons également étudié les partages de contrôles entre variables de configuration au niveau du code. Un autre objectif de recherche était de construire une base de connaissance permettant de recenser les résultats des différentes analyses effectuées, mais aussi d'ajouter tout nouvel élément pouvant aider à la gestion de variabilité, notamment à la définition des processus de ré-ingénierie pour chacune des catégories de la typologie. Pour répondre à cet objectif, nous avons construit une solution fondée sur le web sémantique, en définissant une nouvelle ontologie de description, extensible, et permettant la construction d'inférence pour les traitements évoqués plus haut. Les travaux présentés ici représentent, à notre connaissance la première typologie de variables de configuration pour un logiciel configuré dynamiquement, mais aussi l'application au domaine de l'aéronautique des techniques de documentation et de gestion de variabilités basées sur le web sémantique. Les travaux effectués et les résultats montrent que l'analyse de concepts formels permet effectivement de comprendre certaines propriétés et interactions des variables et que le web sémantique fournit les outils adéquats pour conserver et exploiter les résultats. Toutefois, l'utilisation de l'analyse de concepts formels à partir d'autres relations booléennes, telles que l'appartenance d'une variable de configuration à un produit, et la construction de nouvelles inférences plus précises permettraient de tirer de nouvelles conclusions. L'application de la méthode à d'autres systèmes permettrait également de valider la pertinence de la classification dans d'autres contextes.---------Abstract Because of its critical nature, avionic industry is bound with numerous constraints such as security standards and certifications while having to fulfill the clients’ desires for personalization. In this context, variability management is a very important issue for re-engineering projects of avionic software. In this thesis, we propose a new approach, based on formal concept analysis and semantic web, to support variability management. The first goal of this research is to identify characteristic behaviors and interactions of configuration variables in a dynamically configured system. To identify such elements, we used formal concept analysis on different levels of abstractions in the system and defined new metrics. Then, we built a classification for the configuration variables and their relations in order to enable a quick identification of a variable's behavior in the system. This classification could help finding a systematic approach to process variables during a re-engineering operation, depending on their category. To have a better understanding of the system, we also studied the shared controls of code between configuration variables. A second objective of this research is to build a knowledge platform to gather the results of all the analysis performed, and to store any additional element relevant in the variability management context, for instance new results helping define re-engineering process for each of the categories. To address this goal, we built a solution based on a semantic web, defining a new ontology, very extensive and enabling to build inferences related to the evolution processes. The approach presented here is, to the best of our knowledge, the first classification of configuration variables of a dynamically configured software and an original use of documentation and variability management techniques using semantic web in the aeronautic field. The analysis performed and the final results show that formal concept analysis is a way to identify specific properties and behaviors and that semantic web is a good solution to store and explore the results. However, the use of formal concept analysis with new boolean relations, such as the link between configuration variables and files, and the definition of new inferences may be a way to draw better conclusions. The use of the same methodology with other systems would enable to validate the approach in other contexts

    A Scalable Design Framework for Variability Management in Large-Scale Software Product Lines

    Get PDF
    Variability management is one of the major challenges in software product line adoption, since it needs to be efficiently managed at various levels of the software product line development process (e.g., requirement analysis, design, implementation, etc.). One of the main challenges within variability management is the handling and effective visualization of large-scale (industry-size) models, which in many projects, can reach the order of thousands, along with the dependency relationships that exist among them. These have raised many concerns regarding the scalability of current variability management tools and techniques and their lack of industrial adoption. To address the scalability issues, this work employed a combination of quantitative and qualitative research methods to identify the reasons behind the limited scalability of existing variability management tools and techniques. In addition to producing a comprehensive catalogue of existing tools, the outcome form this stage helped understand the major limitations of existing tools. Based on the findings, a novel approach was created for managing variability that employed two main principles for supporting scalability. First, the separation-of-concerns principle was employed by creating multiple views of variability models to alleviate information overload. Second, hyperbolic trees were used to visualise models (compared to Euclidian space trees traditionally used). The result was an approach that can represent models encompassing hundreds of variability points and complex relationships. These concepts were demonstrated by implementing them in an existing variability management tool and using it to model a real-life product line with over a thousand variability points. Finally, in order to assess the work, an evaluation framework was designed based on various established usability assessment best practices and standards. The framework was then used with several case studies to benchmark the performance of this work against other existing tools

    Modeling dependencies in product families with COVAMOF

    No full text

    Modeling dependencies in product families with COVAMOF

    No full text
    Many variability modeling approaches consider only formalized dependencies, i.e. in- or exclude relations between variants. However, in real industrial product families, dependencies are often much more complicated. In this paper, we discuss the product derivation problems associated with dependencies, and show how our variability modeling framework COVAMOF addresses these issues. Throughout the paper, we use examples of Intrada, an intelligent traffic systems family of Dacolian B.V

    Modeling dependencies in product families with COVAMOF

    No full text
    Many variability modeling approaches consider only formalized dependencies, i.e. in- or exclude relations between variants. However, in real industrial product families, dependencies are often much more complicated. In this paper, we discuss the product derivation problems associated with dependencies, and show how our variability modeling framework COVAMOF addresses these issues. Throughout the paper, we use examples of Intrada, an intelligent traffic systems family of Dacolian B.V.</p
    corecore