Hasty Briefsbeta

Bilingual

SpecForge – A Platform for Authoring Formal Specifications

17 hours ago
  • 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.