next up previous
Next: Unix pipelines Up: Reuse Previous: Subroutine libraries

Application generators

provide an abstraction mechanism to give access to an underlying subroutine library. Programming language compilers and application generators have much in common. The former compiles a program into machine code that may call routines from a run-time system to perform common tasks such as, for instance, stack and memory management, run-time checking, and input/output. The latter takes a concise application description as input and generates executable code, containing calls to the underlying subroutine library. Application descriptions are typically very high-level and designed for specialized, narrow, application domains. Application generators extend ordinary subroutine libraries by automating common usage patterns of the library and hiding implicit dependencies between routines. Application generators have been applied successfully in areas like compiler construction, user-interfaces, and databases (Cleaveland, 1988; Horowitz et al., 1985) and they have a close relationship with Domain Specific Languages (see Section 3.2) and application frameworks (Fayad & Schmidt, 1997).



Paul Klint 2001-06-12