Why Iot System Description, SSN & IOT-Light based onthologies
Using heterogeneous systems, lead to creating dictionaries of existing sensors and actuators, leverage and extend their usages for intelligent ambiant systems.
In this article we’ll cover a use of such description, on smart home system, based on W3C standards and Onthologies.
Iot.frett.net Ontology needs for description
Dealing with extremly adaptable and heterogeneous systems, may requires a description. This description setup has many advantages :
- system evolutions (adding new devices to the system by configuration)
- inventory and documentation (knowing what exists, and their protocols)
- construct new services based also on description (bots)
These mentionned bullets points are explained in a more deep insight in the following, to put it in perspective on real usage and its benefits. For a Fast scan of the article, you may want to look first at the benefits and application, jump then to the Application Section.
Managing and handling systems evolutions
Intelligent physical devices expose multiple sensors and associated actuators. These small embedded plateforms have their own capabilities, and protocols. When changing, replacing or completing global system with such plateforms, user-oriented services have to be maintained and furnish same informations. (interfaced role orientation).
Maintaining measures from physical sensors needs to be periodically requalified with goldens, if not monitored using other existing references (same kind of measures nearby).
Be able to query the list and maintainance planning with these aspects
In the extreme Ambiant system flexibility, with multiple protocols, multiple forms of deployments, role of devices, can be tidious to dig into if no global view provided. The need to have a “whole” picture of what exists and the kind of service, that way the service is also accessed if then key for new software services. Description equivalence also help for mastering description diversity.
Construct new services based on description
The ultimate goal for creating and maintaining the description, is properly achieved in making the system evolving in an exernal way. Separation of description and implementation, permit to create constellation of services implementation, base on the description and specifications.
Multiple aspects benefit from it. The first one in the monitoring. Describing the communication protocol and some additional behaviour in communication permit to set up software agents to automatically detect failures or badly formed communications. This benefit from both hardware and cyber security. Generally, this quick win pay the time to set it up, or creating it. On other hand, especially on ambiant systems, some sensors can be used for several purposes, for example, temperature sensors can both be used for thermal modeling and also presence detection (human body emit heat a temperature sensor can detect). Body detection can have multiple shapes : ir detection, thermal signature, microwave sensors, …
Description setup for iot.frett27.net/0.1 onthology
In the operational systems implemented here, an onthology based description has been defined. This description use the websemantic tools and provides the several following gains :
- Additive description, with loosely coupled links on description. Some several aspects of description as Physical distribution, Sensors abilities, Communication protocols can be described separately
- Onthologies provides proper vocabularies and description models well performed and settedup by multiple specialist around the globe.
- Framework tools for description, queries avoiding reinventing the wheel for reuse and speed up the implementations (Sparql, Manathan queries, archiving and distribution)
Two main onthologies are used in this setup :
SSN : Sensor Network onthology, widely used on large systems and firms for maintainance or complex systems description, providing a framework on sensors, properties, harward organization.
And Iot-Light from W3c consortium, An incubating description model, provide a framework for services provided on IOT systems. This description has been cored in the light profile to ease the implementation and challenge the core elements.
In the current setup, and additional specific extension has been added for MQTT specific organization, and also associated MQTT services protocol implementations. This permit to organize and have a precise vision of the MQTT broker messages, and way to automate message generation or understanding. Parts of this ontology are still in progress on Smart Home usages (as location, body detection).
Using this setup, and illustrate the gains, multiple queries can be answered, here are some examples. On the following perspectives :
- hardware composition
- association between services, control and hardware
- protocols to use services (for creating robots)
- querying devices for a given user purpose
All Theses examples are formulated using Manchester Query syntax
Which physical objects have body detector ?
1 PhysicalObject that 'has subsystem' some BodySensorDevice
What objects are located in “Salon” ?
1 PhysicalObject that 'has deployment' value Salon
Which Device are deployed on objects in a specific location ?
1Device that isSubSystemOf some (PhysicalObject that 'has deployment' value BureauChambre )
which device has buttons ?
1 PhysicalObject that 'has subsystem' some ButtonDevice
Which objects are “son/off” manufacturer plateforms ?
Which objects has PowerOnOFF capabilities ?
Which objets contains sensor device ?
1 Device that hasPart some 'Sensing Device'
Which services exposes some physical object ? (ie : not software ones)
1 Service that exposes some PhysicalObject
which services exposes sensors abilities ?
1 MQTTService that exposes some 'Sensing Device'
1 PhysicalObject that exposedBy some Service 2 PhysicalObject that exposedBy some MQTTService
Which object exposes devices with MQTT abilities ?
1 PhysicalObject that 'has subsystem' some (Device that exposedBy some MQTTService)
which button device are controllable by a service ?
1 ButtonDevice that exposedBy some Service
what elements compose ESP13 physical system
1Device that isSubSystemOf value ESP13
Which service use a MQTT Tuple on a topic
1Service that hasTopic some MQTTTupleTopic
same on MQTTColorTupleTopic ?
1 PhysicalObject that exposedBy some (MQTTService that hasTopic some MQTTColorTupleTopic)
or text ?
1 PhysicalObject that exposedBy some ( MQTTService that hasTopic some MQTTTextTopic)
1MQTTService that (hasTopic some MQTTTextTopic) and exposes some (Device that 'has deployment' value BureauChambre)
1MQTTService that exposes some (PhysicalObject that 'has deployment' value BureauChambre)
Link between topic and device ?
1MQTTService that hasTopic some (MQTTTopic that topic value "actuators/led8")
which one have a “actuators/relay1” subtopic
1Device that exposedBy some (MQTTService that hasTopic some (MQTTTopic that topic value "actuators/relay1"))
Which one use a binary on MQTT ?
1 ButtonDevice that exposedBy some (Service that hasTopic some MQTTBinaryTopic)
1 Device that exposedBy some (Service that hasTopic some MQTTTupleTopic)
1Device that hasSubSystem some (ActuatingDevice that exposedBy some (MQTTActuatorDeviceService that hasTopic some MQTTNumericTopic) )
Which one on “chambre” are handled by mqtt ? and actuators/relay1 ?
1Device that (hasSubSystem some (Device that exposedBy some (MQTTService that hasTopic some (MQTTTopic that topic value "actuators/relay1")))) and hasDeployment value BureauChambre
Buttons in BureauChambre ?
1Device that (hasSubSystem some ButtonDevice) and hasDeployment value BureauChambre
Which one can observe PresenceCorpsHumain ?
1Platform that hasSubSystem some (Sensor that observes value PresenceCorpsHumain)
1Device that (hasSubSystem some (Sensor that observes value PresenceCorpsHumain)) and hasDeployment value BureauChambre