=Paper=
{{Paper
|id=Vol-1783/paper-08
|storemode=property
|title=Generic Semantic Platform for the User-Friendly Development of Intelligent IoT Services
|pdfUrl=https://ceur-ws.org/Vol-1783/paper-08.pdf
|volume=Vol-1783
|authors=Pieter Bonte,Femke Ongenae,Filip De Turck
|dblpUrl=https://dblp.org/rec/conf/semweb/BonteOT16
}}
==Generic Semantic Platform for the User-Friendly Development of Intelligent IoT Services==
Generic semantic platform for the user-friendly development of intelligent IoT services Pieter Bonte, Femke Ongenae, and Filip De Turck Ghent University - iMinds, Gaston Crommenlaan 8, 9000 Ghent, Belgium Pieter.Bonte@intec.ugent.be Abstract The rising popularity of the Internet of Things (IoT) requires simple and user-friendly methods for designing and deploying intelligent IoT services. End-to-End IoT platforms should support the straightforward integration of var- ious sensors and devices, provide user-friendly methods to define the complex processing that should be performed on the captured IoT data and allow easy deployment on Big Data frameworks to ensure scalability. In this paper we present a generic and scalable platform that allows the automatic detection and integration of various sensors, provides intelligent processing of the captured data through semantic reasoning technologies and scalable and reliable deployment on a Big Data infrastructure. The configuration of the platform and the definition of its intelligent processes can be performed through a visual interface. The focus of the platform is to provide user-friendly support for defining complex IoT applications with limited to no need for coding. 1 Introduction In the Internet of Things (IoT) paradigm, numerous devices are connected to the Inter- net [14]. Their sensor reading are captured and further processed to enable automated and intelligent decision making based on the sensed environment. To achieve this, understanding the raw sensor data is necessary. Collection, modeling, reasoning, and distribution of context in relation to sensor data plays a critical role in order to realize the IoT vision [16]. Semantic Web Technologies can ideally be used for this, since they have proven their use in data integration, knowledge extraction and reasoning [2, 6, 19, 20]. Semantics can aid in the integration of the heterogeneous IoT data, enabling interoper- ability between different sources and providing a uniform model. Semantic reasoning allows integrating the IoT data with available background knowledge, which facilitates the extraction of high-level knowledge to perform accurate and intelligent decision making. Generic middleware platforms aid in various aspects of IoT integration and facilitate the development of IoT services. According to Perera, et al. [16], one of the important design principles for intelligent IoT systems is scalability and extensibility. Gartner expect 21 billion connected things to be in use by 20201. Thus, integration of new sensors and devices should be straightforward. As new sensors get integrated and thus new types of data comes available, it should also be possible to add new intelligent processing services on the fly in a user-friendly manner to extract high-level knowledge. 1 http://www.gartner.com/newsroom/id/3165317 2 As the number of supported devices and services increases, the platform should be able to scale accordingly to still offer adequate performance. However, currently none of the available semantic IoT platforms provides support for all these requirements [2]. In this paper, we present a three-layer generic platform that tackles the aforemen- tioned hurdles. The first layer allows the integration of, discovery of and interaction with any kind of sensor or device in a transparent fashion. This layer hides the underlying APIs and protocols from the individuals sensors and devices from the application devel- opers and maps the gathered heterogeneous IoT data on one uniform semantic model. The second layer facilitates intelligent processing and decision making by combining the captured sensor readings with static background knowledge, such as profile data, environmental info and house plans, through semantic reasoning. It also provides a user- friendly interface that allows application developers to easily define new processing services on the fly. The third layer allows the easy deployment of the platform on a Big Data scale. The remainder of the paper is structured as follows. Section 2 describes the related work in the IoT field. Two illustrative use cases to motivate the need for our platform and that are used as examples throughout the paper are detailed in Section 3. Section 4 details the basic building blocks the generic platform is build upon. In Section 5, the details of the platform are described. Section 6 discusses the advantages of the platform and the further required enhancements. Finally, in Section 7 the prevalent conclusions are highlighted. 2 Related Work Numerous semantic IoT frameworks exist. Platforms such as LinkSmart [13], XGSN [5], Sense2Web [8] and OpenIoT [18] focus on providing facilities for the integration of the devices and sensors. Gray et al. [11] propose a platform that focuses on the discovery and integration of data sources, both static as streaming data. Ali et al. [1] describe an IoT-enabled communication system that allows the annotation of sensory data through the use of XGSN and the continuous analysis of data streams through the use of a stream query processing module for the detections of events. OpenIoT and SOFIA2 [12] allow deployment on the cloud, with the focus on cloud-based storage of the IoT-data. Ryu et. al [17] describe a semantic IoT platform deployed in a smart office use case. The approach provides a solution to communicate with IoT devices and semantically process the IoT data. However, no support for expressive ontology reasoning, service collabora- tion or scalability tactics are provided. As can be seen, none of these platforms combine their approach with intelligent data processing of the IoT data through expressive on- tology reasoning or the required scalability tactics needed to support such services [2]. Furthermore, user-friendliness was not the incentive of these platforms. 3 Use case scenarios To illustrate the need for our platform two office lab use cases are detailed. In a smart office, the environment is equipped with a plethora of IoT devices that constantly sense the state of the environment around them, e.g., movement and sound sensors that detect 3 activity in meeting rooms. Moreover, mobile applications and GPS tracking on the smart phones of the employees provide further information, e.g., travel time to work, location of parking spot, time to find a parking spot, etc. All this provided data can then be combined with background knowledge, e.g., meeting room reservation agenda or layout of the building, in order to derive important insights and anomalies. These insights can then be communicated to the employees to act upon these detected events and ideally support the employees in their daily activities. For example, meeting room reservation could be canceled when no activity is detected or employees can get updates about available parking spaces or current travel times to work. For both use cases the employees at the office are provide with RFID-tags or wrist- bands (wearables) that allow to identify and track them, such that the office environment can automatically be adapted to their preferences. Visitors are given a temporal tag at the reception on their arrival and are directed to the correct floor of the building where their meeting takes place. In the first use case, the office of the employees adapts automatically to their prefer- ences when their presence is detected. Thus, when the employees arrive at their office, the doors will automatically unlock, the temperature will be adjusted and the windows are opened/closed based on the employee’s personal preferences. In a second use case, the building should interact with the visitors as well. Additional logic is defined to guide the visitors to the correct meeting room through the use of lightning strips on the floor, when their presence is detected. 4 Platform Preliminaries To satisfy the need for an easy to setup and configurable IoT platform that facilitates complex processing, we have built our generic platform upon three existing frameworks, i.e., DYAMAND, MASSIF and Tengu. Each of these frameworks is specialized in its own field, namely sensors & devices integration, intelligent semantic processing and scalable big data processing respectively. 4.1 DYAMAND The DYnamic Adaptive Management of Networks and Devices (DYAMAND)2 [15] en- ables easy integration, interaction and discovery of various sensors using various tech- nologies. It acts as a middleware layer between application developers and controllable devices by hiding the different protocols and interfaces of these devices. DYAMAND uses Service Discovery Protocols (SDP) to discover and utilize devices operating on various protocols. Application Services model the specific functionality of a particular type of sensor. As DYAMAND is plugin-based, new SDPs and Application Services can be added at run-time to communicate with and model new types of devices and sensors. Other types of plugins can also be added to DYAMAND to extend the platform or to add application logic. 2 https://dyamand.ilabt.iminds.be/ 4 4.2 MASSIF Platform The MASSIF (ModulAr, Service, SemantIc & Flexible) Platform [4] facilitates the annotation of raw sensor data to semantic data and allows the development & deployment of modular semantic reasoning services which collaborate in order to allow scalable & performant processing of the annotated data. Each one of the services fulfill a distinct reasoning task and operate on their own ontology model. The Semantic Communication Bus (SCB) facilitates collaboration between services. Services indicate in which types of data they are interested in based on high-level ontology concepts by registering filter rules, i.e., OWL axioms, on the SCB. The annotated data from the sensors and the conclusions of the various services are pushed back on the SCB and forwarded to those services that have indicated interest in the published data. For example, a service might be interested in all sensory data. However, in the published annotated data, only the subclasses of the concept Sensor are used, such as TemperatureSensor and RFIDSensor. By subscribing to a high-level concept, such as Sensor, the service can receive any kind of sensor data. The SCB can coordinate the data on a high-level through the use of semantic reasoning. The SCB operates on its own ontology model and the registered OWL Axioms from the services are added to the ontology. Each time data gets pushed on the SCB, it is temporary added to the internal ontology and a reasoning cycle starts to determine whether the published data matches one of the registered OWL axioms. For each match, the data is forwarded to the service that registered that axiom. After the reasoning cycle, the published data is removed again from the ontology. By processing one published event at a time and thus minimizing the processed A-Box, the performance of the SCB can be guaranteed and it also allows duplication and scalability of the SCB. Moreover, the MASSIF Platform also provides several algorithms to optimize the reasoning performance in the individual semantic services [3]. 4.3 Tengu Tengu3 [21] is a Big Data framework that allows the easy and flexible deployment of multi-technology Big Data environments, including for example Hadoop, Spark or Kafka. It simplifies setting up Big Data platforms, and once configured, the platform can be deployed on various infrastructures. It takes reliability into account by logging messages and recovering failed instances. 5 Generic semantic IoT Platform To provide an easy to use, end-to-end intelligent and scalable IoT platform, these three frameworks were seamlessly combined and adapted to upgrade the applicability within the IoT. This section describes how this collaboration was achieved. Figure 1 depicts the architecture of the generic platform and how the various components are linked together. 3 http://tengu.intec.ugent.be/ 5 Figure 1. Architecture of the Generic Platform. 5.1 Converting the data captured by DYAMAND to semantic input for the MASSIF Platform The DYAMAND platform uses an internal representation of the discovered sensors and devices, describing their capabilities and sensor readings. To integrate the DYAMAND framework seamlessly with the semantic MASSIF platform, we mapped this internal representation to the Semantic Sensor Network (SSN) [7] ontology. This enables a standardized representation of the sensor data and allows it to link it to available back- ground knowledge about the sensor, e.g., types of data measured, accuracy and location information. An additional plugin was developed for DYAMAND that captures all its sensor discoveries and readings, maps this data to the SSN ontology and transmits data in the JSON-LD format to a Kafka Messaging Bus. By pushing this data on Kafka it can be dynamically picked up by the components of MASSIF or other applications that want to make use of this data. The MASSIF Platform was extended with a Context Adapter component that picks up the JSON-LD message from Kafka and converts them to OWL API Axioms, which are used internally in the MASSIF Platform and adhere to the ontology used by the SCB. 5.2 User-friendly design of new intelligent IoT Services MASSIF has been adapted to allow the easy and user-friendly development of IoT- services. To limit the amount of code that needs to be written by application developers to deploy a new semantic service on the platform, a generic service was created. To design a new semantic service, only four things have to be defined, namely: – a name and short description of the service, – the used ontology by the service, which can be both A-Box and T-Box data, – the OWL axiom, indicating the high-level input data the service is interested in, and – the SPARQL-queries that define the application logic of the service As illustrated in Figure 2, the creation of new services, by defining these four inputs, can be done through a visual interface. This visual interface also maintains and shows 6 Figure 2. Example of the visual interface to create new generic service instances. all the generic services that have been previously created such that they can be adapted if needed. MASSIF internally uses OSGi4, which provides an additional layer on top of the Java Virtual machine, to enable modularity. The use of OSGi allows to launch various services, even on distributed machines. Through the use of the Configuration Admin5, new instances of the generic service can be launched, each with their own configuration. The configuration describes the defined properties, such as the input data, the used ontology and the SPARQL-queries. As such, the MASSIF Platform can be extended with new services on the fly, even at run-time. The following paragraphs further detail how these inputted properties are used to configure a new instance of the generic instance within the MASSIF Platform. The Ontology Since each service handles a distinct reasoning task, they can operate on their own ontology. This ontology should also import or extend the ontology used by the SCB in order to be able to adequately interpret the incoming data and output the conclusions in a uniform model. In this case, this means that the generic service ontology imports the SSN ontology. The ontology of the generic service instance can be defined by providing a local file where the ontology is described or an URL to a remote ontology location. Both A-Box and T-Box data can be defined in these files. The generic service instance will load the ontology definition and add it to its own ontology model. 4 https://www.osgi.org/ 5 https://osgi.org/javadoc/r5/cmpn/index.html 7 Figure 3. Example input definition in Manchester OWL Syntax defined in the visual interface. The input data As mentioned before, a service can indicate in which types of data it is interested, by defining filter rules in the form of OWL Axioms. The visual interface allows to indicate one or more filter rules as text in various syntaxes. Currently, the supported syntaxes are those that can be parsed by the OWL API, such as JSON-LD, RDF XML, Turtle and Manchester OWL syntax. The generic service will parse the provided filter rules to OWL axioms and use them to subscribe the new service instance to the SCB. Later on, filter rules can be added or deactivated. For example, suppose we want to construct a service that detects the presence of people in particular areas to determine their location. This service requires as input data, amongst other things, all the data captured by a Bluetooth Low Energy (BLE) beacon. The beacon will capture the bluetooth tags of the nearby bleutooth devices and allows to detect the presence of the employees wearing a wristband for identification. Figure 3 shows the filter rule that filters this data for this presence service in Manchester OWL Syntax. When the service instances receives data based on the defined input, the data is added to the internal ontology of the service for further processing and decision making. The Queries To define the application logic of the new generic service instance it- self, one can define one or more SPARQL-queries in the visual interface. Each service instance maintains a list of queries. When the service is active, these queries are auto- matically executed every time new data is received through the SCB. By using SPARQL CONSTRUCT queries, the query result is a RDF graph that models the conclusions of the service. The results of the CONSTRUCT query are pushed back on the SCB where they can be picked up by other services. For example, the query in Listing 1.1 encodes part of the application logic of the presence service that was also used as example in the previous paragraph. Other services can subscribe to the constructed data that is pushed on the SCB if they want to be notified about the location updates of people. 8 Figure 4. Observation pattern example Listing 1.1. Example SPARQL query to identify the location of a person. For conciseness the IRIs ‘http://IBCNServices.github.io/Accio-Ontology/’ have been shortened to ‘http://IBCNServices/’. PREFIX r d f : < h t t p : / / www. w3 . o r g / 1 9 9 9 / 0 2 / 2 2 − r d f −s y n t a x −n s #> PREFIX owl : < h t t p : / / www. w3 . o r g / 2 0 0 2 / 0 7 / owl #> PREFIX r d f s : < h t t p : / / www. w3 . o r g / 2 0 0 0 / 0 1 / r d f −schema #> PREFIX x s d : < h t t p : / / www. w3 . o r g / 2 0 0 1 / XMLSchema#> PREFIX s s n i o t : < h t t p : / / I B C N S e r v i c e s / S S N i o t . owl #> PREFIX s s n : < h t t p : / / I B C N S e r v i c e s / o n t o l o g i e s / s s n #> PREFIX d u l : < h t t p : / / I B C N S e r v i c e s / o n t o l o g i e s /DUL . owl #> CONSTRUCT{? d e t e c t e d P e r s o n d u l : h a s L o c a t i o n ? l o c a t i o n } WHERE {? o b s e r v a t i o n r d f : t y p e s s n i o t : B L E O b s e r v a t i o n . ? observation ssn : observationResult ? sensorOutput . ? sensorOutput ssn : hasValue ? sensorValue . ? sensorValue dul : hasDataValue ? bleTag . ? detectedPerson rdf : type dul : Person . ? detectedPerson ssniot : identifiedBy ? pesonIdent . ? pesonIdent dul : hasDataValue ? bleTag . ? o b s e r v a t i o n ssn : observedBy ? sensingDevice . ? sensingDevice ssn : onPlatform ? platform . ? platform dul : hasLocation ? l o c a t i o n . } 5.3 Converting conclusions of the MASSIF Platform to DYAMAND actions The IoT vision of course encompasses more then just capturing and processing sensor data. It also involves the interaction with various devices in an autonomous way in order to make the environment truly smart, e.g., turning on the lights to the preferred level when the presence of a particular person is detected. First, the SSN ontology was extended with an observation pattern [22]. An exam- ple of this pattern is visualized in Figure 4. The Observation class of SSN models observations made by devices and sensors. We added four classes, namely Symptom, Fault, Solution and Action. A Symptom models specific phenomena that are de- tected in the Observations, e.g., when the light intensity in a certain location is below a particular threshold, a DarkLocationSymptom is detected. Queries or axioms 9 can then be defined that detect undesirable combinations of Symptoms and classify them as Faults, e.g., when the presence of a person is detected in a dark room, a DarkLocationWithPersonFault is detected. These detected Faults can then be coupled to Solutions that resolve them, e.g., CreateLightSolution. Finally, this Solution can be mapped on one or more Actions that need to be performed to reach this solution, e.g., OpenTheRollingShutterAction or TurnOnLightAction. Next, a special service was created, i.e., the Actuator Service, that subscribes to all Solutions on the SCB. These Solutions can be outputted by other services as the result of a CONSTRUCT query. For example, Listing 1.2 visualizes the SPARQL query of a service that outputs a Solution to turn on the lights when a presence is detected in a location and the lights are off. The Actuator Service interprets the RDF data it receives from the SCB and converts it to actions that can be performed on the DYAMAND platform. The DYAMAND platform is then responsible for executing these actions in the physical environment. This way, interactions with the physical devices can be defined on a high level, without the need for any code implementation. Listing 1.2. Example SPARQL-query describing a Solution to turn on the lights when a presence is detected and the room is dark. For conciseness the IRIs ‘http://IBCNServices.github.io/Accio- Ontology/’ have been shortened to ‘http://IBCNServices/’. PREFIX r d f : < h t t p : / / www. w3 . o r g / 1 9 9 9 / 0 2 / 2 2 − r d f −s y n t a x −n s #> PREFIX owl : < h t t p : / / www. w3 . o r g / 2 0 0 2 / 0 7 / owl #> PREFIX r d f s : < h t t p : / / www. w3 . o r g / 2 0 0 0 / 0 1 / r d f −schema #> PREFIX x s d : < h t t p : / / www. w3 . o r g / 2 0 0 1 / XMLSchema#> PREFIX s s n i o t : < h t t p : / / I B C N S e r v i c e s / S S N i o t . owl #> PREFIX s s n : < h t t p : / / I B C N S e r v i c e s / o n t o l o g i e s / s s n #> PREFIX d u l : < h t t p : / / I B C N S e r v i c e s / / o n t o l o g i e s /DUL . owl #> CONSTRUCT { s s n i o t : event rdf : type s s n i o t : CreateLightSoluction . s s n i o t : event ssn : onPlatform ? platform . s s n i o t : f a u l t rdf : type DarkLocationWithPersonFault . s s n i ot : event s s n i ot : isSolutionOf s s n i o t : faul . s s n i o t : faul dul : hasLocation ? l o c a t i o n . } WHERE { ? l o c a t i o n r d f : t y p e d u l : P l a c e . ? l o c a t i o n s s n i o t : hasSymptom ? symptom . ? symptom r d f : t y p e s s n i o t : DarkLocationSymptom . ? symptom r d f : t y p e s s n i o t : P r e s e n c e D e t e c t e d S y m p t o m . ? platform dul : hasLocation ? l o c a t i o n . } 5.4 Deployment using Tengu Tengu uses juju charms6 to deploy the various components in the cloud. To allow easy set up of our Big Data enabled IoT platform, various charms were written to easily 6 https://jujucharms.com/ 10 set up the MASSIF platform and a Kafka7 message bus that takes the communication across various nodes into account. Tengu ensures that the various charms are deployed on the correct machine automatically. Through the use of Tengu, the end user only has to indicate which components, i.e., which services, he/she wants to deploy. Through the use of a generic big data platform, all data passing over the Kafka message bus can be logged for offline batch processing. Traditional machine learning and data mining techniques can be utilized on the historical data. JSON-LD is used to facilitate this generic transition between semantic web data and traditional data. 6 Discussion We presented a generic IoT platform that simplifies the deployment and definition of intelligent IoT applications. The use case scenarios described in Section 3 can easily be realized by using this platform. We assume that all the used sensors and devices are already known by the DYAMAND platform and mappings to SSN are thus already available in the created plug-in. The following services can then be designed using the visual interface: – Presence Service: This service defines filter rules as input that capture all location, BLE and RFID observation that are made in the office environment. The loaded ontology contains, amongst other things, a model of the floor plan of the building, information about the sensors and their locations and a whether this device, e.g., the RFID or BLE tag, is mapped to a particular employee. When new data arrives in the service from the SCB, the service links it to the correct person, updates the location of this person and pushes this knowledge back on the SCB. – Employee Service: This service captures all the temperature, light intensity and lock observations made in the offices and the location updates from the Presence Service that pertain to employees. The loaded ontology models the office environment and the employees’ preferences. The defined logic in the SPARQL queries automatically adjusts the office environment to the detected employee by, e.g., unlocking the door or adjusting the temperature and light level to his/her preference. – Visitor Service: This service takes as input the location updates from the Presence Service that pertain to visitors. The loaded ontology integrates available knowledge on the visitor and the calendar of the employees. The SPARQL queries check with whom and where this person has a meeting and outputs which light should be turned on in which color such that the visitor can easily find the meeting location. The DYAMAND platform is then responsible for executing the required actions in the office environment. In our future work, we will incorporate an extension of the RML [9] framework to annotate the captured sensor stream in a standardized manner. Currently RML cannot annotate and map streams of data on the fly. We will also extend our visual interface. We want to foresee additional options when a service is created, such as which query execution policies should be employed (e.g., everytime an event arrives or after a pre- defined amount of time), whether reasoning should be turned on, which reasoner should 7 http://kafka.apache.org/ 11 be used and which reasoning optimizations should be facilitated (e.g., subsetting [3] or materialization). Furthermore, additional aids to simplify the definition of the input data and the queries will be researched. Currently, it might be hard to specify the input data and the queries, since their is no interaction with the loaded ontology, e.g., a drop-down list with the possible concepts and relations. We are also looking at incorporating existing research to provide the queries and filter rules as natural language sentences [10]. 7 Conclusion In this paper we presented an user-friendly, generic IoT platform that allows the discovery of devices and the capturing of their data, intelligent processing of this data and scalable deployment on Big Data infrastructures. To improve user-friendliness, a visual interface was designed that allows to develop intelligent IoT services, based on background knowledge captured in ontologies, by only indicating the input data and SPARQL- queries that define the IoT service. 8 Acknowledgment This research was made possible by the DiSSeCt Strategic Fundamental Research (SBO), funded by VLAIO. References 1. Ali, M.I., et al.: A Semantic Processing Framework for IoT-Enabled Communication Systems. In: The Semantic Web-ISWC 2015, pp. 241–258. Springer (2015) 2. Barnaghi, P., et al.: Semantics for the Internet of Things: Early Progress and Back to the Future. Int. J. Semant. Web Inf. Syst. 8, 1–21 (Jan 2012) 3. Bonte, P., et al.: Evaluation and optimized usage of owl 2 reasoners in an event-based ehealth context. In: 4th OWL Reasoner Evaluation (ORE) Workshop. Athens, Greece (June 6 2015) 4. Bonte, P., et al.: The MASSIF Platform: a Modular & Semantic Platform for the Devel- opment of Flexible IoT Services . Knowledge and Information Systems pp. 1–38 (2016), http://dx.doi.org/10.1007/s10115-016-0969-1 5. Calbimonte, J.P., et al.: XGSN: An Open-source Semantic Sensing. Middleware for the Web of Things. . Terra Cognita and Semantic Sensor Networks p. 51 (2014) 6. Compton, M., et al.: A survey of the semantic specification of sensors. In: 2nd International Workshop on Semantic Sensor Networks at the 8th International Semantic Web Conference (ISWC). Washington DC, USA (25-29 October 2009) 7. Compton, M., et al.: The ssn ontology of the w3c semantic sensor network incubator group. Web Semantics: Science, Services and Agents on the World Wide Web 17, 25–32 (2012) 8. De, S., et al.: An Internet of Things Platform for Real-World and Digital Objects. Scalable Computing: Practice and Experience 13(1), 45–58 (2012) 9. Dimou, A., et al.: Rml: A generic language for integrated rdf mappings of heterogeneous data. In: LDOW (2014) 10. Dubey, M., et al.: Asknow: A framework for natural language query formalization in sparql. In: 13th Extended Semantic Web Conference (ESWC). Heraklion, Greece (29 May - 2 June 2016) 12 11. Gray, A.J., et al.: A Semantically Enabled Service Architecture for Mashups over Streaming and Stored Data. In: The Semanic Web: Research and Applications, pp. 300–314. Springer (2011) 12. Indra: IoT Interoperability Platform with a Big Data approach (Mar 2016), sofia2.com 13. Kostelnik, P., et al.: The semantic middleware for networked embedded systems applied in the Internet of Things and Services domain. Scalable Computing: Practice and Experience 12(3), 307–316 (2011) 14. L., A., et al.: The Internet of Things: A survey. Computer Networks 54, 2787–2805 (2010) 15. Nelis, J., et al.: Dyamand: dynamic, adaptive management of networks and devices. In: Local Computer Networks (LCN), 2012 IEEE 37th Conference on. pp. 192–195. IEEE (2012) 16. Perera, C., et al.: Context aware computing for the internet of things: A survey. IEEE Com- munications Surveys & Tutorials 16(1), 414–454 (2014) 17. Ryu, M., et al.: Integrated semantics service platform for the internet of things: A case study of a smart office. Sensors 15(1), 2137–2160 (2015) 18. Soldatos, J., et al.: OpenIoT: Open Source Internet-of-Things in the Cloud. In: Interoperability and Open-Source Solutions for the Internet of Things, pp. 13–25. Springer (2015) 19. Song, Z., et al.: Semantic middleware for the internet of things. In: Internet of Things (IOT). pp. 1–8. Tokyo, Japan (29 November - 1 December 2010) 20. Strang, T., et al.: A context modeling survey. In: Workshop on Advanced Context Modelling, Reasoning and Management at 6th International Conference on Ubiquitous Computing (Ubi- Comp). Nottingham, UK (7-10 September 2004) 21. Vanhove, T., et al.: Tengu: An experimentation platform for big data applications. In: 2015 IEEE 35th International Conference on Distributed Computing Systems Workshops. pp. 42–47. IEEE (2015) 22. Verstichel, S., et al.: Distributed ontology-based monitoring on the ibbt wilab.t infrastructure. In: 6th International Conference on Testbeds and Research Infrastructures for the Develop- ment of Networks and Communities (TridentCom). pp. 509–525. Berlin, Germany (18-20 May 2010)