Advertisement

Mastering Software Variability with FeatureIDE

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

Table of contents

  1. Front Matter
    Pages i-xii
  2. Introduction

    1. Front Matter
      Pages 1-1
    2. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 3-10
    3. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 11-17
    4. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 19-29
    5. 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. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 43-62
    3. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 63-71
    4. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 73-80
    5. 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. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 97-103
    3. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 105-121
    4. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 123-130
    5. 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. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 143-154
    3. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 155-171
    4. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 173-181
    5. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 183-195
  6. Further Tool Support in FeatureIDE

    1. Front Matter
      Pages 197-197
    2. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 199-210
    3. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 211-225
    4. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake
      Pages 227-234
  7. Back Matter
    Pages 235-243

About this book

Introduction

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

Authors and affiliations

  • Jens Meinicke
    • 1
  • Thomas Thüm
    • 2
  • Reimar Schröter
    • 3
  • Fabian Benduhn
    • 4
  • Thomas Leich
    • 5
  • Gunter Saake
    • 6
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.TU Braunschweig BraunschweigGermany
  3. 3.Otto-von-Guericke Universität MagdeburgMagdeburgGermany
  4. 4.Otto-von-Guericke Universität MagdeburgMagdeburgGermany
  5. 5.Hochschule HarzWernigerodeGermany
  6. 6.Otto-von-Guericke Universität MagdeburgMagdeburgGermany

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-319-61443-4
  • Copyright Information Springer International Publishing AG 2017
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science
  • Print ISBN 978-3-319-61442-7
  • Online ISBN 978-3-319-61443-4
  • Buy this book on publisher's site