Overview of generative software development

  • Authors:
  • Krzysztof Czarnecki

  • Affiliations:
  • University of Waterloo, Canada

  • Venue:
  • UPP'04 Proceedings of the 2004 international conference on Unconventional Programming Paradigms
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

System family engineering seeks to exploit the commonalities among systems from a given problem domain while managing the variabilities among them in a systematic way. In system family engineering, new system variants can be rapidly created based on a set of reusable assets (such as a common architecture, components, models, etc.). Generative software development aims at modeling and implementing system families in such a way that a given system can be automatically generated from a specification written in one or more textual or graphical domain-specific languages. This paper gives an overview of the basic concepts and ideas of generative software development including DSLs, domain and application engineering, generative domain models, networks of domains, and technology projections. The paper also discusses the relationship of generative software development to other emerging areas such as Model Driven Development and Aspect-Oriented Software Development.