You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interop client wants to discover a thing with a certain property (e.g., a lamp). How to do this?
The WoT Current Practices currently distinguish between 3 use cases:
Manual Discovery - e.g., the link to the TD is provided by a developer at the programming time;
Repository - the thing (or a commissioning tool) registers the TD with a well-known repository;
Local discovery - the thing is able to broadcast a discovery request locally (e.g., a CoAP multicast request).
We have semantic annotations available in TD, and thus it would make sense to use them for the task of discovery. The question is what requirements we need to address in order to enable semantic discovery in WoT API. For example, if we consider use case (2) the WoT Current Practices assume that a thing discovers another thing by querying the repository (and there is an API to support this task). In this case the thing needs to "know" what it searches for. But how does it know? In another case we may assume there is an orchestration tool that will discover both things from the repository, and put them into interaction. In that case we can employ semantic discovery at the level of the repository. But then we do not need a thing to implement a discovery API at all. If we consider use case (3), then an interop client discovers broadcasted URIs of things and needs to find out which one of them has the property with annotation "Lamp". In that case, it can fetch things' TDs and process them to find out the answer. If the interop client is yet another thing, then its servient needs to implement an API to answer this question.
Therefore we see that in these 3 cases requirements for the discovery API are different. It would be good to discuss which use cases are in the scope of the group's work w.r.t discovery (some of the above, and/or additional ones). Then we would understand better what kind of semantic discovery can be employed, and what requirements for the discovery API are.
Any comment or thought will be helpful.
The text was updated successfully, but these errors were encountered:
Interop client wants to discover a thing with a certain property (e.g., a lamp). How to do this?
The WoT Current Practices currently distinguish between 3 use cases:
We have semantic annotations available in TD, and thus it would make sense to use them for the task of discovery. The question is what requirements we need to address in order to enable semantic discovery in WoT API. For example, if we consider use case (2) the WoT Current Practices assume that a thing discovers another thing by querying the repository (and there is an API to support this task). In this case the thing needs to "know" what it searches for. But how does it know? In another case we may assume there is an orchestration tool that will discover both things from the repository, and put them into interaction. In that case we can employ semantic discovery at the level of the repository. But then we do not need a thing to implement a discovery API at all. If we consider use case (3), then an interop client discovers broadcasted URIs of things and needs to find out which one of them has the property with annotation "Lamp". In that case, it can fetch things' TDs and process them to find out the answer. If the interop client is yet another thing, then its servient needs to implement an API to answer this question.
Therefore we see that in these 3 cases requirements for the discovery API are different. It would be good to discuss which use cases are in the scope of the group's work w.r.t discovery (some of the above, and/or additional ones). Then we would understand better what kind of semantic discovery can be employed, and what requirements for the discovery API are.
Any comment or thought will be helpful.
The text was updated successfully, but these errors were encountered: