Zero Alert Storms: Formal Verification for IoT Automation

When an IoT platform manages thousands of automation rules across hundreds of Things, rules will conflict. Two rules targeting the same device with opposing states. One rule's output triggering another in an infinite cascade. Alert storms that generate thousands of notifications and destabilize the platform. I wrote ExMaude -- an simple Elixir library wrapping Maude's rewriting logic -- to solve this. Before any rule deploys, ExMaude reduces the full rule set through 260 lines of algebraic specification and returns a mathematical proof of conflict-freedom. Four conflict types detected. ~500us per verification. Zero conflicting rules in production. This talk covers the problem (with real IoT horror stories), the solution (Maude rewriting logic explained for Elixir developers), and the integration (how it fits into an Ash Framework IoT platform running on Nerves edge gateways and Phoenix cloud). Includes a live demo.

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.