Zero Alert Storms: Formal Verification for IoT Automation

When an IoT platform composes automation rules across Things, rules can conflict. Two rules targeting the same device with opposing states. One rule's output triggering another in a cascade. Alert storms that flood operators with notifications. I wrote ExMaude—an Elixir library that supervises the Maude rewriting-logic interpreter—to catch these conflicts before activation. In this simulation, ExMaude checks the same rule representation the runtime evaluates and returns one of three results: conflicts, clean within the model, or unverified. Four modelled conflict categories. The live demo compares observe and enforce modes under the same synthetic load. This talk covers the problem (with a published smart-home conflict pattern), the solution (Maude rewriting logic explained for Elixir developers), and the integration (a narrow deployment gate in a Phoenix/BEAM simulation). BeamLens and Codex or local Ollama explain a bounded telemetry snapshot; Maude remains the deterministic decision maker.

Tobias Bohwalli

Started my web career in 1999 during the dot-com era. Studied at Chalmers University of Technology. Cut my teeth on PHP and Perl -- the pre-framework days of gluing PEAR libraries together. Moved to Ruby on Rails, then like many others found elegance in Elixir. For the past 11 years I've been at myDevices as a frontend developer working with React.