Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1869542.1869623acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
tutorial

Language extension and composition with language workbenches

Published: 17 October 2010 Publication History

Abstract

Domain-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-level implementation details.
Language workbenches are tools that integrate all aspects of the definition of domain-specific or general-purpose software languages and the creation of a programming environment from such a definition. To count as a language workbench, a tool needs to satisfy basic requirements for the integrated definition of syntax, semantics, and editor services, and preferably also support language extension and composition. Within these requirements there is ample room for variation in the design of a language workbench.
In this tutorial, we give an introduction to the state of the art in textual DSLs and language workbenches. We discuss the main requirements and variation points in the design of language workbenches, and describe two points in the design space using two state-of-the-art language workbenches. Spoofax is an example of a parser-based language workbench, while MPS represents language workbenches based on projectional editors.

References

[1]
}}The Spoofax project. http://www.spoofax.org/.
[2]
}}M. Bravenboer, K. T. Kalleberg, R. Vermaas, and E. Visser. Stratego/XT 0.17. A language and toolset for program transformation. Sci. of Comp. Programming, 72(1-2):52--70, June 2008.
[3]
}}M. Fowler. Language workbenches: The killer-app for domain specific languages? http://martinfowler.com/articles/languageWorkbench.html, 2005.
[4]
}}J. Heering, P. R. H. Hendriks, P. Klint, and J. Rekers. The syntax definition formalism SDF: Reference manual. SIGPLAN Not., 24(11):43--75, 1989.
[5]
}}JetBrains. Meta Programming System. http://www.jetbrains.com/mps/.
[6]
}}L. C. L. Kats and E. Visser. The Spoofax language workbench. Rules for declarative specification of languages and IDEs. In M. Rinard, editor, Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, October 17-21, 2010, Reno, NV, USA, 2010.
[7]
}}Realaxy LTD. Realaxy action script editor. http://www.realaxy.com/.
[8]
}}E. Visser. A family of syntax definition formalisms. In M. G. J. van den Brand et al., editors, ASF+SDF 1995. A Workshop on Generating Tools from Algebraic Specifications, pages 89--126. Technical Report P9504, Programming Research Group, University of Amsterdam, May 1995.
[9]
}}E. Visser. Meta-programming with concrete object syntax. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering (GPCE 2002), volume 2487 of LNCS, pages 299--315. Springer-Verlag, October 2002.
[10]
}}M. Volter. LWC 11 MPS Submission. http://code.google.com/p/mps-lwc11/wiki/GettingStarted.
[11]
}}M. Volter and B. Merkle. mbeddr.com. http://mbeddr.com.
[12]
}}M. Volter and K. Solomatov. Language composition with projectional language workbenches illustrated with mps. http://www.voelter.de/data/pub/VoelterSolomatov_SLE2010_Language% 20ModularizationAndCompositionLWBs.pdf.

Cited By

View all
  • (2024)Applying a Self-Extension Mechanism to DSLs for Establishing Model LibrariesProceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3689484.3690732(29-43)Online publication date: 21-Oct-2024
  • (2022)A Multi-target, Multi-paradigm DSL Compiler for Algorithmic Graph ProcessingProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567513(2-15)Online publication date: 29-Nov-2022
  • (2021)Towards a Systematic Engineering of Industrial Domain-Specific Languages2021 IEEE/ACM 8th International Workshop on Software Engineering Research and Industrial Practice (SER&IP)10.1109/SER-IP52554.2021.00016(49-56)Online publication date: Jun-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
October 2010
352 pages
ISBN:9781450302401
DOI:10.1145/1869542
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: 17 October 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Eclipse
  2. IDE
  3. MPS
  4. SDF
  5. SGLR
  6. Spoofax
  7. Stratego
  8. domain-specific language
  9. language workbench
  10. meta-tooling
  11. parsing
  12. projectional editing
  13. textual language

Qualifiers

  • Tutorial

Conference

SPLASH '10
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Applying a Self-Extension Mechanism to DSLs for Establishing Model LibrariesProceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3689484.3690732(29-43)Online publication date: 21-Oct-2024
  • (2022)A Multi-target, Multi-paradigm DSL Compiler for Algorithmic Graph ProcessingProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567513(2-15)Online publication date: 29-Nov-2022
  • (2021)Towards a Systematic Engineering of Industrial Domain-Specific Languages2021 IEEE/ACM 8th International Workshop on Software Engineering Research and Industrial Practice (SER&IP)10.1109/SER-IP52554.2021.00016(49-56)Online publication date: Jun-2021
  • (2021)Towards the Black-Box Aggregation of Language Components2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00088(576-585)Online publication date: Oct-2021
  • (2021)Aligned, Purpose-Driven Cooperation: The Future Way of System DevelopmentLeveraging Applications of Formal Methods, Verification and Validation10.1007/978-3-030-89159-6_27(426-449)Online publication date: 12-Oct-2021
  • (2020)A compositional framework for systematic modeling language reuseProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems10.1145/3365438.3410934(35-46)Online publication date: 16-Oct-2020
  • (2018)Modeling language variability with reusable language componentsProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3233037(65-75)Online publication date: 10-Sep-2018
  • (2018)A taxonomy of cross-language linking mechanisms in open source frameworksComputing10.1007/s00607-016-0528-399:7(701-724)Online publication date: 31-Dec-2018
  • (2016)Modular design of hybrid languages by explicit modeling of semantic adaptationProceedings of the Symposium on Theory of Modeling & Simulation10.5555/2975389.2975418(1-8)Online publication date: 3-Apr-2016
  • (2016)Towards Modular Language Design Using Language Fragments: The Hybrid Systems Case StudyInformation Technolog: New Generations10.1007/978-3-319-32467-8_68(785-797)Online publication date: 29-Mar-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media