Formi
HomeFeaturesApp

Formi's Features

1

Models

The intuitive YAML-based editor enables users to quickly define models through textual input. At the same time, the portable format can be used to store and share models.

On-the-fly validation warns about issues, such as non-total functions, but does not prevent model checking if possible.

2

Graphs

Interactive graphs visualize model domains, constants, functions, and relations. Touch input and mouse input are supported. Zooming and panning ensure that even the largest models can be inspected.

3

Formulas

Formulas are parsed in real-time, with helpful error messages for syntax errors.

exists x. W(x,x) && f(b) = xis parsed as∃x. W(x,x) ∧ f(b) = x

The ASTs of formulas are visualized and display operator precedence. Any non-terminal node can be expanded and collapsed to reveal or hide sub-formulas respectively.

∃x
W
x
x
=
f()
b
x
4

Model Checking

Every evaluation step of the recursive model checking algorithm is represented as a node in the evaluation tree. This ensures that results are always tangible.

A checkmark indicates that the (sub-)formula must be modelled by the model, a cross represents the opposite. The colors green and red show whether the actual result matches the expected result or not.

∃x. W(x,x) ∧ f(b) = x
W(1,1) ∧ f(b) = 1
W(1,1)
f(b) = 1