Managing Variability in Software Architectures

Abstract

This paper presents experience with explicitly managing variability within a software architecture. Software architects normally plan for change and put mechanisms in the architecture to support those changes. Understanding the situations where change has been planned for and recording the options possible within particular situations is usually not done explicitly. This becomes important if the architecture is used for many product versions over a long period or in a product line context where the architecture is used to build a variety of different products. That is, it is important to explicitly represent variation and indicate within the architecture locations for which change has been allowed. We will describe how the management of variations in an architecture can be made more explicit and how the use of variation points connected to the choices a customer has when ordering a product can help to navigate to the appropriate places in the architecture.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2001
Accession Number
ADA631354

Entities

People

  • Felix H. Bachmann
  • Len Bass

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies
  • Engineered Resilient Systems
  • Human Systems

DTIC Thesaurus Topics

  • Abstracts
  • Automobiles
  • Computer Programming
  • Configuration Management
  • Distributors
  • Engineering
  • Frequency
  • Generators
  • Language
  • Notation
  • Object Code
  • Operating Systems
  • Programming Languages
  • Software Design
  • Software Development
  • User Interface
  • Web Browsers

Fields of Study

  • Computer science
  • Engineering

Readers

  • Enterprise Information Systems Architecture and Joint Command Capability Interoperability Support.
  • Regression Analysis.
  • Systems Analysis and Design