TY - GEN
T1 - First-class domain specific aspect languages
AU - Hadas, Arik
AU - Lorenz, David H.
PY - 2015/3/16
Y1 - 2015/3/16
N2 - Programming in a domain specific aspect language (DSAL) typically involves some language workbench for transforming the DSAL code and some AOP composition framework for weaving the transformed code. However, DSAL development remains second-class in two respects. Unlike programming in a general purpose aspect language, compiling DSAL code requires preprocessing that makes the program source code incompatible with existing AOP tools. Unlike defining a domain specific language, defining a DSAL requires weaving semantics whose specification is not supported in the language workbench. In this work we present a DSAL workbench solution in which DSALs are first-class DSLs as well as first-class AOP languages. We illustrate the approach by integrating the Spoofax language workbench and the AWESOME composition framework into such a DSAL workbench.
AB - Programming in a domain specific aspect language (DSAL) typically involves some language workbench for transforming the DSAL code and some AOP composition framework for weaving the transformed code. However, DSAL development remains second-class in two respects. Unlike programming in a general purpose aspect language, compiling DSAL code requires preprocessing that makes the program source code incompatible with existing AOP tools. Unlike defining a domain specific language, defining a DSAL requires weaving semantics whose specification is not supported in the language workbench. In this work we present a DSAL workbench solution in which DSALs are first-class DSLs as well as first-class AOP languages. We illustrate the approach by integrating the Spoofax language workbench and the AWESOME composition framework into such a DSAL workbench.
KW - Aspect oriented programming (AOP)
KW - Domain specific aspect language (DSAL)
KW - Domain specific language (DSL)
KW - Language workbench
UR - http://www.scopus.com/inward/record.url?scp=84940506033&partnerID=8YFLogxK
U2 - 10.1145/2735386.2735929
DO - 10.1145/2735386.2735929
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:84940506033
T3 - ACM International Conference Proceeding Series
SP - 29
EP - 30
BT - 14th International Conference on Modularity, MODULARITY Companion 2015 - Proceedings
PB - Association for Computing Machinery
T2 - 14th International Conference on Modularity, MODULARITY 2015
Y2 - 16 March 2015 through 19 March 2015
ER -