Grounded Language Design for Lightweight Diagramming for Formal Methods
Siddhartha Prasad, Ben Greenman, Tim Nelson, Shriram Krishnamurthi

TL;DR
This paper introduces a domain-specific language for lightweight, effective diagramming in formal methods tools, grounded in cognitive science and validated through evaluation, to improve model visualization without extensive effort.
Contribution
It designs a new diagramming language based on cognitive principles and key domain elements, integrated into an Alloy-like tool for better model visualization.
Findings
Diagrams are effective for reasoning about models.
The language is lightweight and easier to use than full visualizations.
It fills a niche for domain-driven, cognitively sound diagramming tools.
Abstract
Model finding, as embodied by SAT solvers and similar tools, is used widely, both in embedding settings and as a tool in its own right. For instance, tools like Alloy target SAT to enable users to incrementally define, explore, verify, and diagnose sophisticated specifications for a large number of complex systems. These tools critically include a visualizer that lets users graphically explore these generated models. As we show, however, default visualizers, which know nothing about the domain, are unhelpful and even actively violate presentational and cognitive principles. At the other extreme, full-blown visualizations require significant effort as well as knowledge a specifier might not possess; they can also exhibit bad failure modes (including silent failure). Instead, we need a language to capture essential domain information for lightweight diagramming. We ground our language…
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
TopicsNatural Language Processing Techniques · Speech and dialogue systems · Software Engineering Techniques and Practices
MethodsSparse Evolutionary Training
