Technische Universität Braunschweig
  • Study & Teaching
    • Beginning your Studies
      • Prospective Students
      • Degree Programmes
      • Application
      • Fit4TU
      • Why Braunschweig?
    • During your Studies
      • Fresher's Hub
      • Term Dates
      • Courses
      • Practical Information
      • Beratungsnavi
      • Additional Qualifications
      • Financing and Costs
      • Special Circumstances
      • Health and Well-being
      • Campus life
    • At the End of your Studies
      • Discontinuation and Credentials Certification
      • After graduation
      • Alumni
    • For Teaching Staff
      • Strategy, Offers and Information
      • Learning Management System Stud.IP
    • Contact
      • Study Service Centre
      • Academic Advice Service
      • Student Office
      • Career Service
  • Research
    • Research Profile
      • Core Research Areas
      • Clusters of Excellence at TU Braunschweig
      • Research Projects
      • Research Centres
      • Professors‘ Research Profiles
    • Early Career Researchers
      • Support in the early stages of an academic career
      • PhD-Students
      • Postdocs
      • Junior research group leaders
      • Junior Professorship and Tenure-Track
      • Habilitation
      • Service Offers for Scientists
    • Research Data & Transparency
      • Transparency in Research
      • Research Data
      • Open Access Strategy
      • Digital Research Announcement
    • Research Funding
      • Research Funding Network
      • Research funding
    • Contact
      • Research Services
      • Academy for Graduates
  • International
    • International Students
      • Why Braunschweig?
      • Degree seeking students
      • Exchange Studies
      • TU Braunschweig Summer School
      • Refugees
      • International Student Support
      • International Career Service
    • Going Abroad
      • Studying abroad
      • Internships abroad
      • Teaching and research abroad
      • Working abroad
    • International Researchers
      • Welcome Support for International Researchers
      • Service for Host Institutes
    • Language and intercultural competence training
      • Learning German
      • Learning Foreign Languages
      • Intercultural Communication
    • International Profile
      • Internationalisation
      • International Cooperations
      • Strategic partnerships
      • International networks
    • International House
      • About us
      • Contact & Office Hours
      • News and Events
      • International Days
      • 5th Student Conference: Internationalisation of Higher Education
      • Newsletter, Podcast & Videos
      • Job Advertisements
  • TU Braunschweig
    • Our Profile
      • Aims & Values
      • Regulations and Guidelines
      • Alliances & Partners
      • The University Development Initiative 2030
      • Facts & Figures
      • Our History
    • Career
      • Working at TU Braunschweig
      • Vacancies
    • Economy & Business
      • Entrepreneurship
      • Friends & Supporters
    • General Public
      • Check-in for Students
      • CampusXperience
      • The Student House
      • Access to the University Library
    • Media Services
      • Communications and Press Service
      • Services for media
      • Film and photo permits
      • Advices for scientists
      • Topics and stories
    • Contact
      • General Contact
      • Getting here
  • Organisation
    • Presidency & Administration
      • Executive Board
      • Designated Offices
      • Administration
      • Committees
    • Faculties
      • Carl-Friedrich-Gauß-Fakultät
      • Faculty of Life Sciences
      • Faculty of Architecture, Civil Engineering and Environmental Sciences
      • Faculty of Mechanical Engineering
      • Faculty of Electrical Engineering, Information Technology, Physics
      • Faculty of Humanities and Education
    • Institutes
      • Institutes from A to Z
    • Facilities
      • University Library
      • Gauß-IT-Zentrum
      • Professional and Personnel Development
      • International House
      • The Project House of the TU Braunschweig
      • Transfer Service
      • University Sports Center
      • Facilities from A to Z
    • Equal Opportunity Office
      • Equal Opportunity Office
      • Family
      • Diversity for Students
  • Search
  • Quicklinks
    • People Search
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Cafeteria
    • Courses
    • Stud.IP
    • Library Catalogue
    • IT Services
    • Information Portal (employees)
    • Link Collection
    • DE
    • EN
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
    • Bluesky
Menu
  • Organisation
  • Faculties
  • Carl-Friedrich-Gauß-Fakultät
  • Institutes
  • Institute of Software Engineering and Automotive Informatics
  • Teaching
Logo Institut für Softwaretechnik und Fahrzeuginformatik der TU Braunschweig
Software Product Lines
  • Teaching
    • Software Engineering 1
    • Software Engineering 2
    • Software Development Project
    • Team Project
    • Software Product Lines
    • Ramp Up Course Computer Science
    • Bachelor Seminar
    • Master Seminar
    • Theses and Projects

Software Product Lines

  • Software Product Lines Lecturers: Sebastian Krieter, Rahel Sundermann
  • Scope: 2 SWS lecture + 2 SWS tutorial
  • Language: English
  • Abbreviation: SPL

More details about the course can be found in Stud.IP and TUconnect.

 

Contents

Modern software often has to be available on many platforms and adapted to many different user and customer needs. This applies to system software (e.g. operating systems), application software (e.g. word processing and games) and complex cyber-physical systems (e.g. automobiles). The resulting variety of configurations poses challenges for the development, testing, and maintenance of such systems. The lecture Software Product Lines teaches, among other things, how the configurability of systems can be modeled, which implementation techniques allow extensible and configurable software to be developed, and which strategies can still be used for meaningful testing despite an exponential number of variants.

The course includes the following contents:

  • Introduction to software variability and inherent challenges
  • Modeling and analysis of the desired variability
  • Implementing variability at runtime (e.g. configuration options) and compile-time (e.g. clone-and-own)
  • Implementation of software product lines:
    • Implementing features using conditional compilation (e.g. preprocessors and build systems).
    • Modular implementation of features (e.g. components, services and plug-ins)
    • Limitations of object orientation and extensions of object orientation (e.g. feature modules, aspects)
  • Design patterns for software variability
  • Process models for the use and development of software product lines
  • Problems and dealing with feature interactions
  • Methods for static and dynamic quality assurance of software product lines
  • Evolution and maintenance of software product lines
  • Current topics from research and practice

Learning Outcomes and Competences

Students are able to ...

  • identify the limitations of traditional programming techniques with regard to the development of variable software.
  • describe modeling, analysis and configuration of variability in software product lines.
  • apply different implementation techniques for the development of software product lines.
  • evaluate the suitability of presented programming techniques for different development scenarios.
  • explain quality assurance techniques for software product lines and the associated challenges.

Methodical Realization

The lecture provides a theoretical overview of techniques for modeling, implementing and analyzing configurable systems. In the exercise, this knowledge is further deepened through application tasks and practical understanding is promoted through the development of own software product lines with the aid of various programming techniques. Some of the software product lines to be developed can be chosen individually, so that students have the opportunity to gain programming experience in a domain of interest to them.

 

Recommended Proficiencies

Basic knowledge of logic (in particular propositional logic) and software engineering (in particular process models, UML class diagrams, design patterns) as well as programming experience (e.g., in Java) are required.

 

Literature

  • Feature-Oriented Software Product Lines - Concepts and Implementation; Sven Apel, Don Batory, Christian Kästner, Gunter Saake; Springer, 2013
  • Mastering Software Variability with FeatureIDE; Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake; Springer, 2017
Photo credits on this page

For All Visitors

Vacancies of TU Braunschweig
Career Service' Job Exchange 
Merchandising

For Students

Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard

Internal Tools

Glossary (GER-EN)
Change your Personal Data

Contact

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig

P. O. Box: 38092 Braunschweig
GERMANY

Phone: +49 (0) 531 391-0

Getting here

© Technische Universität Braunschweig
Legal Notice Privacy Accessibility

TU Braunschweig uses the software Matomo for anonymised web analysis. The data serve to optimise the web offer.
You can find more information in our data protection declaration.