Skip to content
Tech News
← Back to articles

SpecForge – A Platform for Authoring Formal Specifications

read original more articles
Why This Matters

SpecForge introduces a powerful platform for authoring and analyzing formal specifications using the Lilo language, which is tailored for hybrid systems with rich temporal logic operators. This advancement enables developers and engineers to create precise, verifiable system requirements, enhancing reliability and safety in complex applications. The integration with VSCode further streamlines the specification process, making formal methods more accessible to the tech industry and consumers alike.

Key Takeaways

This section is a quick introduction to SpecForge’s main capabilities through a hands-on example. We’ll explore how to write specifications in the Lilo language and analyze them using SpecForge’s VSCode extension.

Lilo is an expression-based temporal specification language designed for hybrid systems. Here are the key concepts:

Primitive Types: Bool , Int , Float , and String

Operators: Standard arithmetic ( + , - , * , / ), comparisons ( == , < , > , etc.), and logical operators ( && , || , => )

Temporal Operators: Lilo’s distinguishing feature is its rich set of temporal logic operators:

always φ : φ is true at all future times

: is true at all future times eventually φ : φ is true at some future time

: is true at some future time past φ : φ was true at some past time

: was true at some past time historically φ : φ was true at all past times

These operators can be qualified with time intervals, e.g., eventually[0, 10] φ means φ becomes true within 10 time units. More operators are available.

... continue reading