Closing the Gap between Modelling and Java

Model-Driven Software Development is based on standardised
models that are refined, transformed and eventually translated into
executable code using code generators. However, creating plain text from
well-structured models creates a gap that implies several drawbacks: Developers
cannot continue to use their model-based tool machinery, relations
between model elements and code fragments are hard to track and
there is no easy way to rebuild models from their respective code.
This paper presents an approach to bridge this gap for the Java programming
language. It defines a full metamodel and text syntax specification
for Java, from which a parser and a printer are generated. Through this,
Java code can be handled like any other model. The implementation is
validated with large test sets, example applications are shown, and future
directions of research are discussed.