Limit search to available items
Book Cover
E-book

Title Mastering software variability with FeatureIDE / Jens Meinicke [and others]
Published Cham : Springer, 2017

Copies

Description 1 online resource
Contents Foreword by Don Batory -- Preface -- Contents -- Part I Introduction -- 1 Software Variability -- 1.1 What Is Software Variability? -- 1.2 Variability Implementation Mechanisms -- Clone-and-Own -- Runtime Variability -- Conditional Compilation -- Frameworks, Components, and Services -- Feature-Oriented Programming -- Aspect-Oriented Programming -- 1.3 Mastering Variability with FeatureIDE -- 1.4 Structure of the Book -- 2 Getting Started -- 2.1 Download and Installation of Java -- 2.2 Download of FeatureIDE -- 2.3 Installation of FeatureIDE
Download and Setup of EclipseInstallation of Eclipse Plug-Ins -- Installation of FeatureIDE Plug-Ins -- 2.4 Summary -- 3 FeatureIDE in a Nutshell -- 3.1 Opening the FeatureIDE Perspective -- 3.2 Loading FeatureIDE Examples -- 3.3 Structure of FeatureIDE Projects -- 3.4 Modeling Variability with Feature Models -- 3.5 Implementation of Software Variability -- 3.6 Creating Configurations -- 3.7 Product Generation and Execution -- 3.8 Summary and Further Reading -- 4 An Elevator as a Running Example -- 4.1 Creating the Elevator
4.2 Execution of the Running Example4.3 Summary and Further Reading -- Part II Tool Support for Feature Modeling and Configuration -- 5 Feature Modeling -- 5.1 Creation of Feature Models -- Adding Features to Feature Models -- 5.2 Modeling Tree Constraints -- 5.3 Modeling Cross-Tree Constraints -- Final Feature Model -- 5.4 Visualizing Large Feature Models -- Collapsing of Subtrees -- Layouting Feature Models -- Feature Model Outline -- 5.5 Importing and Exporting Feature Models -- Printing a Feature Model
Handling Diverse File Formats with the Feature Model Editor5.6 Further Pages of the Feature Model Editor -- Feature Order -- Source Page -- 5.7 Summary and Further Reading -- 6 Product Configuration -- 6.1 Creating Configurations -- Set Current Configuration -- 6.2 Editing Configurations -- Feature Deselection -- 6.3 Summary and Further Reading -- 7 Feature Traceability in Feature Models and Configurations -- 7.1 Tracing Features in the Feature Model -- 7.2 Tracing Features in Configurations -- 7.3 Summary and Further Reading
8 Quality Assurance for Feature Models and Configurations8.1 Quality Assurance for Feature Models Using the Editor -- Detecting Void Feature Models -- Detecting Dead Features -- Detecting False-Optional Features -- Detecting Redundant Cross-Tree Constraints -- Activating and Deactivating Automated Analyses -- 8.2 Quality Assurance Based on FeatureIDE's Statistics View -- Feature Statistics About Direct Visible Aspects -- Feature Model Statistics About Analysis Results -- 8.3 Quality Assurance for Configurations
Summary This book is a self-contained, practical introduction how to use FeatureIDE for modeling and implementing variable systems. In particular, readers learn how to analyze domains using feature models, specify requirements in form of configurations, and how to generate code based on conditional compilation and feature-oriented programming. Given the interactive style of the book, readers can directly try out the open-source development environment. All code examples are available in the standard distribution on GitHub and can immediately been used for individual modifications. Each part of the book is presented as a step-by-step tutorial and additionally illustrated using an ongoing example of elevator control software written in Java. Written by the core development team of FeatureIDE, this book is suitable for students using a tool for deepening the theoretical foundations of variability modeling and implementation, and as a reference for practitioners needing a stable and scalable tool for industrial applications. FeatureIDE is the most used open-source tool for feature modeling and has been continuously improved since 2004. The success of FeatureIDE is due to being a vehicle for cutting-edge product-line research by still providing an easy-to-use and seamless integration into Eclipse. FeatureIDE is a much needed and necessary step forward. It presents the analyses and amenities that one might/should see in next-generation SPL tooling. I have used FeatureIDE for many years and am very-pleased to see SPL research ideas come to life. - Don Batory, The University of Texas at Austin, USA Features and Benefits Offers a step-by-step tutorial on FeatureIDE, an open-source Eclipse plug-in for software product-line engineering used in industrial projects Written by the core development team of FeatureIDE for both practitioners and students Illustrates all relevant topics and issues using a running example of elevator control software
Bibliography Includes bibliographical references and index
Subject Computer software -- Development.
COMPUTERS -- Software Development & Engineering -- Tools.
Computer software -- Development
Form Electronic book
Author Meinicke, Jens
ISBN 9783319614434
3319614436