WG211/M3Smaragdakis

From WG 2.11
Revision as of 11:06, 12 December 2011 by Admin (talk | contribs) (1 revision)
Jump to: navigation, search


Yannis Smaragdakis Title: Easy Non-Intrusive Java Language Extensions with MAJ
Speaker: Yannis Smaragdakis

Slides: [[http://pub.smart-generators.org/M3Schedule/yannis-smaragdakis-ifip06.pdf .pdf]]

Abstract:
Domain-specific languages hold the potential of automating the software development process. Nevertheless, the adoption of a domain-specific language is hindered by the difficulty of transitioning to different language syntax and employing a separate translator in the software build process. We present a methodology that simplifies the development and deployment of small language extensions, in the context of Java. The main language design principle is that of language extension through unobtrusive annotations. The main language implementation idea is to express the language as a generator of customized AspectJ aspects, using our Meta-AspectJ tool. The advantages of the approach are twofold. First, the tool integrates into an existing software application much as a regular API or library, instead of as a language extension. This means that the programmer can remove the language extension at any point and choose to implement the required functionality by hand without needing to rewrite the client code. Second, a mature language implementation is easy to achieve with little effort since AspectJ takes care of the low-level issues of interfacing with the base Java language.