Automated Rule Conflict Detection for Building Management Systems
Total Page:16
File Type:pdf, Size:1020Kb
POLITECNICO DI MILANO Industrial and Information Engineering Department of Electronics, Information and Bioengineering AUTOMATED RULE CONFLICT DETECTION FOR BUILDING MANAGEMENT SYSTEMS Relatore: Prof. Matteo Giovanni Rossi Tesi di laurea di: Davide Camurani Matr. 841977 A.A. 2015/2016 Sommario L’Internet of Things (IoT) è considerato uno dei cambiamenti più profondi dell’era moderna, esso ha portato la possibilità di poter connettere oggetti di uso comune alla rete, e di raccogliere enormi quantità di dati. Uno dei campi di applicazione, che ha avuto il maggiore sviluppo nell’ultimo decennio, è quello degli smart building. Gli smart building più moderni sono composti da centinaia di dispositivi in grado di raccogliere informazioni dall’ambiente (tramite i sensori) e di modificarne il suo comportamento (tramite gli attuatori). La loro coordinazione è gestita da un Building Management System (BMS) che definisce come agire sul comportamento del sistema, in base ai dati provenienti dal sistema stesso. Le scelte che compie un BMS vengono delineate tramite delle regole; tali regole utilizzano una logica di programmazione del tipo trigger-action: se la condizione di attivazione è verificata, allora viene eseguita l'azione ad esso collegata. L’evoluzione dei dispositivi ha portato con sé anche una maggiore semplicità di utilizzo, permettendo ad utenti senza elevate conoscenze tecniche di poter creare la propria rete di sensori e attuatori, e di definire delle regole di controllo. Essendo questi sistemi utilizzati da più persone contemporaneamente, nasce la necessità di verificare se le regole create possano generare conflitti tra loro; questa possibilità nasce dal fatto che utenti diversi, desiderino comportamenti diversi dallo stesso sistema. Con il termine conflitto vogliamo definire tutti quei casi in cui i dati, che il BMS vuole imporre su un parametro di un attuatore, siano inconsistenti. A tale scopo, sono disponibili alcuni III strumenti di diagnostica che ci permettono di rilevare e in alcuni casi di risolvere, i possibili conflitti. Tali strumenti sono utilizzabili solo per realizzare controlli run-time, quindi non ci permetto a priori (durante la fase di design del sistema) di rilevare possibili comportamenti pericolosi. In questa tesi abbiamo cercato di trovare una soluzione a questo problema realizzando uno strumento in grado di rilevare conflitti di tipo Error e Warning, con un approccio offline di analisi. I conflitti di tipo Error sono derivati dalla simultanea attivazione di due regole, mentre quelli di tipo Warning da una sovrapposizione dei periodi di attivazione di due regole. L’idea per la sua implementazione si basa sulla teoria dei Satisfiability Modulo Theories (SMT). Infine, tale strumento è stato implementato in un programma atto a riprodurre virtualmente uno smart building; in particolare, le parti che abbiamo implementato sono: gli utenti, gli spazi che compongono un edificio, gli oggetti che vi possono essere all’interno e le regole che lo governano. IV Abstract The Internet of Things (IoT) is considered one of the most profound changes of the modern era, it brought the possibility to connect everyday objects to the network and to collect huge amounts of data. One of the application fields which had the greatest growth in the last decade, it is the field of the smart buildings. Modern smart buildings are composed of hundreds of devices able to collect information from the environment through the sensors) and to modify its state (by the actuators). Their coordination is managed by a Building Management System (BMS) that defines how to act on the behavior of the system, according to the data coming from the system itself. The choices made by a BMS are delineated by the rules; these rules use a trigger-action programming: if the trigger condition has verified, then the action associated with it is executed. The evolution of the devices has also brought greater ease of use, allowing users without advanced technical knowledge to be able to create their own network of sensors and actuators, and to define the control rules. Since these systems are used by several people simultaneously, it becomes necessary to check whether the rules created may conflict with each other; this possibility arises because different users may desire different behavior from the same system. With the conflict term, we want to define all those cases in which the data, which the BMS wants to impose on a parameter of an actuator, are inconsistent. For this purpose, there are some diagnostic tools that allow us to detect, and in some cases to solve, the possible conflicts. However, these tools are only used to realize real-time controls, therefore their not allow us to detect possible problems during the design phase of the system. V In this thesis, we tried to find a solution to this problem with an instrument able to detect the Error and Warning conflicts with an offline analysis approach. The error-type conflicts are derived from the simultaneous activation of two rules, while those of warning-type by an overlap of the activation period of the two rules. The idea for its implementation is based on the theory of Satisfiability Modulo Theories (SMT). Finally, this tool has been implemented in a program that virtually reproduces a smart building; in particular, the parts that we have implemented are: the users, the spaces that compose a building, the objects can be inside and the rules governing it. VI Content AUTOMATED RULE CONFLICT DETECTION FOR BUILDING MANAGEMENT SYSTEMS ............................................................ I RINGRAZIAMENTI ........ ERRORE. IL SEGNALIBRO NON È DEFINITO. SOMMARIO ................................................................................ III ABSTRACT ................................................................................... V CONTENT ..................................................................................... 7 FIGURE INDEX ........................................................................... 11 TABLE INDEX ............................................................................ 14 CHAPTER 1 INTRODUCTION ..................................................... 15 1.1 OVERVIEW OF SMART BUILDINGS ............................................................. 15 1.2 BUILDING MANAGEMENT SYSTEMS .......................................................... 17 1.3 CRITICAL ISSUES AND CONTROVERSIES .................................................... 19 1.4 PROBLEM DEFINITION ............................................................................ 20 1.5 OUTLINE ................................................................................................. 21 CHAPTER 2 STATE OF THE ART ................................................ 25 2.1 CONFLICT DETECTION APPROACHES ........................................................ 25 Multi-Agent System Approach ....................................................... 25 Interest/Intention Approach ......................................................... 26 Policy-Based Approach .................................................................. 27 7 2.2 CURRENT CONFLICT TOOLS .................................................................... 27 Low-Level Approaches .................................................................. 27 High-Level Approaches ................................................................. 28 Discussion ...................................................................................... 29 2.3 RULE STRUCTURE .................................................................................. 29 Trigger-Action Programming Techniques Analysis ..................... 30 Basic and Advanced Structure of Rules ......................................... 31 2.4 FRONTENDS ........................................................................................... 32 Samsung® SmartThings ................................................................ 33 Apple® HomeKit............................................................................. 34 ETS by KoNneX® ........................................................................... 36 PC Access by HAI® ........................................................................ 37 CHAPTER 3 BACKGROUND ....................................................... 39 3.1 SMT PROBLEMS ..................................................................................... 39 Available SMT Solvers ................................................................... 40 3.2 THE Z3 SMT SOLVER ............................................................................. 42 SMT-LIB ......................................................................................... 43 Z3 Solver API ................................................................................. 46 CHAPTER 4 MECHANISMS FOR RULE MANAGEMENT ............ 49 4.1 OVERVIEW .............................................................................................. 49 4.2 INFORMAL DESCRIPTION OF RULES ........................................................ 50 Data Handled by Rules .................................................................. 53 A Further Improvement: WIFTTT Model ..................................... 55 4.3 FORMALIZATION OF CONFLICTS AS SMT PROBLEM ................................. 56 8 Conflicts Producing Errors ............................................................. 56 Conflicts Producing Warnings ....................................................... 59 Conflict Formalization