Você está na página 1de 16

An Ontology-Driven Context

Engine for the Internet of Things


Discussed by Nikhil Narang
S1: Introduction 2

Internet of Things (IoT)


An environment of ubiquitous sensing and actuation, where all devices are
connected to a distributed backend infrastructure
Development of context-aware computing using pervasive sensor networks

Status Quo
Emerging IoT implementations involve multiple distinct systems with their own web-
based backends that expose distinct APIs for interaction and data retrieval

Context-aware computing can only be achieved with a middle framework


that bridges the gap between data and the applications in the IoT
S2: Related Work 3

Context Ontologies
Formal data representation that categorize vast amount of unregulated and
diverse data from information sources in the IoT

Context-Aware Applications
Applications that use high-level, filtered and processed data, known as
context

Context-Aware Middleware
Software that acts as a bridge between low-level sensors and the backend,
or between the backend and user-facing applications
S2: Takeaways 4

A context-aware application in IoT must have the following


requirements:

1. Adaptability system allows reasoning under multiple data


subsets
2. Distributed Data Aggregation data comes from multiple sources
3. Data Flexibility internal and external data representations should
be adaptable enough to handle various types of sensor data
4. Reasoning context engine is to be developed into context-aware
applications
S3: System Design 5

Goal: To enable the design of context-aware applications in the


presence of transient objects, each with ever-changing context
S3: Ontology-Driven Context Translation 6

Context Space (S): Set of


context variables

Context Dimension (D): A


subset of the context space
that represents the minimum
set of context variables that Output

the application can use to


process an iteration
S3: Context Engine 7

Context Identification
Each application must determine its relevant context variables

Flexibility of Reasoning
Each application must be able to perform different types of processing
depending on the available context data at a given time

Extensibility
Each application should be able to change with minimal interruption of
service as system and environmental conditions change
S4: System Implementation 8

Data representation

External data representation using XCML


(markup language for Context Modeling
Language)
Internal representation using JSON

Data translation

Scans for all objects that match a


particular context dimension name, and
captures objects that contain all the
dimensions required for the application
S4: System Implementation 9

Context Engine Base


Every application has associated XCML data representing its context
dimension(s)
Actual processing is application dependent, and is left as an abstract
function called runApplication()
When any subset of collected data matches a context dimension
completely, the runApplication() method is triggered by the base framework
S5: A Step Counting Application 10

Case Study 1: Develop a step counter that collects data streams from
two independent devices and outputs an accurate daily step count for
a single user by learning when and where to trust one stream over
another
Fitbit Flex step counter
Android smartphone running Moves App
S5: A Step Counting Application 11

Input Data Context Dimensions Context Engine

Bayesian Learning Network


S5: Automated Lamp Actuation 12

Case Study 2: Design a context-aware application that changes the


color of a Philips Hue lamp depending on the context of a room
Change the color to a users preferred color when they are sitting in the room
Change the color to an intermediate color between all occupants
preferences if there are multiple people sitting in the room
S5: Automated Lamp Actuation 13

Input Data Context Engine Output Data


S6: Conclusion 14

Developed an ontology-driven context engine to operate on and


unify ever-changing sources of data and context in a low-overhead
manner
Leveraged XCML context ontology to unify data translation, filtering,
and preprocessing
Developed a methodology to implement context-aware applications
Implemented two different applications using the methodology
15 15

Questions?
Credits 16

An Ontology-Driven Context Engine for the Internet of Things,


Venkatesh et. al.
http://csetechrep.ucsd.edu/Dienst/UI/2.0/Describe/ncstrl.ucsd_cse/CS2015-1009

Você também pode gostar