Refactoring of Heterogeneous Meta-Program into k-stage Meta-Program

V. Štuikys, K. Bespalova, R. Burbaitė


The paper presents: (1) a graph-based theoretical background to refactoring a correct heterogeneous meta-program into its k-stage representation; (2) the refactoring method; (3) refactoring experiments with tasks taken from different domains, including real world tasks, such as meta-programs to teach Computer Science (CS) topics using educational robots. Refactoring meta-programs by staging enables to flexibly adapt them to the different context of use. To do that (semi-)automatically, we use the contextual information as a priority relation (e.g. highest, lowest, etc.) introduced within the meta-program specification. We implement the refactoring method using the so-called activating/de-activating label (index) to change the role of meta-language constructs at different stages. The contribution of the paper is: (1) applying the known (in programming) staging concept to heterogeneous meta-programming; (2) a theoretical background, properties and the method to solve tasks of this kind of refactoring.



refactoring; meta-program; meta-parameter; meta-programming; multi-stage heterogeneous meta-program

Full Text: PDF

Print ISSN: 1392-124X 
Online ISSN: 2335-884X