Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality

https://doi.org/10.1016/j.entcs.2004.09.039Get rights and content
Under a Creative Commons license
open access

Abstract

We work through a sequence of evolution scenarios for language-based functionality implemented as rule-based programs. We identify and illustrate different dimensions along which such functionality can evolve, including the following: (i) coding style; (ii) coding details; (iii) data model; (iv) crosscutting concerns; and (v) patches.

We focus at language interpreters as examples of language-based functionality, but similar scenarios exist for type checkers, static analyses, program transformations, and other sorts of language-based functionality. We opt for Prolog as the rule-based programming language used for the implementation of language-based functionality. We employ the Prolog-based Rule Evolution Kit (REK) for the operationalisation of the evolution scenarios by means of evolutionary transformations.

We compile a list of exercises that are meant to help with the digestion of the scenarios and with the further exploration of the overall subject.

Keywords

evolution
evolutionary transformations
rule-based programming
language interpreters
language-based functionality
SOS
meta-programming
Prolog
REK

Cited by (0)