Project background Research in program families and domain analysis study techniques for building families of similar software. Besides high re-use, easy maintenance and productivity gains, DSLs also offer more opportunities for checking program properties. The Compose group has developed a methodology for designing and developing efficient implementations of domain-specific languages. In this framework, a DSL is implemented with an interpreter which is then turned automatically into a compiler via partial evaluation. The interpreter offers easy development and adaptability while partial evaluation provides efficiency.
Partial evaluation is the process that automates program specialization.
In particular, specializing an interpreter with respect to a given program yields a compiled program where the interpretation layer has been removed. The Compose group has developed a partial evaluator for C programs, named Tempo Specializer. This involves both theoretical and practical aspects as the efficiency gained by partial evaluation must be retained and guaranteed. Extensions of the partial evaluation principles and their implementation in Tempo are possible. The Compose group Compose is one of the leading groups in partial evaluation.