Sterling is a web-based visualizer for relational modeling languages. Model finding tools like Alloy provide a lightweight approach to reasoning about complex software systems; an attractive feature of Alloy in particular is the immediate feedback provided by visualizations. However, the built-in visualizer has limited capabilities.
Sterling addresses these limitations by providing a directed graph visualizer with improved interactive capabilities and a scripting environment which allows users to create custom visualizations using their favorite JavaScript libraries.
The Sterling architecture is flexible, allowing for any modeling language or tool to leverage the improved visualization capabilities by communicating with Sterling over a WebSocket connection using a standardized communication protocol. Sterling is currently available as a visualizer for the Alloy modeling language and is the default visualizer for Forge, a model finder used at Brown University to teach an introductory computer science course in logic.
A screenshot of Sterling
A custom visualization of the Dining Philosophers Problem, built in Sterling.
Related Publications
Sterling: A Web-Based Visualizer for Relational Modeling Languages
Tristan Dyer and John Baugh
Rigorous State Based Methods. ABZ 2021.
Lightweight Formal Methods in Scientific Computing
Tristan Dyer
PhD Dissertation
2022 Tristan Dyer