Forge: A Tool and Language for Teaching Formal Methods

Forge is a lightweight formal-methods tool, similar to Alloy 6, built with teaching in mind. Forge provides a progression of sub-languages that gradually build in expressive power to match students’ experience and expertise.

Forge is for everyone…

from beginners...
to domain experts...
to domain-specific language authors.

Forge has…

Modern Editor Integration

Edit Forge in your favorite text editor; we have added support in both Visual Studio Code and DrRacket.

Domain-Specific Visualization Support

Forge uses the Sterling visualizer to enable custom visualizations by both students and instructors.

Rust Lifetimes and Borrowing
Thomas Castleman and Ria Rajesh
(class project)
Cryptographic Protocols
Abigail Siegel and Mia Santomauro
Network Reachability
Tim Nelson and Pamela Zave

Getting Started

To get started with Forge, follow these instructions.

Forge was originally created for CSCI 1710, “Logic for Systems” at Brown University. The notes and materials are public and free to use.

Forge is open source and hosted on Github.

Contact

Got questions? Reach out to Tim_Nelson@brown.edu.

Thanks

We are grateful for support from the U.S. National Science Foundation and Brown University.