26.08.2013 Views

Vision and Challenges for Realising the Internet of Things

Vision and Challenges for Realising the Internet of Things

Vision and Challenges for Realising the Internet of Things

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2 Semantic Device Discovery <strong>and</strong> Ontologies<br />

Semantic Device Discovery: The basic idea behind <strong>the</strong> Hydra semantic model-driven<br />

architecture (MDA) is to differentiate between <strong>the</strong> physical devices <strong>and</strong> <strong>the</strong> application’s view<br />

<strong>of</strong> <strong>the</strong> device. A Hydra device is <strong>the</strong> s<strong>of</strong>tware representation <strong>of</strong> a physical device. This representation<br />

is ei<strong>the</strong>r implemented by a Hydra s<strong>of</strong>tware proxy running on a gateway device or by<br />

embedded Hydra s<strong>of</strong>tware on <strong>the</strong> actual device. A Hydra device is said to Hydra-enable a<br />

physical device.<br />

The concept <strong>of</strong> semantic devices, which is based on Hydra devices, supports static as well as<br />

dynamic mappings to physical devices. Mappings can be both 1-to-1 from a semantic device to<br />

a Hydra device or compositions <strong>of</strong> multiple devices into an aggregate. An example <strong>of</strong> a 1-to-1<br />

mapping would be a “semantic pump” that is exposed with all its services to <strong>the</strong> programmer,<br />

whereas a “semantic heating system” is a composition <strong>of</strong> three different underlying Hydra<br />

devices – a pump, a <strong>the</strong>rmometer <strong>and</strong> a digital lamp [1]. Hydra supports <strong>the</strong> semantic MDA<br />

approach from two perspectives:<br />

At design-time through <strong>the</strong> use <strong>of</strong> <strong>the</strong> Hydra Device Ontology, whereby it supports both<br />

device developers as well as application developers. When a new device type is needed, <strong>the</strong><br />

adequate concept in <strong>the</strong> device classification ontology can be fur<strong>the</strong>r sub-classed by more<br />

specialised concepts <strong>and</strong> <strong>the</strong> new properties can be added. Specific device models are created<br />

as instances <strong>of</strong> device ontology concepts <strong>and</strong> serve as templates <strong>for</strong> run-time instances<br />

<strong>of</strong> physical devices.<br />

At run-time, whereby Hydra applications can use knowledge provided by various device<br />

management services (e.g. discovery <strong>and</strong> updates). In <strong>the</strong> device discovery process, <strong>the</strong> discovery<br />

in<strong>for</strong>mation is resolved using <strong>the</strong> ontology <strong>and</strong> <strong>the</strong> most suitable template is identified.<br />

The identified template is cloned <strong>and</strong> a new unique run-time instance representing <strong>the</strong><br />

specific device is created.<br />

These device descriptions can be defined at a fairly general level, e.g. <strong>the</strong> application may only<br />

be interested in a "Hydra SMS Service" <strong>and</strong> any device entering <strong>the</strong> network that fits this general<br />

category will be presented to <strong>the</strong> application. This means that an application need only<br />

know <strong>the</strong> types <strong>of</strong> devices <strong>and</strong> services. The application may use a device that may have been<br />

designed <strong>and</strong> built after <strong>the</strong> application was defined, as long as it can be classified through <strong>the</strong><br />

device ontology as being <strong>of</strong> a device type or using a service that is requested by <strong>the</strong> application.<br />

The Hydra SDK is available in an object-oriented language environment providing class libraries<br />

developers can use to program with existing devices, <strong>and</strong> to generate new ones. Specific<br />

tools exist <strong>for</strong> accessing <strong>and</strong> maintaining <strong>the</strong> Device ontology.<br />

Device Discovery Architecture: The Hydra MDA includes a three-layer discovery architecture.<br />

The discovery process operates both locally <strong>and</strong> remotely so that devices that are discovered<br />

in a local Hydra network can also be discovered in a Hydra network over <strong>the</strong> P2P protocol<br />

implemented by <strong>the</strong> Hydra Network Manager.<br />

The lowest discovery layer implements <strong>the</strong> protocol-specific discovery <strong>of</strong> physical devices. This<br />

is per<strong>for</strong>med by a set <strong>of</strong> specialized discovery managers listening <strong>for</strong> new devices at gateways<br />

in a Hydra network. The second layer uses UPnP/DLNA technology to announce discovered<br />

physical devices in <strong>the</strong> local network <strong>and</strong> to peer networks. At <strong>the</strong> top most layer <strong>the</strong> device<br />

type is resolved against <strong>the</strong> device ontology <strong>and</strong> is mapped to one or more Hydra device types.<br />

Hydra Device Ontology: The Hydra Device Ontology is expressed in OWL-DL [5,7] <strong>and</strong> is<br />

structured in several modules connected to <strong>the</strong> core ontology concepts, describing device capabilities<br />

like hardware <strong>and</strong> s<strong>of</strong>tware properties, services, device malfunctions, QoSproperties,<br />

energy pr<strong>of</strong>iles, <strong>and</strong> device security properties [1]. The Hydra device ontology was.<br />

as illustrated in Figure 4.8-4, initially based on <strong>the</strong> FIPA Device Ontology, which specifies a<br />

frame-based structure to describe devices [3]. The initial device taxonomy has been extended<br />

based on <strong>the</strong> AMIGO project vocabularies <strong>for</strong> device descriptions [2] <strong>and</strong> has been fur<strong>the</strong>r<br />

extended with additional subsets <strong>for</strong> specific device capabilities.<br />

CERP-IoT – Cluster <strong>of</strong> European Research Projects on <strong>the</strong> <strong>Internet</strong> <strong>of</strong> <strong>Things</strong><br />

160

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!