Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Groovy in Action
ReLAx: implementing KALA over the reflex AOP kernel
Proceedings of the 2nd workshop on Domain specific aspect languages
COLCOM '07 Proceedings of the 2007 International Conference on Collaborative Computing: Networking, Applications and Worksharing
The art of the meta-aspect protocol
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Untangling crosscutting concerns in domain-specific languages with domain-specific join points
Proceedings of the 4th workshop on Domain-specific aspect languages
An architecture for composing embedded domain-specific languages
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
A meta-aspect protocol for developing dynamic analyses
RV'10 Proceedings of the First international conference on Runtime verification
Design principles for internal domain-specific languages: a pattern catalog illustrated by Ruby
Proceedings of the 17th Conference on Pattern Languages of Programs
Hi-index | 0.00 |
Domain-specific aspect languages allow defining aspects for a certain problem domain faster and easier by providing specialized expressivity and by reducing the complexity of the language interface. However, providing domain-specific aspect languages is a rather complex task. With current approaches only specialists can build new domain specific aspect languages; in doing so they have to replicate large parts of the tool set. In this paper, we have extended a general-purpose aspect language to support embedded domain-specific syntax in the advice language. The approach has several advantages. First, it allows reusing a large part of existing tools and infrastructure. Second domain-specific extensions can be defined in separated modules, which can be dynamically linked into the advice language; these modules can be inherited from, they can be refined from existing implementations, and can be composed to support abstractions from different domains.