Next: Unix pipelines
Up: Reuse
Previous: Subroutine libraries
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