Taxonomy of the fundamental concepts of metaprogramming

R Damaševičius, V Štuikys - Information Technology and Control, 2008 - itc.ktu.lt
Although widely used in software engineering, metaprogramming is often misunderstood.
The researchers often disagree what concepts characterize metaprogramming. The …

A type system for reflective program generators

D Draheim, C Lutteroth, G Weber - International Conference on Generative …, 2005 - Springer
In this paper we describe a type system for a generative mechanism that generalizes the
concept of generic types by combining it with a controlled form of reflection. This mechanism …

Backstage Java: making a difference in metaprogramming

Z Palmer, SF Smith - ACM SIGPLAN Notices, 2011 - dl.acm.org
We propose Backstage Java (BSJ), a Java language extension which allows algorithmic,
contextually-aware generation and transformation of code. BSJ explicitly and concisely …

Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system

S Macdonald, K Tan, J Schaeffer… - ACM Transactions on …, 2009 - dl.acm.org
In the design phase of software development, the designer must make many fundamental
design decisions concerning the architecture of the system. Incorrect decisions are relatively …

Reflective designs

R Hirschfeld, R Lämmel - IEE Proceedings-Software, 2005 - IET
The authors render runtime system adaptations by design-level concepts such that running
systems can be adapted and examined at a higher level of abstraction. The overall idea is to …

AP1: A platform for model-based software engineering

C Lutteroth - International Conference on Trends in Enterprise …, 2006 - Springer
This paper gives an overview of the AP1 system, which is a platform for model-based CASE
tools. AP1 is a set of libraries and tools that support different activities in the software …

[图书][B] Unifying aspect-and object-oriented program design

H Rajan - 2005 - search.proquest.com
The dominant family of aspect-oriented programming (AOP) languages, namely the family of
languages based on the AspectJ model, provides aspects as a new abstraction mechanism …

A type system for reflective program generators

C Lutteroth, D Draheim, G Weber - Science of Computer Programming, 2011 - Elsevier
We describe a type system for a generative mechanism that generalizes the concept of
generic types by combining it with a controlled form of reflection. This mechanism makes …

Metaprogramming in Ruby: a pattern catalog

S Günther, M Fischer - Proceedings of the 17th Conference on Pattern …, 2010 - dl.acm.org
Modern programming languages provide extensive metaprogramming facilities. We
understand metaprogramming as the utilization and modification of available language …

Addressing common crosscutting problems with arcum

M Shonle, WG Griswold, S Lerner - … of the 8th ACM SIGPLAN-SIGSOFT …, 2008 - dl.acm.org
Crosscutting is an inherent part of software development and can typically be managed
through modularization: A module's stable properties are defined in an interface while its …