Table of contents
About this book
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
Software product lines Software engineering Software variability Software development Software quality assurance