Projectional Editors for JSON-Based DSLs
Andrew McNutt, Ravi Chugh

TL;DR
This paper presents a cost-effective method to create projectional editors for JSON-based DSLs by mapping JSON Schemas to GUIs and allowing custom views, demonstrated through a prototype called Prong.
Contribution
The paper introduces a novel, inexpensive approach to building rich projectional editors for JSON-defined DSLs using schema-to-GUI mapping and customizable views.
Findings
Prototype Prong successfully supports multiple DSLs including Vega and Vega-Lite.
The approach simplifies the creation of domain-specific editors without bespoke development.
The method is broadly applicable to a wide class of JSON-based DSLs.
Abstract
Augmenting text-based programming with rich structured interactions has been explored in many ways. Among these, projectional editors offer an enticing combination of structure editing and domain-specific program visualization. Yet such tools are typically bespoke and expensive to produce, leaving them inaccessible to many DSL and application designers. We describe a relatively inexpensive way to build rich projectional editors for a large class of DSLs -- namely, those defined using JSON. Given any such JSON-based DSL, we derive a projectional editor through (i) a language-agnostic mapping from JSON Schemas to structure-editor GUIs and (ii) an API for application designers to implement custom views for the domain-specific types described in a schema. We implement these ideas in a prototype, Prong, which we illustrate with several examples including the Vega and Vega-Lite data…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies
