Efficient Development of Consistent Projectional Editors Using Grammar Cells

Markus Voelter, Tamás Szabó, Sascha Lisson, Bernd Kolb, Sebastian Erdweg, Thorsten Berger

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

24 Citations (Scopus)

Abstract

The definition of a projectional editor does not just specify the notation of a language, but also how users interact with the notation. Because of that it is easy to end up with different interaction styles within one and between multiple languages. The resulting inconsistencies have proven to be a major usability problem. To address this problem, we introduce grammar cells, an approach for declaratively specifying textual notations and their interactions for projectional editors. In the paper we motivate the problem, give a formal definition of grammar cells, and define their mapping to low-level editor behaviors. Our evaluation based on project experience shows that grammar cells improve editing experience by providing a consistent and intuitive ``text editor-like'' user experience for textual notations. At the same time they do not limit language composability and the use of non-textual notations, the primary benefits of projectional editors. We have implemented grammar cells for Jetbrains MPS, but they can also be used with other projectional editors.
Original languageEnglish
Title of host publicationSLE 2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering
EditorsT. van der Storm
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Pages28-40
Number of pages13
ISBN (Print)978-1-4503-4447-0
DOIs
Publication statusPublished - 2016
EventSLE 2016: 9th ACM SIGPLAN International Conference on Software Language Engineering - Amsterdam, Netherlands
Duration: 31 Oct 20161 Nov 2016
Conference number: 9

Conference

ConferenceSLE 2016
Country/TerritoryNetherlands
CityAmsterdam
Period31/10/161/11/16

Keywords

  • Language Engineering
  • Language Workbenches
  • Projectional Editing
  • Jetbrains MPS
  • Usability

Fingerprint

Dive into the research topics of 'Efficient Development of Consistent Projectional Editors Using Grammar Cells'. Together they form a unique fingerprint.

Cite this