Journal:Informatica
Volume 24, Issue 2 (2013), pp. 315–337
Abstract
We consider a generalization of heterogeneous meta-programs by (1) introducing an extra level of abstraction within the meta-program structure, and (2) meta-program transformations. We define basic terms, formalize transformation tasks, consider properties of meta-program transformations and rules to manage complexity through the following transformation processes: (1) reverse transformation, when a correct one-stage meta-program M1 is transformed into the equivalent two-stage meta-meta-program M2; (2) two-stage forward transformations, when M2 is transformed into a set of meta-programs, and each meta-program is transformed into a set of target programs. The results are as follows: (a) formalization of the transformation processes within the heterogeneous meta-programming paradigm; (b) introduction and approval of equivalent transformations of meta-programs into meta-meta-programs and vice versa; (c) introduction of metrics to evaluate complexity of meta-specifications. The results are approved by examples, theoretical reasoning and experiments.
Journal:Informatica
Volume 20, Issue 4 (2009), pp. 555–578
Abstract
ASPECTJ and composition filters are well-known influential approaches among a wide range of aspect-oriented programming languages that have appeared in the last decade. Although the two approaches are relatively mature and many research works have been devoted to their enhancement and use in practical applications, so far, there has been no attempt that aims at comparing deeply the two approaches. This article is a step towards this comparison; it proposes a mapping between ASPECTJ and Composition filters that put to the test the two approaches by confronting and relating their concepts. Our work shows that the mapping is neither straightforward nor one-to-one despite the fact that the two approaches belong to the same category and provide extension of the same Java language.