eclipse-ditto / ditto

Eclipse Ditto™: Digital Twin framework of Eclipse IoT - main repository
https://eclipse.dev/ditto/
Eclipse Public License 2.0
669 stars 218 forks source link

implement industry information models #864

Closed fransvanderlek closed 3 years ago

fransvanderlek commented 3 years ago

Currently Ditto is using Eclipse specific informationmodels for things ( Things/Atributes/Feature )+ Vorto, as well as Ditto specific communication protocols ( Ditto Protocol, Ditto REST API ). Instead, Ditto could adopt the w3c WOT recommendation https://www.w3.org/TR/wot-thing-description/ , optionally implemented using mozilla's web thing API ( https://iot.mozilla.org/wot/) as a basis. In addition, it should be considered how standardization can be achieved by using information models standards across the industry, for example Industry Foundation Classes ( https://www.buildingsmart.org/standards/bsi-standards/industry-foundation-classes/ ) / Brickschema ( https://brickschema.org/ ) for buildings, Semantic Sensor Network ( https://www.w3.org/TR/vocab-ssn/ ) for sensors, QUDT ( http://qudt.org/ ) for units and measurements, etc. It is true that it is possible to reference these models in principle, but this is just a reference and not enforced.

thjaeckle commented 3 years ago

Hi @franckverrot and thanks for your thoughts on the modeling.

Eclipse Ditto is domain agnostic in order to not only enable industrial (IoT) use cases, but also consumer-oriented ones (like e.g. providing "digital twins" also as a metaphor in order to interact with smart homes). It therefore does not make sense to adopt one (or several) of the domain specific models you mentioned.

What will not happen is replacing the well established and stable APIs of Ditto with WoT APIs, just because. What could however make sense is to additionally adopt W3C WoT (e.g. via an additional WoT compatibility layer) which is also domain agnostic. Eclipse Vorto is currently investigating how to generate WoT models based on Vorto models, see: https://github.com/eclipse/vorto/issues/2344 That way WoT could also map easier to Ditto as well.

If you have a more concrete idea how Web of Things could be applied on top of Ditto, please share your thoughts on that. As I see it, WoT can't replace Ditto's APIs as Ditto provides at some parts more functionality and flexibility than WoT (e.g. when it comes to authorization based on Ditto policies).