Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2047862.2047885acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

Declaratively defining domain-specific language debuggers

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

    Cited By

    View all
    • (2020)VICToRy: Visual Interactive Consistency Management in Tolerant Rule-based SystemsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.330.1330(1-12)Online publication date: 3-Dec-2020
    • (2020)An Investigation into Pre-service Teachers’ Experiences While Transitioning from Scratch Programming to Procedural ProgrammingAfrican Journal of Research in Mathematics, Science and Technology Education10.1080/18117295.2020.1820798(1-13)Online publication date: 7-Oct-2020
    • (2019)Domain-Level Observation and Control for Compiled Executable DSLs2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS.2019.000-6(150-160)Online publication date: Sep-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    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
    • 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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 October 2011

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. debugging
    2. domain-specific language
    3. language workbench
    4. spoofax

    Qualifiers

    • Research-article

    Conference

    GPCE '11
    Sponsor:
    GPCE '11: Generative Programming and Component Engineering
    October 22 - 23, 2011
    Oregon, Portland, USA

    Acceptance Rates

    Overall Acceptance Rate 56 of 180 submissions, 31%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)18
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)VICToRy: Visual Interactive Consistency Management in Tolerant Rule-based SystemsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.330.1330(1-12)Online publication date: 3-Dec-2020
    • (2020)An Investigation into Pre-service Teachers’ Experiences While Transitioning from Scratch Programming to Procedural ProgrammingAfrican Journal of Research in Mathematics, Science and Technology Education10.1080/18117295.2020.1820798(1-13)Online publication date: 7-Oct-2020
    • (2019)Domain-Level Observation and Control for Compiled Executable DSLs2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS.2019.000-6(150-160)Online publication date: Sep-2019
    • (2019)A Multi-Paradigm Modelling approach to live modellingSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0700-718:5(2821-2842)Online publication date: 1-Oct-2019
    • (2018)The Tool Generation Challenge for Executable Domain-Specific Modeling LanguagesSoftware Technologies: Applications and Foundations10.1007/978-3-319-74730-9_18(193-199)Online publication date: 23-Jan-2018
    • (2017)Debugging with domain-specific events via macrosProceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3136014.3136019(91-102)Online publication date: 23-Oct-2017
    • (2016)Object-oriented design pattern for DSL program monitoringProceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering10.1145/2997364.2997373(70-83)Online publication date: 20-Oct-2016
    • (2015)Building debuggers and other toolsProceedings of the 10th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems10.1145/2843915.2843917(1-3)Online publication date: 4-Jul-2015
    • (2015)Extensible Debugger Framework for Extensible LanguagesReliable Software Technologies – Ada-Europe 201510.1007/978-3-319-19584-1_3(33-49)Online publication date: 9-Jun-2015
    • (2014)The Moldable Debugger: A Framework for Developing Domain-Specific DebuggersSoftware Language Engineering10.1007/978-3-319-11245-9_6(102-121)Online publication date: 2014
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media