Abstract
Tool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification can be extended to describe a debugger for a language. To realize this, we introduce a meta-language for coordinating the debugger that abstracts over the complexity of writing a debugger by hand. We describe the implementation of a language-parametric infrastructure for debuggers that can be instantiated based on this specification. The approach is implemented in the Spoofax language workbench and validated through realistic case studies with the Stratego transformation language and the WebDSL web programming language.
- M. Auguston. Building program behavior models. In ECAI Workshop on Spatial and Temporal Reasoning, pages 19--26, 2007.Google Scholar
- M. Bravenboer, K. T. Kalleberg, R. Vermaas, and E. Visser. Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming, 72 (1-2): 52--70, 2008. Google Scholar
Digital Library
- P. Charles, R. M. Fuhrer, S. M. S. Jr., E. Duesterwald, and J. Vinju. Accelerating the creation of customized, language-specific IDEs in eclipse. In S. Arora and G. T. Leavens, editors, Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, 2009. Google Scholar
Digital Library
- J. C. Cleaveland. Building application generators. Softw., 5 (4), 1988. Google Scholar
Digital Library
- S. Efftinge and M. Voelter. oAW xText: A framework for textual DSLs. In Workshop on Modeling Symposium at Eclipse Summit, 2006.Google Scholar
- R. E. Faith, L. S. Nyland, and J. Prins. Khepera: A system for rapid implementation of domain specific languages. In Conference on Domain-Specific Languages, October 15-17, 1997, Santa Barbara, California, USA. USENIX, 1997. Google Scholar
Digital Library
- M. Fowler. Language workbenches: The killer-app for domain specific languages? http://www.martinfowler.com/articles/languageWorkbench.html, 2005.Google Scholar
- M. Fowler. Domain-Specific Languages. Addison Wesley, 2011. Google Scholar
Digital Library
- D. M. Groenewegen, Z. Hemel, and E. Visser. Separation of concerns and linguistic integration in WebDSL. Software, 27 (5), September/October 2010. Google Scholar
Digital Library
- Z. Hemel and E. Visser. Declaratively programming the mobile web with mobl. In Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011. ACM, 2011. Google Scholar
Digital Library
- P. Henriques, M. Pereira, M. Mernik, M. Lenic, J. Gray, and H. Wu. Automatic generation of language-based tools using the LISA system. Software, IEE Proceedings -, 152 (2): 54--69, april 2005.Google Scholar
Cross Ref
- L. C. L. Kats and E. Visser. The Spoofax language workbench: rules for declarative specification of languages and IDEs. In W. R. Cook, S. Clarke, and M. C. Rinard, editors, Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, pages 444--463. ACM, 2010. Google Scholar
Digital Library
- L. C. L. Kats, E. Visser, and G. Wachsmuth. Pure and declarative syntax definition: paradise lost and regained. In W. R. Cook, S. Clarke, and M. C. Rinard, editors, Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, pages 918--932. ACM, 2010. Google Scholar
Digital Library
- P. Klint. A meta-environment for generating programming environments. Transactions on Software Engineering Methodology, 2 (2): 176--201, 1993. Google Scholar
Digital Library
- T. Kosar, N. Oliveira, M. Mernik, V. Pereira, M. Crepinsek, C. Da, and R. Henriques. Comparing general-purpose and domain-specific languages: An empirical study. Computer Science and Information Systems, 7 (2): 247--264, 2010.Google Scholar
Cross Ref
- H. Krahn, B. Rumpe, and S. Völkel. Monticore: Modular development of textual domain specific languages. In R. F. Paige and B. Meyer, editors, Objects, Components, Models and Patterns, TOOLS EUROPE 2008, volume 11 of LNBIP, pages 297--315. Springer, 2008.Google Scholar
- R. Mannadiar and H. Vangheluwe. Debugging in domain-specific modelling. In Software language engineering, SLE'10, pages 276--285. Springer-Verlag, 2011. Google Scholar
Digital Library
- M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. Computing Surveys, 37 (4): 316--344, 2005. Google Scholar
Digital Library
- D. Rebernak, M. Mernik, H. Wu, and J. G. Gray. Domain-specific aspect languages for modularising crosscutting concerns in grammars. IEE Proceedings - Software, 3 (3): 184--200, 2009.Google Scholar
- Y. Smaragdakis and D. Batory. Application generators. Encyclopedia of Electrical and Electronics Engineering, 2000.Google Scholar
- M. van den Brand, B. Cornelissen, P. A. Olivier, and J. J. Vinju. TIDE: A generic debugging framework - tool demonstration. ENTCS, 141 (4): 161--165, 2005. Google Scholar
Digital Library
- I. Vessey. Toward a theory of computer program bugs: An empirical test. Int. Journal of Man-Machine Studies, 30 (1): 23--46, 1989. Google Scholar
Digital Library
- E. Visser. Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam, September 1997.Google Scholar
- E. Visser. WebDSL: A case study in domain-specific language engineering. In R. Lämmel, J. Visser, and J. Saraiva, editors, Generative and Transformational Techniques in Software Engineering II, Int. Summer School, GTTSE 2007, volume 5235 of LNCS, pages 291--373. Springer, 2007. Google Scholar
Digital Library
- M. Voelter and K. Solomatov. Language modularization and composition with projectional language workbenches illustrated with MPS. In M. van den Brand, B. Malloy, and S. Staab, editors, Software Language Engineering, SLE 2010, LNCS. Springer, 2010.Google Scholar
- D. S. Wile. Supporting the DSL spectrum. CIT. Journal of computing and information technology, 9 (4): 263--287, 2001.Google Scholar
- H. Wu, J. Gray, and M. Mernik. Grammar-driven generation of domain-specific language debuggers. Software: Practice and Experience, 38 (10): 1073--1103, 2008. Google Scholar
Digital Library
Index Terms
Declaratively defining domain-specific language debuggers
Recommendations
The spoofax language workbench: rules for declarative specification of languages and IDEs
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsSpoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. Spoofax integrates language processing techniques for parser generation, meta-programming, and IDE development into ...
Language extension and composition with language workbenches
OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companionDomain-specific languages (DSLs) provide high expressive power focused on a particular problem domain. They provide linguistic abstractions and specialized syntax specifically designed for a domain, allowing developers to avoid boilerplate code and low-...
Declaratively defining domain-specific language debuggers
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringTool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification ...







Comments