Generation And Configuration Literature

Sgc04
See the Taxonomy of Generation and Configuration Approaches


Table of Contents


People


Software Variability

Feature models

Software product lines

  • Don Batory. Product-Line Architectures. Invited presentation, Smalltalk und Java in Industrie and Ausbildung, Erfurt, Germany, October 1998.

Feature-oriented programming


Component Frameworks and Composition Mechanisms

Component Systems

  • Java Beans
  • CORBA
  • COM

Architecture Systems

  • Unicon
  • ACME
  • Darwin

  • Composition filters

Invasive Software Composition

  • Compost


Domain- and Model-Driven Approaches

Model-driven architecture


Domain-Specific Languages and Generators

Program Synthesis

  • FFTW

Generative programming

Application Generators

The GenVoca? Model and P++

Active libraries and domain-specific optimization

  • Broadway
    • Broadway: A Compiler for Exploiting the Domain-Specific Semantics of Software Libraries, Calvin Lin (U. Texas) and Samuel Z. Guyer (U. Texas)

  • Techniques for Matlab compilation, Luiz DeRose? (IBM Research) and George Almasi (IBM Research)

  • Domain Specific Compiler Techniques, Franz Franchetti, Stefan Kral, Juergen Lorenz, Christoph W. Ueberhuber (all University of Technology, Vienna)

  • Telescoping Languages, A System for Automatic Generation of Domain Languages, Ken Kennedy, Bradley Broom, Arun Chauhan, Rob Fowler, Chuck Koelbel, Cheryl McCosh? , and John Mellor-Crummey (all Rice University)

Attribute Programming

Intentional Programming

Extensible Languages


Interpreters and Partial Evaluation

Partial evaluators

  • DyC - The UW Dynamic Compilation Project

Template meta-programming

  • MetaAspectJ?

  • C++ templates

Multi-stage programming


Separation of Concerns

Adaptive programming

  • Demeter

Aspect-oriented programming

  • AspectJ? : aspect language on top of Java

  • Splice: aspects with data-flow analysis

  • Inject/J: weaving scripts

Subject-Oriented Programming

Hyperspace Programming

  • HyperJ?

Strategic programming

Generic programming

  • Polytypic programming
  • Generic Haskell


Program Transformation

  • Invasive software composition
  • Optimization
  • Instrumentation