Skip to main content
  • Book
  • © 2017

Mastering Software Variability with FeatureIDE

  • 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

  • Includes supplementary material: sn.pub/extras

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-61443-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 59.99
Price excludes VAT (USA)
Hardcover Book USD 79.99
Price excludes VAT (USA)

This is a preview of subscription content, access via your institution.

Table of contents (19 chapters)

  1. Front Matter

    Pages i-xii
  2. Introduction

    1. Front Matter

      Pages 1-1
    2. Software Variability

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 3-10
    3. Getting Started

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 11-17
    4. FeatureIDE in a Nutshell

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 19-29
    5. An Elevator as a Running Example

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 31-39
  3. Tool Support for Feature Modeling and Configuration

    1. Front Matter

      Pages 41-41
    2. Feature Modeling

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 43-62
    3. Product Configuration

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 63-71
    4. Feature Traceability in Feature Models and Configurations

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 73-80
    5. Quality Assurance for Feature Models and Configurations

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 81-94
  4. Tool Support for Conditional Compilation

    1. Front Matter

      Pages 95-95
    2. Conditional Compilation with FeatureIDE

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 97-103
    3. Developing an Elevator with Conditional Compilation

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 105-121
    4. Feature Traceability for Conditional Compilation

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 123-130
    5. Quality Assurance for Conditional Compilation

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 131-139
  5. Tool Support for Feature-Oriented Programming

    1. Front Matter

      Pages 141-141
    2. Feature-Oriented Programming with FeatureIDE

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 143-154
    3. Developing an Elevator with Feature-Oriented Programming

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 155-171
    4. Feature Traceability for Feature-Oriented Programming

      • Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 173-181

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

Keywords

  • Software product lines
  • Software engineering
  • Software variability
  • Software development
  • Software quality assurance

Reviews

“This is a very useful, practical manual specifically for students of FOP, aspect-oriented programming (AOP), domain modeling, and variability modeling who are interested in learning about state-of-the-art tools and products in these areas. … I would strongly recommend this book for students, researchers, software developers, and other practitioners in the fields of FOP software development, AOP, and product engineering for industrial projects.” (Sajjad Khan, Computing Reviews, March, 2018)

​ “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)

Authors and Affiliations

  • Carnegie Mellon University, Pittsburgh, USA

    Jens Meinicke

  • TU Braunschweig , Braunschweig, Germany

    Thomas Thüm

  • Otto-von-Guericke Universität Magdeburg, Magdeburg, Germany

    Reimar Schröter, Fabian Benduhn, Gunter Saake

  • Hochschule Harz, Wernigerode, Germany

    Thomas Leich

About the authors

Jens Meinicke is a PhD student at University of Magdeburg, Germany. Since 2011 he has developed FeatureIDE as a programmer and a researcher, and since fall 2016 he is working at Carnegie Mellon University in Pittsburgh as Visiting Researcher.

Thomas Thüm is a postdoctoral researcher at TU Braunschweig, Germany. In 2010, his master thesis had received the Software Engineering Award 2011 of the Ernst-Denert-Foundation, and in 2015, he received the Dissertation Award of the University of Magdeburg. He made substantial contributions to the source code between 2007 and 2010. Since then, he manages the development and releases of FeatureIDE.

Reimar Schröter is a PhD student at University of Magdeburg, Germany. Since 2012, he has been responsible for the integration of several extensions into FeatureIDE. He supervised courses in which students used FeatureIDE for product-line development and extend with new functionalities.

Fabian Benduhn is a PhD student at University of Magdeburg, Germany. He has contributed to the development of FeatureIDE, used it for teaching, and has been involved in preparing FeatureIDE for industrial application together with METOP GmbH.

Thomas Leich is Professor for Requirements Engineering at Harz University of Applied Sciences in Wernigerode, Germany. He is also Executive Director of METOP GmbH, an affiliate institute to the University of Magdeburg. Since 2001 he worked for several DAX 30 companies as consultant and software architect. In 2004, he initiated FeatureIDE as a part of the FeatureC++ project at the University of Magdeburg. Until today he is responsible for industrial extensions and consulting of FeatureIDE.

Gunter Saake is Professor for Databases and Software Engineering at University of Magdeburg, Germany. He has more than 200 publications covering various areas of data base management, formal methods, and software engineering. He is the author of several basic and graduate text books on database technology and an introductory book for computer science students. He is also co-author of the book “Feature-Oriented Software Product Lines” (Springer, 2013) presenting the foundations of feature-oriented software product-line engineering.

Bibliographic Information

  • Book Title: Mastering Software Variability with FeatureIDE

  • Authors: Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake

  • DOI: https://doi.org/10.1007/978-3-319-61443-4

  • Publisher: Springer Cham

  • eBook Packages: Computer Science, Computer Science (R0)

  • Copyright Information: Springer International Publishing AG 2017

  • Hardcover ISBN: 978-3-319-61442-7

  • Softcover ISBN: 978-3-319-87080-9

  • eBook ISBN: 978-3-319-61443-4

  • Edition Number: 1

  • Number of Pages: XII, 243

  • Number of Illustrations: 20 b/w illustrations, 30 illustrations in colour

  • Topics: Software Engineering, Software Management

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-61443-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 59.99
Price excludes VAT (USA)
Hardcover Book USD 79.99
Price excludes VAT (USA)