- SpecForge is a tool for writing and analyzing temporal specifications using the Lilo language, which supports primitive types, arithmetic, logical, and temporal operators like always, eventually, past, historically, with time intervals.
- Lilo specifications are organized into systems containing signals, params, types, definitions, and specs; a temperature control system example illustrates safety requirements for temperature and humidity.
- The VSCode extension provides syntax highlighting, type-checking, warnings, and spec satisfiability support for writing Lilo code.
- Analysis capabilities include Monitoring (check traces against specs), Exemplify (generate example traces), Falsify (search for counterexamples with a model), Export (convert specs to formats like JSON), and Animate (visualize behavior over time).
- Monitoring evaluates recorded trace data against a specification, displaying a tree with sub-expression results and explanations; analyses can be saved and reopened.
- Exemplification helps understand valid behavior and test components by generating satisfying traces, aiding in spec authoring.
- Falsification requires a registered falsifier script and model; results show monitoring trees to understand model violations.
- Export converts specifications to other formats for use in other tools, such as JSON.