skip to main content
research-article

Declaratively defining domain-specific language debuggers

Published:22 October 2011Publication History
Skip Abstract Section

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.

References

  1. M. Auguston. Building program behavior models. In ECAI Workshop on Spatial and Temporal Reasoning, pages 19--26, 2007.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. C. Cleaveland. Building application generators. Softw., 5 (4), 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Efftinge and M. Voelter. oAW xText: A framework for textual DSLs. In Workshop on Modeling Symposium at Eclipse Summit, 2006.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Fowler. Language workbenches: The killer-app for domain specific languages? http://www.martinfowler.com/articles/languageWorkbench.html, 2005.Google ScholarGoogle Scholar
  8. M. Fowler. Domain-Specific Languages. Addison Wesley, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. M. Groenewegen, Z. Hemel, and E. Visser. Separation of concerns and linguistic integration in WebDSL. Software, 27 (5), September/October 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Klint. A meta-environment for generating programming environments. Transactions on Software Engineering Methodology, 2 (2): 176--201, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. 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 ScholarGoogle Scholar
  17. R. Mannadiar and H. Vangheluwe. Debugging in domain-specific modelling. In Software language engineering, SLE'10, pages 276--285. Springer-Verlag, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. Computing Surveys, 37 (4): 316--344, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. Y. Smaragdakis and D. Batory. Application generators. Encyclopedia of Electrical and Electronics Engineering, 2000.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. I. Vessey. Toward a theory of computer program bugs: An empirical test. Int. Journal of Man-Machine Studies, 30 (1): 23--46, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. E. Visser. Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam, September 1997.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar
  26. D. S. Wile. Supporting the DSL spectrum. CIT. Journal of computing and information technology, 9 (4): 263--287, 2001.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Declaratively defining domain-specific language debuggers

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 47, Issue 3
          GCPE '11
          March 2012
          179 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2189751
          Issue’s Table of Contents
          • cover image ACM Conferences
            GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineering
            October 2011
            194 pages
            ISBN:9781450306898
            DOI:10.1145/2047862

          Copyright © 2011 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 22 October 2011

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader