Little languages: little maintenance
Journal of Software Maintenance: Research and Practice
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
Building Application Generators
IEEE Software
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
A Domain Specific Language (DSL) is used as a means for comprehensively representing information of specific domain using higher levels of abstraction. They have been leveraged to model, store and retrieve domain knowledge using familiar and simple syntax. Generators written around DSL help in interpreting or translating the DSL into target environment. Transaction oriented Commercial Applications are ideal candidates for such DSL representations as they are complex in nature and demand lot of experiential knowledge for abstracting such application requirements. Generators around such DSL can help in reducing the development efforts as well as in minimizing manual errors. Application models created using DSL can easily be reused and can help in building comprehensive application repositories. By continuously refining the Generators, DSL can sustain changes across technology, architectures and implementation platforms. In this paper we share our experience over a decade on developing DSL and associated generators for modeling transaction based commercial applications. We also highlight our conclusions towards productivity, usability and maintainability of such DSL related initiatives.