Evaluation of Iotivity: a Middleware Architecture for the Internet of Things

Evaluation of Iotivity: a Middleware Architecture for the Internet of Things

Evaluation of IoTivity: A Middleware Architecture for the Internet of Things KAJSA ELFSTRÖM KTH ROYAL INSTITUTE OF TECHNOLOGY INFORMATION AND COMMUNICATION TECHNOLOGY This master thesis project was carried out in collaboration with Tritech Technology AB Industrial supervisor: Mats Malmberg Evaluation of IoTivity: A Middleware Architecture for the Internet of Things Utvärdering av IoTivity: En Mellanvaruarkitektur för Sakernas Internet KAJSA ELFSTRÖM Examiner: Mark T. Smith KTH Supervisor: Kalle Ngo KTH School of Information and Communication Technology Abstract Today the Internet of Things (IoT) lacks universal standards for communication and interaction between devices. There is a wide collection of diverse software architectures for IoT applications on the market, where smart devices from different manufacturers are often unable to interact with each other. A standards organization within IoT gaining recognition is the Open Connec- tivity Foundation (OCF), an industry group delivering an IoT software framework specification and a product certification program. Open Connectivity Foundation (OCF) is funding an open source reference implementation of the specification called IoTivity, which runs as middleware intended to be portable to all operating systems and connectivity platforms. The goal of the OCF is to enable interoperability be- tween IoT devices regardless of manufacturer, operating system, chipset or physical transport. Through a literature review, the key functional and non-functional requirements for IoT middleware architectures were found. Functionality requirements identi- fied were data management, resource management, resource discovery, and context- awareness. The quality attributes were found to be interoperability, adaptability, scalability, security, and real-time behavior. In this thesis project, IoTivity was evaluated with respect to these requirements with the scenario-based Method for Evaluating Middleware Architectures (MEMS). As a part of MEMS, a case study of implementing a building management system (BMS) with IoTivity was conducted. Results showed that, within the framework of the case study, IoTivity complied with three out of four functional requirements, and three out of five quality require- ments identified for IoT middleware architectures. One of the quality requirements, security, was not evaluated in this study. Keywords: Internet of Things, IoTivity, Middleware, Open Connectivity Foun- dation, Standard. Referat Idag finns det redan många olika mjukvaruarkitekturer för sakernas internet, på engelska Internet of Things (IoT), ute på marknaden. Ett problem är att det ännu inte finns några brett accepterade standarder för hur dessa saker ska interagera. Det kan ofta innebära att uppkopplade enheter från olika tillverkare inte fungerar ihop. Det finns ett flertal organisationer som försöker etablera standarder för saker- nas internet, på alla olika nivåer i kommunikationskedjan. En av de organisationer som nämns allt oftare är Open Connectivity Foundation (OCF). Det är en grupp av ledande företag som har specificerat ett mjukvaruramverk för IoT och ett tillhörande program för produktcertifiering. De sponsrar även en referensimplementation av detta ramverk med öppen källkod som kallas IoTivity. Denna referensimplementa- tion körs som en mellanvara och är tänkt att vara portabel till flera olika mjuk- och hårdvaruplattformar. OCFs långsiktiga mål är att möjliggöra kommunikation mel- lan uppkopplade enheter oberoende av deras tillverkare, operativsystem, chip-set och kommunikationsteknik. Genom en studie av tidigare forskning kunde de mest väsentliga funktionella och kvalitativa kraven på IoT-mellanvara sammanställas. Bland de funktionella kraven fanns datahantering, resurshantering, kontextmedvetenhet och mekanismer för att upptäcka enheter i nätverket. De kvalitativa kraven inkluderade interoperabilitet, anpassningsbarhet, skalbarhet, säkerhet och realtidsbeteende. Examensarbetet har utvärderat IoTivity med avseende på ovan nämnda krav genom en scenariobaserad evalueringsmetod kallad Method for Evaluating Middle- ware Architectures (MEMS). Som en del av MEMS genomfördes en fallstudie där en systemprototyp för fastighetsautomation implementerades med IoTivity. Resultat från genomförda experiment visade att, inom ramarna för fallstudien, kunde IoTivity uppfylla tre av de fyra funktionella kraven och tre av de fem kval- itativa kraven. Ett av de kvalitativa kraven, säkerhet, utvärderades inte i det här projektet. Nyckelord: Sakernas Internet, IoTivity, Mellanvara, Open Connectivity Founda- tion, Standard. Acknowledgements I would like to express my thanks to my examiner Mark Smith, and supervisors Kalle Ngo and Mats Malmberg, for your helpful feedback and inspiration. To all colleagues at Tritech, thank you for welcoming me with open arms and making the time of this thesis project fun and memorable. I also wish to extend my thanks to my family for their support and encourage- ment during these past years of studying at KTH. Kajsa Elfström, Stockholm, April 2017 Contents List of Figures i List of Tables iv Acronyms vii 1 Introduction 1 1.1 Background ................................ 1 1.1.1 Middleware for the Internet of Things . ............ 2 1.1.2 Design Patterns for the Internet of Things ........... 2 1.2 Problem .................................. 3 1.3Purpose.................................. 4 1.4 Goals .................................... 4 1.5 Benefits, Ethics and Sustainability ................... 4 1.6Method.................................. 5 1.7 Delimitations ............................... 5 1.8 Outline ................................... 6 2 Theoretical Background 7 2.1 Common Concepts of the Internet of Things .............. 7 2.1.1 Communication Models ..................... 8 2.1.2 Internet of Things Stack ..................... 9 2.2 Middleware for the Internet of Things .................. 10 2.2.1 Motivation of a Middleware Solution .............. 10 2.2.2 Functional Requirements ..................... 11 2.2.3 Non-Functional Requirements .................. 13 2.3 Open Connectivity Foundation and IoTivity .............. 15 2.3.1 The Open Connectivity Foundation Framework ........ 16 2.3.2 IoTivity .............................. 16 2.3.3 Architecture Overview ...................... 16 2.3.4 Core Framework ......................... 17 2.3.5 Architectural Design Patterns .................. 21 2.4 Summary of Related Work ........................ 27 Contents 3 Methodology 29 3.1 Method for Evaluating Middleware Architectures ........... 29 3.1.1 Description and Motivation ................... 29 3.1.2 Motivating a Case Study in MEMS ............... 29 3.1.3 Steps of MEMS .......................... 30 3.2 Equipment for System Prototype .................... 32 4 Case Study 33 4.1 Case Scenario ............................... 33 4.1.1 Fictional Project ......................... 33 4.1.2 Building Management System .................. 34 4.1.3 Automatic Monitoring and Control Applications ........ 36 4.2 Prototype ................................. 37 4.2.1 Building Lighting System Device ................ 38 4.2.2 Emergency Evacuation System Device ............. 38 4.2.3 Entrance Security System Device ................ 39 4.2.4 HVAC System Device ....................... 39 5 Evaluation Plan 41 5.1 Key scenarios ............................... 41 5.2 Testbed Components ........................... 50 5.3 Procedures for Interoperability Experiments .............. 52 5.4 Procedures for Adaptability Experiments ................ 53 5.5 Procedures for Scalability Experiments ................. 53 6 Results 57 6.1 Results of Experiments Testing Interoperability ............ 57 6.2 Results of Experiments Testing Adaptability .............. 57 6.3 Results of Experiments Testing Scalability ............... 59 7 Discussion 65 7.1 Discussion ................................. 65 7.1.1 Key Findings from Experiment Results ............. 65 7.1.2 Validity of Experiments ..................... 69 7.1.3 Influence of Design Patterns ................... 71 7.1.4 Further Reflections on Quality Requirements .......... 73 7.2 Conclusions ................................ 74 7.3 Recommendations for Future Work ................... 75 Bibliography 75 A Resource Type Definitions of Building Management System I A.1 Property Definitions for Single Resource Types ............. I A.1.1 Air Quality Sensor ........................ I A.1.2 Alarm ............................... II A.1.3 Door ................................ II A.1.4 Door Lock ............................. II Contents A.1.5 Elevator Control ......................... II A.1.6 Light Source ............................ III A.1.7 Location .............................. III A.1.8 Mode ................................ III A.1.9 Motion Detector ......................... III A.1.10 Operational State ......................... IV A.1.11 Smoke Detector .......................... IV A.1.12 Surveillance Camera ....................... IV A.1.13 Temperature ............................ IV A.1.14 Thermostat ............................ V A.1.15 Time Interval ........................... V A.1.16 Ventilation ............................. V A.2 Required Resource Links of Collection Resource Types ........ VI A.3 Resource Type and Interface Definitions ................VII B Modification of Server Application Source Code in Key Scenarios 8to10 IX i Contents ii List of Figures 2.1 An overview of communication models for the Internet of Things (adapted from figures of [1]). ....................... 8 2.2

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    117 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