10 research outputs found

    Conflict Detection for Edits on Extended Feature Models using Symbolic Graph Transformation

    Full text link
    Feature models are used to specify variability of user-configurable systems as appearing, e.g., in software product lines. Software product lines are supposed to be long-living and, therefore, have to continuously evolve over time to meet ever-changing requirements. Evolution imposes changes to feature models in terms of edit operations. Ensuring consistency of concurrent edits requires appropriate conflict detection techniques. However, recent approaches fail to handle crucial subtleties of extended feature models, namely constraints mixing feature-tree patterns with first-order logic formulas over non-Boolean feature attributes with potentially infinite value domains. In this paper, we propose a novel conflict detection approach based on symbolic graph transformation to facilitate concurrent edits on extended feature models. We describe extended feature models formally with symbolic graphs and edit operations with symbolic graph transformation rules combining graph patterns with first-order logic formulas. The approach is implemented by combining eMoflon with an SMT solver, and evaluated with respect to applicability.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857

    Runtime variability for dynamic reconfiguration in wireless sensor network product lines

    Get PDF
    Runtime variability is a key technique for the success of Dynamic Software Product Lines (DSPLs), as certain application demand reconfiguration of system features and execution plans at runtime. In this emerging research work we address the problem of dynamic changes in feature models in sensor networks product families, where nodes of the network demand dynamic reconfiguration at post-deployment time

    An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System

    Get PDF
    Cyber-Physical Systems (CPS) are usually developed by an incremental approach. A changing environment like demanding user requirements or legislation amendments lead often to multiple development paths in an evolving CPS. Hence, software variability plays an increasingly important role adapting the characteristics of such CPS to different contexts. This paper focuses on software variability realized through a Software Product Line (SPL) more specifically. Thereby, variability and evolution are usually managed in different tools. However with respect to software defects, a holistic handling of variability and evolution is necessary to ensure a reliable software defect removal. Particularly, detecting software defects in different evolution stages and derived variants is ordinary, but complex and error-prone. To close the gap between variability and evolution, this paper presents a systematic approach to combine both disciplines. In particular, we apply existing variant management techniques in combination with software configuration management methods to determine a software defect's origin and distribution in an evolving SPL. We apply our approach to a CPS from the automotive domain to show its industrial relevance and usefulness

    Evolution in Dynamic Software Product Lines

    Get PDF
    International audienceMany software systems today provide support for adaptation and reconfiguration at runtime, in response to changes in their environment. Such adaptive systems are designed to run continuously and may not be shut down for reconfiguration or maintenance tasks. The variability of such systems has to be explicitly managed, together with mechanisms that control their runtime adaptation and reconfiguration. Dynamic software product lines (DSPLs) can help to achieve this. However, dealing with evolution is particularly challenging in a DSPL, as changes made at run-time can easily lead to inconsistencies. This paper describes the challenges of evolving DSPLs using an example cyber-physical system for home automation. We discuss the shortcomings of existing work and present a reference architecture to support DSPL evolution. To demonstrate its feasibility and flexibility, we implemented the proposed reference architecture for two different DSPLs: the aforementioned cyber-physical system, which uses feature models to describe its variability, and a runtime monitoring infrastructure, which is based on decision models. To assess the industrial applicability of our approach, we also implemented the reference architecture for a real-world DSPL, an automation software system for injection molding machines. Our results provide evidence on the flexibility, performance and industrial applicability of our approach

    Konsistente Feature Modell gesteuerte Softwareproduktlinien Evolution

    Get PDF
    SPLs are an approach to manage families of closely related software systems in terms of configurable functionality. A feature model captures common and variable functionalities of an SPL on a conceptual level in terms of features. Reusable artifacts, such as code, documentation, or tests are related to features using a feature-artifact mapping. A product of an SPL can be derived by selecting features in a configuration. Over the course of time, SPLs and their artifacts are subject to change. As SPLs are particularly complex, their evolution is a challenging task. Consequently, SPL evolution must be thoroughly planned well in advance. However, plans typically do not turn out as expected and, thus, replanning is required. Feature models lean themselves for driving SPL evolution. However, replanning of feature-model evolution can lead to inconsistencies and feature-model anomalies may be introduced during evolution. Along with feature-model evolution, other SPL artifacts, especially configurations, need to consistently evolve. The work of this thesis provides remedy to the aforementioned challenges by presenting an approach for consistent evolution of SPLs. The main contributions of this thesis can be distinguished into three key areas: planning and replanning feature-model evolution, analyzing feature-model evolution, and consistent SPL artifact evolution. As a starting point for SPL evolution, we introduce Temporal Feature Models (TFMs) that allow capturing the entire evolution timeline of a feature model in one artifact, i.e., past history, present changes, and planned evolution steps. We provide an execution semantics of feature-model evolution operations that guarantees consistency of feature-model evolution timelines. To keep feature models free from anomalies, we introduce analyses to detect anomalies in feature-model evolution timelines and explain these anomalies in terms of their causing evolution operations. To enable consistent SPL artifact evolution, we generalize the concept of modeling evolution timelines in TFMs to be applicable for any modeling language. Moreover, we provide a methodology that enables involved engineers to define and use guidance for configuration evolution.Softwareproduktlinien (SPLs) ermöglichen es, konfigurierbare Funktionalität von eng verwandten Softwaresystemen zu verwalten. In einem Feature Modell werden gemeinsame und variable Funktionalitäten einer SPL auf Basis abstrakter Features modelliert. Wiederverwendbare Artefakte werden in einem Feature-Artefakt Mapping Features zugeordnet. Ein Produkt einer SPL kann abgeleitet werden, indem Features in einer Konfiguration ausgewählt werden. Im Laufe der Zeit müssen sich SPLs und deren Artefakte verändern. Da SPLs ganze Softwarefamilien modellieren, ist deren Evolution eine besonders herausfordernde Aufgabe, die gründlich im Voraus geplant werden muss. Feature Modelle eignen sich besonders als Planungsmittel einer SPL. Umplanung von Feature Modell Evolution kann jedoch zu Inkonsistenzen führen und Feature Modell Anomalien können im Zuge der Evolution eingeführt werden. Im Anschluss an die Feature Modell Evolution muss die Evolution anderer SPL Artefakte, insbesondere Konfigurationen, konsistent modelliert werden. In dieser Arbeit wird ein Ansatz zur konsistenten Evolution von SPLs vorgestellt, der die zuvor genannten Herausforderungen adressiert. Die Beiträge dieser Arbeit lassen sich in drei Kernbereiche aufteilen: Planung und Umplanung von Feature Modell Evolution, Analyse von Feature Modell Evolution und konsistente Evolution von SPL Artefakten. Temporal Feature Models (TFMs) werden als Startpunkt für SPL Evolution eingeführt. In einem TFM wird die gesamte Evolutionszeitlinie eines Feature Modells in einem Artefakt abgebildet, was sowohl vergangene Änderungen, den aktuellen Zustand, als auch geplante Änderungen beinhaltet. Auf Basis einer Ausführungssemantik wird die Konsistenz von Feature Modell Evolutionszeitlinien sichergestellt. Um Feature Modelle frei von Anomalien zu halten, werden Analysen eingeführt, welche die gesamte Evolutionszeitlinie eines Feature Modells auf Anomalien untersucht und diese mit verursachenden Evolutionsoperationen erklärt. Das Konzept zur Modellierung von Feature Modell Evolutionszeitlinien aus TFMs wird verallgemeinert, um die gesamte Evolution von Modellen beliebiger Modellierungssprachen spezifizieren zu können. Des Weiteren wird eine Methodik vorgestellt, die beteiligten Ingenieuren eine geführte Evolution von Konfigurationen ermöglicht

    Modulorientiertes Produktlinien Engineering fĂĽr den modellbasierten Elektrik/Elektronik-Architekturentwurf

    Get PDF
    Heutzutage werden E/E-Architekturen modellbasiert entworfen, um in der Fahrzeugentwicklung frühzeitig den Reifegrad für die fahrzeugweite Vernetzung und Integration von Elektrik, Elektronik und Software abzusichern. Das methodische Konzept und die praktische Umsetzung durch das Modulorientierte Produktlinien Engineering ermöglicht eine Erhöhung der Modellierungseffizienz und der Modellqualität sowie eine Anwenderunterstützung für die Modellierung der komplexen E/E-Architekturmodelle

    Integrated Management of Variability in Space and Time in Software Families

    Get PDF
    Software Product Lines (SPLs) and Software Ecosystems (SECOs) are approaches to capturing families of closely related software systems in terms of common and variable functionality (variability in space). SPLs and especially SECOs are subject to software evolution to adapt to new or changed requirements resulting in different versions of the software family and its variable assets (variability in time). Both dimensions may be interconnected (e.g., through version incompatibilities) and, thus, have to be handled simultaneously as not all customers upgrade their respective products immediately or completely. However, there currently is no integrated approach allowing variant derivation of features in different version combinations. In this thesis, remedy is provided in the form of an integrated approach making contributions in three areas: (1) As variability model, Hyper-Feature Models (HFMs) and a version-aware constraint language are introduced to conceptually capture variability in time as features and feature versions. (2) As variability realization mechanism, delta modeling is extended for variability in time, and a language creation infrastructure is provided to devise suitable delta languages. (3) For the variant derivation procedure, an automatic version selection mechanism is presented as well as a procedure to derive large parts of the application order for delta modules from the structure of the HFM. The presented integrated approach enables derivation of concrete software systems from an SPL or a SECO where both features and feature versions may be configured.:I. Context and Preliminaries 1. The Configurable TurtleBot Driver as Running Example 1.1. TurtleBot: A Domestic Service Robot 1.2. Configurable Driver Functionality 1.3. Software Realization Artifacts 1.4. Development History of the Driver Software 2. Families of Variable Software Systems 2.1. Variability 2.1.1. Variability in Space and Time 2.1.2. Internal and External Variability 2.2. Manifestations of Configuration Knowledge 2.2.1. Variability Models 2.2.2. Variability Realization Mechanisms 2.2.3. Variability in Realization Assets 2.3. Types of Software Families 2.3.1. Software Product Lines 2.3.2. Software Ecosystems 2.3.3. Comparison of Software Product Lines and Software Ecosystems 3. Fundamental Approaches and Technologies of the Thesis 3.1. Model-Driven Software Development 3.1.1. Metamodeling Levels 3.1.2. Utilizing Models in Generative Approaches 3.1.3. Representation of Languages using Metamodels 3.1.4. Changing the Model-Representation of Artifacts 3.1.5. Suitability of Model-Driven Software Development 3.2. Fundamental Variability Management Techniques of the Thesis 3.2.1. Feature Models as Variability Models 3.2.2. Delta Modeling as Variability Realization Mechanism 3.2.3. Variant Derivation Process of Delta Modeling with Feature Models 3.3. Constraint Satisfaction Problems 3.4. Scope 3.4.1. Problem Statement 3.4.2. Requirements 3.4.3. Assumptions and Boundaries II. Integrated Management of Variability in Space and Time 4. Capturing Variability in Space and Time with Hyper-Feature Models 4.1. Feature Models Cannot Capture Variability in Time 4.2. Formal Definition of Feature Models 4.3. Definition of Hyper-Feature Models 4.4. Creation of Hyper-Feature Model Versions 4.5. Version-Aware Constraints to Represent Version Dependencies and Incompatibilities 4.6. Hyper-Feature Models are a True Extension to Feature Models 4.7. Case Study 4.8. Demarcation from Related Work 4.9. Chapter Summary 5. Creating Delta Languages Suitable for Variability in Space and Time 5.1. Current Delta Languages are not Suitable for Variability in Time 5.2. Software Fault Trees as Example of a Source Language 5.3. Evolution Delta Modules as Manifestation of Variability in Time 5.4. Automating Delta Language Generation 5.4.1. Standard Delta Operations Realize Usual Functionality 5.4.2. Custom Delta Operations Realize Specialized Functionality 5.5. Delta Language Creation Infrastructure 5.5.1. The Common Base Delta Language Provides Shared Functionality for all Delta Languages 5.5.2. Delta Dialects Define Delta Operations for Custom Delta Languages 5.5.3. Custom Delta Languages Enable Variability in Source Languages 5.6. Case Study 5.7. Demarcation from Related Work 5.8. Chapter Summary 6. Deriving Variants with Variability in Space and Time 6.1. Variant Derivation Cannot Handle Variability in Time 6.2. Associating Features and Feature Versions with Delta Modules 6.3. Automatically Select Versions to Ease Configuration 6.4. Application Order and Implicitly Required Delta Modules 6.4.1. Determining Relevant Delta Modules 6.4.2. Forming a Dependency Graph of Delta Modules 6.4.3. Performing a Topological Sorting of Delta Modules 6.5. Generating Variants with Versions of Variable Assets 6.6. Case Study 6.7. Demarcation from Related Work 6.8. Chapter Summary III. Realization and Application 7. Realization as Tool Suite DeltaEcore 7.1. Creating Delta Languages 7.1.1. Shared Base Metamodel 7.1.2. Common Base Delta Language 7.1.3. Delta Dialects 7.2. Specifying a Software Family with Variability in Space and Time 7.2.1. Hyper-Feature Models 7.2.2. Version-Aware Constraints 7.2.3. Delta Modules 7.2.4. Application-Order Constraints 7.2.5. Mapping Models 7.3. Deriving Variants 7.3.1. Creating a Configuration 7.3.2. Collecting Delta Modules 7.3.3. Ordering Delta Modules 7.3.4. Applying Delta Modules 8. Evaluation 8.1. Configurable TurtleBot Driver Software 8.1.1. Variability in Space 8.1.2. Variability in Time 8.1.3. Integrated Management of Variability in Space and Time 8.2. Metamodel Family for Role-Based Modeling and Programming Languages 8.2.1. Variability in Space 8.2.2. Variability in Time 8.2.3. Integrated Management of Variability in Space and Time 8.3. A Software Product Line of Feature Modeling Notations and Constraint Languages 8.3.1. Variability in Space 8.3.2. Variability in Time 8.3.3. Integrated Management of Variability in Space and Time 8.4. Results and Discussion 8.4.1. Results and Discussion of RQ1: Variability Model 8.4.2. Results and Discussion of RQ2: Variability Realization Mechanism 8.4.3. Results and Discussion of RQ3: Variant Derivation Procedure 9. Conclusion 9.1. Discussion 9.1.1. Supported Evolutionary Changes 9.1.2. Conceptual Representation of Variability in Time 9.1.3. Perception of Versions as Incremental 9.1.4. Version Numbering Schemes 9.1.5. Created Delta Languages 9.1.6. Scalability of Approach 9.2. Possible Future Application Areas 9.2.1. Extend to Full Software Ecosystem Feature Model 9.2.2. Model Software Ecosystems 9.2.3. Extract Hyper-Feature Model Versions and Record Delta Modules 9.2.4. Introduce Metaevolution Delta Modules 9.2.5. Support Incremental Reconfiguration 9.2.6. Apply for Evolution Analysis and Planning 9.2.7. Enable Evolution of Variable Safety-Critical Systems 9.3. Contribution 9.3.1. Individual Contributions 9.3.2. Handling Updater Stereotypes IV. Appendix A. Delta Operation Generation Algorithm B. Delta Dialects B.1. Delta Dialect for Java B.2. Delta Dialect for Eclipse Projects B.3. Delta Dialect for DocBook Markup B.4. Delta Dialect for Software Fault Trees B.5. Delta Dialect for Component Fault Diagrams B.6. Delta Dialect for Checklists B.7. Delta Dialect for the Goal Structuring Notation B.8. Delta Dialect for EMF Ecore B.9. Delta Dialect for EMFText Concrete Syntax File

    Une modélisation de la variabilité multidimensionnelle pour une évolution incrémentale des lignes de produits

    Get PDF
    Le doctorat s'inscrit dans le cadre d'une bourse CIFRE et d'un partenariat entre l'ENSTA Bretagne, l'IRISA et Thales Air Systems. Les préoccupations de ce dernier, et plus particulièrement de l'équipe de rattachement, sont de réaliser des systèmes à logiciels prépondérants embarqués. La complexité de ces systèmes et les besoins de compétitivité associés font émerger la notion de "Model-Based Product Lines(MBPLs)". Celles-ci tendent à réaliser une synergie de l'abstraction de l'Ingénierie Dirigée par les Modèles (IDM) et de la capacité de gestion de la capitalisation et réutilisation des Lignes de Produits (LdPs). La nature irrévocablement dynamique des systèmes réels induit une évolution permanente des LdPs afin de répondre aux nouvelles exigences des clients et pour refléter les changements des artefacts internes de la LdP. L'objectif de cette thèse est unique, maîtriser des incréments d'évolution d'une ligne de produits de systèmes complexes, les contributions pour y parvenir sont duales. La thèse est que 1) une variabilité multidimensionnelle ainsi qu'une modélisation relationnelle est requise dans le cadre de lignes de produits de systèmes complexes pour en améliorer la compréhension et en faciliter l'évolution (proposition d'un cadre générique de décomposition de la modélisation et d'un langage (DSML) nommé PLiMoS, dédié à l'expression relationnelle et intentionnelle dans les MBPLs), et que 2) les efforts de spécialisation lors de la dérivation d'un produit ainsi que l'évolution de la LdP doivent être guidé par une architecture conceptuelle (introduction de motifs architecturaux autour de PLiMoS et du patron ABCDE) et capitalisés dans un processus outillé semi-automatisé d'évolution incrémentale des lignes de produits par extension.The PhD (CIFRE fundings) was supported by a partnership between three actors: ENSTA Bretagne, IRISA and Thales Air Systems. The latter's concerns, and more precisely the ones from the affiliation team, are to build embedded software-intensive systems. The complexity of these systems, combined to the need of competitivity, reveal the notion of Model-Based Product Lines (MBPLs). They make a synergy of the capabilities of modeling and product line approaches, and enable more efficient solutions for modularization with the distinction of abstraction levels and separation of concerns. Besides, the dynamic nature of real-world systems induces that product line models need to evolve continually to meet new customer requirements and to reflect changes in product line artifacts. The aim of the thesis is to handle the increments of evolution of complex systems product lines, the contributions to achieve it are twofolds. The thesis claims that i) a multidimensional variability and a relational modeling are required within a complex system product line in order to enhance comprehension and ease the PL evolution (Conceptual model modularization framework and PliMoS Domain Specific Modeling Language proposition; the language is dedicated to relational and intentional expressions in MBPLs), and that ii) specialization efforts during product derivation have to be guided by a conceptual architecture (architectural patterns on top of PLiMoS, e.g.~ABCDE) and capitalized within a semi-automatic tooled process allowing the incremental PL evolution by extension.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Variability in time — product line variability and evolution revisited

    Get PDF
    In its basic form, a variability model describes the variations among similar artifacts from a structural point of view. It does not capture any information about when these variations occur or how they are related to each other in time. This abstraction becomes problematic as soon as time-related aspects become essential for the modeling purpose, e.g., when providing long-term support for a product line or when planning its future strategy. In this paper, we provide an overview of approaches that deal with time-related aspects in variability, which is summarized under “variability in time”. In contrast, the modeling of structural commonalities and differences is referred to as “variability in space”. We take an inductive approach and survey different uses of the term “variability in time”, which turn out to be orthogonal. We generalize the uses and identify three different types: variability of linear change over time (maintenance/evolution), multiple versions at a point in time (configuration management), and binding over time (product derivation). We validate the types by using them to describe complex product line evolution scenarios where they exhibit expressive and discriminatory power. Finally, we go into depth for the first type (maintenance/evolution) and identify the tasks and aspects to be considered when building a detailed evolution research agenda in the future
    corecore