skip to main content
10.1145/1869542.1869564acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Textual modeling tools: overview and comparison of language workbenches

Published:17 October 2010Publication History

ABSTRACT

Domain Specific Languages (DSL) attract more and more users as they are specialized and optimized for a certain problem area. Currently the number of new emerging Programming Languages is significant [1] but GPL (General Purpose Languages) do often not fit the specific need of the end-user. DSL are one way to solve this problem. DSLs can be divided into different independent dimensions: e.g. internal vs. external or textual vs. graphical or tabular. In this paper we focus on textual syntaxes as they have several advantages like easy information exchange via e.g. mail, integration into existing tools like diff, merge and version control and most important the fast editing style supported by the "usual" IDE support like code completion, error markers, intentions and quick fixes. While Fowler described the initial vision of Language Workbenches [2], several mature Textual Language Workbenches have emerged in recent years. In this paper we will compare them with a consistent example and look at pros and cons.

Skip Supplemental Material Section

Supplemental Material

10-oct-textualmodelingtools-1.mov

mov

125 MB

References

  1. }}Announcing The Emerging Languages Camp at OSCON. http://radar.oreilly.com/2010/05/announcing-the-emerging-langua.htmlGoogle ScholarGoogle Scholar
  2. }}Fowler, M.: Language Workbenches - The Killer-App for Domain Specific Languages? http://martinfowler.com/articles/languageWorkbench.htmlGoogle ScholarGoogle Scholar
  3. }}Fowler, M.: Projectional Editing http://martinfowler.com/bliki/ProjectionalEditing.htmlGoogle ScholarGoogle Scholar
  4. }}Fowler, M.: Fluent Interfaces http://www.martinfowler.com/bliki/FluentInterface.htmlGoogle ScholarGoogle Scholar
  5. }}Garcia, Automating the embedding of Domain Specific Languages in Eclipse JDT http://www.eclipse.org/articles/Article-AutomatingDSLEmbeddings/index.htmlGoogle ScholarGoogle Scholar
  6. }}Textual Modeling Tools for ecliplse, Xtext http://ww.eclipse.org/Xtext/, TCS: www.eclipse.org/gmt/tcs/, TEF:http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/tool.html, EMFText: http://emftext.orgGoogle ScholarGoogle Scholar
  7. }}Meta Edit http://www.metacase.comGoogle ScholarGoogle Scholar
  8. }}B. Langlois, C.E. Jitia, E Jouenne: DSL Classification. In 7th OO-PLA Workshop on Domain-Specific Modeling, 2007Google ScholarGoogle Scholar
  9. }}M. Pfeiffer, J. Pichler A Comparison of Tool Support for Textual Domain-Specific Languages, In 8th OOPSLA Workshop on Domain Specific Modeling, 2008Google ScholarGoogle Scholar
  10. }}T. Goldschmidt, S.Becker, A. Uhl: Classification of Concrete Textual Syntax Mapping Approaches, In ECMDA-FA 2008 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}www.eclipse.org/modelingGoogle ScholarGoogle Scholar
  12. }}www.antlr.org/papersGoogle ScholarGoogle Scholar
  13. }}runcc.sourceforge.netGoogle ScholarGoogle Scholar
  14. }}www.jetbrains.com/mpsGoogle ScholarGoogle Scholar
  15. }}Intentional Software, Intentional Domain Workbench, http://intentsoft.com/technology/IS_OOPSLA_2006_paper.pdf Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. }}L. Kats, E. Visser. The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs. In OOPSLA 2010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}Xtext http://ww.eclipse.org/Xtext/Google ScholarGoogle Scholar
  18. }}openArchitectureWare http://www.openarchitectureware.org/Google ScholarGoogle Scholar
  19. }}eclipse B3: http://www.eclipse.org/modeling/emft/b3/Google ScholarGoogle Scholar
  20. }}TEF: http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/tool.htmlGoogle ScholarGoogle Scholar
  21. }}TCS: www.eclipse.org/gmt/tcs/Google ScholarGoogle Scholar
  22. }}ATL: www.eclipse.org/m2m/atlGoogle ScholarGoogle Scholar
  23. }}KM3: F. Jouault, J. Bezivin: KM3: a DSL for Metamodel Specification, Formal Methods for Open Object-Based distr. Systems 2006 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. }}EMFText: http://www.emftext.orgGoogle ScholarGoogle Scholar
  25. }}Reuseware: http://www.reuseware.org/Google ScholarGoogle Scholar
  26. }}Eclipse/IMP (Safari project) http://eclipse-imp.sourceforge.netGoogle ScholarGoogle Scholar
  27. }}Spoofax/IMP http://strategoxt.org/SpoofaxGoogle ScholarGoogle Scholar
  28. }}CAL, http://www.cs.ubc.ca/~ade/research.htmlGoogle ScholarGoogle Scholar
  29. }}S. Dmitriev: Language Oriented Programming: The Next Programming ParadigmGoogle ScholarGoogle Scholar
  30. }}Jetbrains youtrack bugtracker http://youtrack.jetbrains.net/dashboardGoogle ScholarGoogle Scholar

Index Terms

  1. Textual modeling tools: overview and comparison of language workbenches

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

              Copyright © 2010 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: 17 October 2010

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Upcoming Conference

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader