Evolution of rule-based programs

Authors: 
Lammel, R
Author: 
Lammel, R
Year: 
2004
Venue: 
Journal of Logic and Algebraic Programming
URL: 
http://linkinghub.elsevier.com/retrieve/pii/S1567832604000293
Citations: 
14
Citations range: 
10 - 49

The term rule-based program is meant to include definite clause programs, SOS specifications, attribute grammars, and conditional rewrite systems. These setups are widely used for the executable specification or implementation of language-based tools, e.g., interpreters, translators, type checkers, program analysers, and program transformations.
We provide a pragmatic, transformation-based approach for expressing and tracking changes in rule-based programs in the course of program evolution. To this end, we design an operator suite for the transformation of rule-based programs. The operators facilitate steps for clean-up, refactoring, and enhancement. We use SOS-based interpreter examples to illustrate evolution of rule-based programs. We use logic programming to execute the examples, while the relevant evolution operators are made available as logic meta-programs.