-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Tim Nelson edited this page Feb 16, 2022
·
21 revisions
Forge is a lightweight modeling language, similar to Alloy, that has been designed for teaching modeling and lightweight formal methods. It comprises three sublanguages or modes:
- Froglet (
#lang forge/bsl
), a core language for modeling using object-oriented intuitions; - Forge (
#lang forge
), an extension of Frglet to include relations and relational operators; - Temporal Forge, an extension of Forge to include linear-temporal operators (akin to Alloy 6 or Electrum).
Students progress through this language hierarchy as new concepts are introduced in class; this lets the course avoid a steep language-learning curve andcover important practical material earlier than would otherwise be possible.
- Installing Forge
- Types and Fields
- Constraints
- Built-ins: Constants, Relations, and Helpers
- Running