Generative Programming

Program-Transformation.Org: The Program Transformation Wiki
Here are some definitions of generative programming.

  1. The goal of generative programming is to replace manual search, adaptation, and assembly of components with the automatic generation of needed components on demand [from the call for papers of GP2002 at ICSR7].
  2. The goal of generative and component-based software engineering is to increase the productivity, quality, and time-to-market in software development thanks to the deployment of both standard componentry and production automation. One important paradigm shift implied here is to build software systems from standard componentry rather than "reinventing the wheel" each time. This requires thinking in terms of system families rather than single systems. Another important paradigm shift is to replace manual search, adaptation, and assembly of components with the automatic generation of needed components on demand. Generative and component-based software engineering seeks to integrate domain engineering approaches, component-based approaches, and generative approaches. [from GCSE working group page]
  3. Generative programming is a software engineering paradigm based on modeling software families such that, given a particular requirements specification, a higly customized and optimized intermediate or end-product can be automatically manufactured on demand from elementary, reusable implementation components by means of configuration knowledge. [from the GenerativeProgrammingBook]

The GenerativeProgrammingWiki is devoted to Generative Programming.


CategoryGenerativeProgrammingWiki