Skip to content

Benchmarks

Fan and damper permissive (FBD)

suite id fbd_fan_damper
domain hvac
language FBD
difficulty easy
validation status candidate
origin authored
license CC-BY-4.0

Supply air handler permissive, authored for FBD language coverage

What is proved

From benchmarks/hvac/fbd_fan_damper/props.yaml. What each kind claims, and what it becomes on either route, is on The properties we prove.

id kind claim requirement
P1 invariant !(fan && !damper_open) The fan must never run against a shut damper: the duct sees full fan static as vacuum and can collapse.
P2 invariant !(fan && smoke) A running fan distributes smoke through the served zones, so a duct smoke alarm must drop the fan.

Variants

file expected verdict violates method
clean.xml SAFE none expert
bomb.xml VIOLATION P1 fault-injection

Files

file what it is size sha256
benchmark.yml benchmark metadata 1.0 KB e89e1834ccce
bomb.xml ladder program, PLCopen XML 4.2 KB daac1c0afb5f
clean.xml ladder program, PLCopen XML 4.6 KB afebdd2b2873
props.yaml property file 0.4 KB ea2b1df47db4

Recorded runs

A task can carry two routes. ld is ESBMC's ladder front end reading the program directly. via C is the same solver reached through Beremiz and MatIEC, which is the only route that reaches ST, IL, FBD and SFC; see How ESBMC-PLC works.

  • fbd_fan_damper__bomb (props.yaml, expected VIOLATION): v8.4 unknown — ingestion gate failed on v8.4
  • fbd_fan_damper__bomb__viac via C (props.yaml, expected VIOLATION): master VIOLATION
  • fbd_fan_damper__clean (props.yaml, expected SAFE): v8.4 SAFE — ingestion gate failed on v8.4
  • fbd_fan_damper__clean__viac via C (props.yaml, expected SAFE): master SAFE