A framework for application generator design

Abstract
Application generators have been demonstrated as a successful approach to achieving software reuse and typicafly yields higher productivity gains than methods such as component-based reuse. Despite their advantages, industrial software developers are reluctant to adopt these methods due to the lack of tools for constructing generators. This paper presents a framework for the development of application generators. This framework provides a structured design approach and automatic tools for design. The framework consists of a two level design process: The first level is the identification of operations that expresses the fundamental computations of the application domain. The second level is the design of a domainspecific language which allows one to express variations within a family of applications. The domain-specific language is implemented in terms of the operations defined by the first level. We show that the uniform application of partial evaluation enables automatic application generation from a micro-program to its implementation. This framework has been developed in the context of reaf applications in areas such as Internet services and digital television, and is being developed in conjunction with industrial partners.