141 research outputs found

    Consistent View-Based Management of Variability in Space and Time

    Get PDF
    Systeme entwickeln sich schnell weiter und existieren in verschiedenen Variationen, um unterschiedliche und sich ändernde Anforderungen erfüllen zu können. Das führt zu aufeinanderfolgenden Revisionen (Variabilität in Zeit) und zeitgleich existierenden Produktvarianten (Variabilität in Raum). Redundanzen und Abhängigkeiten zwischen unterschiedlichen Produkten über mehrere Revisionen hinweg sowie heterogene Typen von Artefakten führen schnell zu Inkonsistenzen während der Evolution eines variablen Systems. Die Bewältigung der Komplexität sowie eine einheitliche und konsistente Verwaltung beider Variabilitätsdimensionen sind wesentliche Herausforderungen, um große und langlebige Systeme erfolgreich entwickeln zu können. Variabilität in Raum wird primär in der Softwareproduktlinienentwicklung betrachtet, während Variabilität in Zeit im Softwarekonfigurationsmanagement untersucht wird. Konsistenzerhaltung zwischen heterogenen Artefakttypen und sichtbasierte Softwareentwicklung sind zentrale Forschungsthemen in modellgetriebener Softwareentwicklung. Die Isolation der drei angrenzenden Disziplinen hat zu einer Vielzahl von Ansätzen und Werkzeugen aus den unterschiedlichen Bereichen geführt, was die Definition eines gemeinsamen Verständnisses erschwert und die Gefahr redundanter Forschung und Entwicklung birgt. Werkzeuge aus den verschiedenen Disziplinen sind oftmals nicht ausreichend integriert und führen zu einer heterogenen Werkzeuglandschaft sowie hohem manuellen Aufwand während der Evolution eines variablen Systems, was wiederum der Systemqualität schadet und zu höheren Wartungskosten führt. Basierend auf dem aktuellen Stand der Forschung in den genannten Disziplinen werden in dieser Dissertation drei Kernbeiträge vorgestellt, um den Umgang mit der Komplexität während der Evolution variabler Systeme zu unterstützten. Das unifizierte konzeptionelle Modell dokumentiert und unifiziert Konzepte und Relationen für den gleichzeitigen Umgang mit Variabilität in Raum und Zeit basierend auf einer Vielzahl ausgewählter Ansätze und Werkzeuge aus der Softwareproduktlinienentwicklung und dem Softwarekonfigurationsmanagement. Über die bloße Kombination vorhandener Konzepte hinaus beschreibt das unifizierte konzeptionelle Modell neue Möglichkeiten, beide Variabilitätsdimensionen zueinander in Beziehung zu setzen. Die unifizierten Operationen verwenden das unifizierte konzeptionelle Modell als Datenstruktur und stellen die Basis für operative Verwaltung von Variabilität in Raum und Zeit dar. Die unifizierten Operationen werden basierend auf einer Analyse diverser Ansätze konzipiert, welche verschiedene Modalitäten und Paradigmen verfolgen. Während die unifizierten Operationen die Funktionalität von analysierten Werkzeugen abdecken, ermöglichen sie den gleichzeitigen Umgang mit beiden Variabilitätsdimensionen. Der unifizierte Ansatz basiert auf den vorhergehenden Beiträgen und erweitert diese um Konsistenzerhaltung. Zu diesem Zweck wurden Typen von variabilitätsspezifischen Inkonsistenzen identifiziert, die während der Evolution variabler heterogener Systeme auftreten können. Der unifizierte Ansatz ermöglicht automatisierte Konsistenzerhaltung für eine ausgewählte Teilmenge der identifizierten Inkonsistenztypen. Jeder Kernbeitrag wurde empirisch evaluiert. Zur Evaluierung des unifizierten konzeptionellen Modells und der unifizierten Operationen wurden Expertenbefragungen durchgeführt, Metriken zur Bewertung der Angemessenheit einer Unifizierung definiert und angewendet, sowie beispielhafte Anwendungen demonstriert. Die funktionale Eignung des unifizierten Ansatzes wurde mittels zweier Realweltfallstudien evaluiert: Die häufig verwendete ArgoUML-SPL, die auf ArgoUML basiert, einem UML-Modellierungswerkzeug, sowie MobileMedia, eine mobile Applikation für Medienverwaltung. Der unifizierte Ansatz ist mit dem Eclipse Modeling Framework (EMF) und dem Vitruvius Ansatz implementiert. Die Kernbeiträge dieser Arbeit erweitern das vorhandene Wissen hinsichtlich der uniformen Verwaltung von Variabilität in Raum und Zeit und verbinden diese mit automatisierter Konsistenzerhaltung für variable Systeme bestehend aus heterogenen Artefakttypen

    Model driven product line engineering : core asset and process implications

    Get PDF
    Reuse is at the heart of major improvements in productivity and quality in Software Engineering. Both Model Driven Engineering (MDE) and Software Product Line Engineering (SPLE) are software development paradigms that promote reuse. Specifically, they promote systematic reuse and a departure from craftsmanship towards an industrialization of the software development process. MDE and SPLE have established their benefits separately. Their combination, here called Model Driven Product Line Engineering (MDPLE), gathers together the advantages of both. Nevertheless, this blending requires MDE to be recasted in SPLE terms. This has implications on both the core assets and the software development process. The challenges are twofold: (i) models become central core assets from which products are obtained and (ii) the software development process needs to cater for the changes that SPLE and MDE introduce. This dissertation proposes a solution to the first challenge following a feature oriented approach, with an emphasis on reuse and early detection of inconsistencies. The second part is dedicated to assembly processes, a clear example of the complexity MDPLE introduces in software development processes. This work advocates for a new discipline inside the general software development process, i.e., the Assembly Plan Management, which raises the abstraction level and increases reuse in such processes. Different case studies illustrate the presented ideas.This work was hosted by the University of the Basque Country (Faculty of Computer Sciences). The author enjoyed a doctoral grant from the Basque Goverment under the “Researchers Training Program” during the years 2005 to 2009. The work was was co-supported by the Spanish Ministry of Education, and the European Social Fund under contracts WAPO (TIN2005-05610) and MODELINE (TIN2008-06507-C02-01)

    Cost-effective model-based test case generation and prioritization for software product line

    Get PDF
    In Software Product Line (SPL), testing is used to manage core assets that comprised variability and commonality in effective ways due to large sizes of products that continue to be developed. SPL testing requires a technique that is capable to manage SPL core assets. Model-based Testing (MBT) is a promising technique that offers automation and reusability in test cases generation. However, there are difficulties to ensure testing in MBT can achieve good test cases generation results based on cost (size of test suite, total execution time) and effectiveness (coverage criteria, fault detection rate) measures. This is due to lack of trade-off between cost and effectiveness in test cases generated in MBT for SPL. This study aims to increase quality of test cases based on cost and effectiveness by using generation and prioritization approaches for MBT in SPL. This study focuses on three parts to enhance quality of test cases. First, test model development based on traceability link. In order to improve test cases quality, this study focused on implementation of hybrid-based and hyper-heuristic based techniques to generate test cases. This is followed by Test Cases Prioritization (TCP) technique that is based on dissimilarity-based technique with string distance. These test cases generation and prioritization approaches are evaluated by using two benchmarks - one test object and one real object. The results are compared with other prominent approaches. The mapping approach showed 10.27% and 32.39% f-measure improvement against existing approach on e-shop object, respectively. For test cases generation using hybrid-based approach, the proposed approach outperformed existing approaches with 11.66% coverage, 17.78% average execution time, and 45.98% average size of test suite on vending machine object. The hyper-heuristic based approach NSGA-II-LHH outperformed other proposed low-level heuristic approaches with 12.00% improvement on coverage, 46.66% average execution time and 42.54% average size of test suite. Furthermore, evaluation of TCP approaches showed fault detection improvement of 21.60%, 10.40% and 12.20% and total execution time improvement of 48.00%, 22.70% and 31.80% in comparison with three existing approaches. The results revealed that proposed model transformations, test cases generation and prioritization approaches significantly improve cost and effectiveness measure in MBT for SPL

    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

    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

    Pattern-Based Systems Engineering (PBSE) - Product lifecycle Management (PLM) integration and validation

    Get PDF
    Mass customization, small lot sizes, reduced cost, high variability of product types and changing product portfolio are characteristics of modern manufacturing systems during life cycle. A direct consequence of these characteristics is a more complex system and supply chain. Product lifecycle management (PLM) and model based system engineering (MBSE) are tools which have been proposed and implemented to address different aspects of this complexity and resulting challenges. Our previous work has successfully implemented a MBSE model into a PLM platform. More specifically, Pattern based system engineering (S* pattern) models of systems are integrated with TEAMCENTER to link and interface system level with component level, and streamline the lifecycle across disciplines. The benefit of the implementation is two folded. On one side it helps system engineers using system engineering models enable a shift from learning how to model to implementing the model, which leads to more effective systems definition, design, integration and testing. On the other side the PLM platform provides a reliable database to store legacy data for future use also track changes during the entire process, including one of the most important tools that a systems engineer needs which is an automatic report generation tool. In the current work, we have configured a PLM platform (TEAMCENTER) to support automatic generation of reports and requirements tables using a generic Oil Filter system lifecycle. There are three tables that have been configured for automatic generation which are Feature definitions table, Detail Requirements table and Stakeholder Feature Attributes table. These tables where specifically chosen as they describe all the requirements of the system and cover all physical behaviours the oil filter system shall exhibit during its physical interactions with external systems. The requirement tables represent core content for a typical systems engineering report. With the help of the automatic report generation tool, it is possible to prepare the entire report within one single system, the PLM system, to ensure a single reliable data source for an organization. Automatic generation of these contents can save the systems engineers time, avoid duplicated work and human errors in report preparation, train future generation of workforce in the lifecycle all the while encouraging standardized documents in an organization

    Fundamental Approaches to Software Engineering

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 23 full papers, 1 tool paper and 6 testing competition papers presented in this volume were carefully reviewed and selected from 81 submissions. The papers cover topics such as requirements engineering, software architectures, specification, software quality, validation, verification of functional and non-functional properties, model-driven development and model transformation, software processes, security and software evolution

    Developing Unobtrusive Mobile Interactions: a Model Driven Engineering approach

    Full text link
    In Ubiquitous computing environments, people are surrounded by a lot of embedded services. With the inclusion of pervasive technologies such as sensors or GPS receivers, mobile devices turn into an effective communication tool between users and the services embedded in their environment. All these services compete for the attentional resources of the user. Thus, it is essential to consider the degree in which each service intrudes the user mind when services are designed. In order to prevent service behavior from becoming overwhelming, this work, based on Model Driven Engineering foundations, is devoted to develop services according to user needs. In this thesis, we provide a systematic method for the development of mobile services that can be adapted in terms of obtrusiveness. That is, services can be developed to provide their functionality at different obtrusiveness levels by minimizing the duplication of efforts. For the system specification, a modeling language is defined to cope with the particular requirements of the context-aware user interface domain. From this specification, following a sequence of well-defined steps, a software solution is obtained.Gil Pascual, M. (2010). Developing Unobtrusive Mobile Interactions: a Model Driven Engineering approach. http://hdl.handle.net/10251/12745Archivo delegad
    corecore