Using Answer Set Programming for Integrity Maintenance in a Smart Home System
摘要
Smart homes are usually programmed using Event-Condition-Action rules, which is problematic for integrity maintenance, as the user needs to know which events may lead to an invalid state, and which actions – depending on the event – to take to repair the system. This paper describes an approach for integrity maintenance in a smart home system using Answer Set Programming. Using the popular open source home automation platform “Home Assistant” as a framework, we allow users to specify desired integrity constraints for their home in a familiar syntax, i.e. Python Boolean expressions with some special functions. By rewriting the user’s system invariant to goal descriptions and adding ASP rules for planning service calls to change device states where possible, the system tries to restore itself to a desired state, whenever necessary.