A Domain Specific Language to Specify Complex

A Domain Specific Language to Specify Complex

ASL: A Domain Specific Language to Specify Complex Alarm Conditions in the Energy Domain Alberto Filipe de Carvalho e Lomba Viana Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisor(s): Prof. Paulo Jorge Fernandes Carreira Examination Committee Chairperson: Prof. José Manuel da Costa Alves Marques Supervisor: Prof. Paulo Jorge Fernandes Carreira Member of the Committee: Prof. Alexandre Paulo Lourenço Francisco November 2015 ii Energy and persistence conquer all things. Benjamin Franklin iii iv Acknowledgments Acima de tudo agradec¸o a` minha mae˜ por todo o apoio prestado durante a universidade e ao longo de toda a minha vida. Demonstrou sempre ser uma mae˜ exemplar e a sua ajuda foi essencial para que pudesse concluir com exitoˆ esta etapa tao˜ importante. Este trabalho e´ dedicado a ti. Agradec¸o ao Prof. Paulo Carreira por me ter providenciado o seu apoio, exigencia,ˆ sugestoes˜ e sobretudo por ter acreditado desde o in´ıcio em mim e nas potencialidades deste trabalho. Finalmente, agradec¸o aos meus amigos pelo apoio cont´ınuo que me prestaram desde o primeiro momento. Sem vocesˆ esta jornada teria sido mais dif´ıcil e menos divertida. v vi Resumo Na gestao˜ de energia agir no momento adequado e´ um aspecto crucial. Isto ocorre maioritariamente porque a rapida´ detecc¸ao˜ de problemas permite tomar decisoes˜ rapidamente, permitindo assim resolver os problemas. A combinac¸ao˜ de sistemas de gestao˜ de energia (EMS) com alarmes torna poss´ıvel detectar e reportar anomalias aos gestores de energia dos edif´ıcios. Contudo, o desenho efectivo de alarmes envolve tipicamente um grande conhecimento acerca do dom´ınio e tambem´ um grande esforc¸o de programac¸ao,˜ especialmente quando estao˜ envolvidas condic¸oes˜ complexas. De facto, a definic¸ao˜ de alarmes nos EMS requer a especificac¸ao˜ de condic¸oes˜ sobre dados recolhidos continuamente de medidores e sensores, nao˜ existindo ainda uma soluc¸ao˜ sistematica.´ Este trabalho tem como objectivo criar uma soluc¸ao˜ para suportar os gestores de energia dos edif´ıcios na especificac¸ao˜ de alarmes espec´ıficos a este dom´ınio, que envolvem condic¸oes˜ complexas sobre dados de medidores e sensores. Esta soluc¸ao˜ vai permitir que os utilizadores criem novos alarmes usando apenas uma interface sem a necessidade de modificar o codigo´ da aplicac¸ao.˜ Usando esta soluc¸ao˜ os gestores de energia dos edif´ıcios temˆ maior controlo sobre os alarmes existentes e as condic¸oes˜ que os activam. Para validar esta soluc¸ao˜ realizamos testes de usabilidade. Palavras-chave: Gestao˜ de Energia, Alarmes, Processamento de Dados, Linguagem Es- pec´ıfica de Dom´ınio vii viii Abstract In energy management timeliness is a fundamental aspect, mainly because faster problem detection en- ables faster decision making and timely actions in order to solve problems. The combination of energy management systems (EMS) with alarms makes it possible to detect and report anomalies to building energy managers. Effective alarms design typically involves a great deal of domain knowledge and also programming hours — specially when complex conditions are involved. Indeed, EMS alarm definitions require specifying conditions over streams of data collected from meters and sensors for which no ad- equate systematic solution exists yet. This work aims to create a solution to support building energy managers in the specification of domain specific alarms involving complex conditions over energy me- ters and sensor data. This solution will enable users to create new alarms that capture complex patterns over streaming data through a graphical interface without the need to modify the application code. Us- ing this solution building energy managers are able to get more control regarding existing alarms and conditions triggering them. To validate this solution we performed usability tests. Keywords: Energy Management, Alarms, Data Processing, Domain Specific Language ix x Contents Acknowledgments...........................................v Resumo................................................. vii Abstract................................................. ix List of Tables.............................................. xv List of Figures............................................. xvii Glossary................................................ xix 1 Introduction 1 1.1 Problem Statement........................................3 1.2 Methodology...........................................4 1.3 Document Organization.....................................4 2 Concepts 7 2.1 Energy Management Systems.................................7 2.2 Alarms and Alerts........................................8 2.2.1 Alarm Management................................... 10 2.2.2 Anomaly Detection.................................... 11 2.2.3 Challenges of Anomaly Detection........................... 12 2.3 Streaming Data.......................................... 12 2.3.1 Monitoring Applications................................. 13 2.3.2 Real-Time Data Processing Requirements...................... 13 2.4 Events and Patterns....................................... 14 2.4.1 Basic Patterns...................................... 14 2.4.2 Dimensional Patterns.................................. 15 2.5 Domain Specific Languages................................... 15 3 Related Work 17 3.1 Data Mining for Anomaly Detection............................... 17 3.1.1 Anomaly Detection Techniques............................. 17 3.1.2 Real-Time Business Intelligence............................ 19 3.2 Industrial Solutions........................................ 20 3.2.1 Fault Detection and Diagnosis............................. 20 xi 3.2.2 Alarm Quality Requirements.............................. 21 3.3 Languages Supporting Event Detection............................ 23 3.3.1 Automation Service Languages............................. 23 3.3.2 Visual Programming Languages............................ 23 3.3.3 Languages for Industrial Environments......................... 24 3.4 Stream Processing Engines................................... 24 3.4.1 Stream Processing Engine Approaches........................ 24 3.4.2 Query classification................................... 25 3.4.3 Stream Query Languages................................ 26 3.4.4 Stream Query Languages Operators.......................... 27 3.4.5 DSMS vs DBMS..................................... 29 3.5 A Survey of existing EMS.................................... 29 3.6 Systematization of Alarm Conditions.............................. 31 3.7 Discussion............................................ 34 4 Solution 35 4.1 Architecture Overview...................................... 35 4.2 Alarm Specification Language.................................. 36 4.2.1 Literature-based Domain Analysis........................... 37 4.2.2 Language Design.................................... 37 4.2.3 Language Syntax.................................... 41 5 Implementation 43 5.1 Information Presentation Stage................................. 43 5.2 Data Processing Stage..................................... 46 5.2.1 Data Processing Stage API............................... 46 5.2.2 Applying the Interpreter Design Pattern........................ 47 5.2.3 Semantics of the Language Elements......................... 49 5.2.4 Language Conversion Examples............................ 53 5.3 Data Acquisition Stage...................................... 55 6 Validation 57 6.1 ASL Validation.......................................... 57 6.2 Alarm System Validation..................................... 59 6.3 Methodology and Participants.................................. 60 6.4 Results.............................................. 61 6.4.1 Results of the ASL Validation.............................. 61 6.4.2 Results of the Alarm System Validation........................ 62 6.5 Lessons Learned......................................... 63 6.6 Discussion............................................ 63 xii 7 Conclusions 65 7.1 Impact............................................... 66 7.2 Future Work............................................ 66 Bibliography 69 A Grammar of the Alarm Specification Language 83 B Domain Model of the Alarm Specification Language 85 C Feature Model of the Alarm Specification Language 87 D Alarm System Representation 89 E Validation Questionnaire 91 xiii xiv List of Tables 2.1 Characteristics of alarms....................................8 2.2 Examples of alarm types.....................................9 2.3 Alarm priority distribution....................................9 2.4 Categories of anomalies and respective descriptions..................... 12 3.1 The tree activities of fault detection and diagnosis....................... 20 3.2 Symptoms of unsatisfactory alarm management....................... 21 3.3 Methods for alarm suppression................................. 22 3.4 Examples of stream query languages and their support to the stream processing require- ments............................................... 27 3.5 Some differences between DBMS and DSMS......................... 29 3.6 Survey of energy management systems............................ 30 3.7 Alarm conditions gathered from the literature review..................... 32 3.8 Classification of the alarm conditions gathered from the literature review.......... 33 4.1 Classification of the pattern detected by each language element.............. 41 5.1 REST API provided by the data processing stage....................... 47 6.1 Usability evaluation

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    114 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us