Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Eclipse IoT - Day 0 of thingmonk 2016

629 visualizaciones

Publicado el

My talk about data and information models for IoT, how ontologies can establish the relationship between IoT devices, and how Eclipse Vorto could accommodate ontological information. Briefly features Eclipse Smarthome.

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

Eclipse IoT - Day 0 of thingmonk 2016

  1. 1. Information Models & Ontologies Dr. Boris Adryan @BorisAdryan
  2. 2. • What are data models, info models and ontologies? • How can they be useful in the IoT context? • Why and how are these topics relevant to Eclipse IoT? Questions
  3. 3. Data Model vs. Information Model The difference is often very academic. Both model types have in common a language-independent description of physical objects. My definition • data model - more “technical” • info model - more “semantic”
  4. 4. Data Model A data model helps to formalise how data is organised (stored, etc.) time sensor temperature 11:23 DHT11 23.4 11:24 BMP85 23.5 11:24 DHT11 23.4 11:25 DHT11 23.6 sensor type accuracy … DHT11 temperature + humidity +/- 5% … BMP85 temperature + pressure +/- 2% … … … relational model - a type of data model
  5. 5. Information Model An info model helps to describe capabilities similar to object oriented code DHT11 temperature sensor property is_sensor sensor_type sensor_subtype temperature sleep_mode functions temperature sleep boolean: true, immutable set (physical, chemical): chemical, immutable set (force, temperature, …): temperature, immutable float, valid: > -25 && < +75 boolean get: delivers current temperature set: puts the sensor to sleep
  6. 6. Ontology “structure” - a directed acyclic graph “definition” An indoor temperature sensor is located inside a building structure. It is sometimes used to control a ‘boiler’ (ID: xxx) or a ‘radiator’ (ID: xxx). provides information about the relationship between objects
  7. 7. Ontological reasoning indoor temperature sensor boiler actuator sensors temperature sensor is_a is_a building control solutionpart_ofis_a positively_ regulates Inference: “some sensors indirectly positively regulate parts of building control solutions”
  8. 8. Ontologies recap My thingmonk talk (2014) on SlideShare My O’Reilly Webcast (video) My blog post about IoT ontologies
  9. 9. Implementation is a matter of taste (…) SQL guy’s code: CREATE TABLE dht11 ( time: datetime, temp: float ); Perl girl’s code: my %dht11_hash; my $time = $_; $dht11{$time}{‘temp’} = 23.6; $dht{$time}{‘humid’} = 68; Boris’ MQTT topic: •ad-hoc solutions •cherry-picked info •incomplete •not convertible code is the worst source of device information!
  10. 10. Wouldn’t it be nice… Formalised description of the device in a well-defined information model Repository of qualified information models for re-use ‘Translate model to’- functionality for common programming languages beautifully written, well- formatted and documented code
  11. 11. Why Bosch is doing Vorto Vorto minimises development time. Info models for industrial IoT applications are immediately compatible for both Bosch and PTC clouds, as well as IoT applications.
  12. 12. Vorto is an editor for a domain-specific language
  13. 13. The model repo is still pretty empty…
  14. 14. Vorto DSL & OPC UA OPC UA - a fetish of German industrial IoT • not competing standards • should be possible to write OPC UA compatible code with a Vorto code generator
  15. 15. Other Eclipse projects
  16. 16. Eclipse Smarthome and ontologies
  17. 17. Eclipse Smarthome and ontologies • to me as an outsider, not clear what’s going to happen in Eclipse Smarthome • technical and philosophical challenges around ontologies • time, money, team structure • but: references to a term in the ontologies could be saved in the information model
  18. 18. Dr. Boris Adryan @BorisAdryan Disclaimer: I haven’t contributed a single line of code to any of these projects. Many thanks to the Vorto team, Kai Kreuzer and Michael Koster for discussions!