Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discovery] Use cases for the discovery task - revisited #343

Closed
danicic opened this issue Jul 21, 2017 · 1 comment
Closed

[Discovery] Use cases for the discovery task - revisited #343

danicic opened this issue Jul 21, 2017 · 1 comment
Labels
moved issue is moved to a task force's repository

Comments

@danicic
Copy link
Contributor

danicic commented Jul 21, 2017

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:

  1. Manual Discovery - e.g., the link to the TD is provided by a developer at the programming time;
  2. Repository - the thing (or a commissioning tool) registers the TD with a well-known repository;
  3. 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.

@egekorkan
Copy link
Contributor

Closing, discussion should continue at w3c/wot-discovery#40

@egekorkan egekorkan added the moved issue is moved to a task force's repository label Jul 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
moved issue is moved to a task force's repository
Projects
None yet
Development

No branches or pull requests

2 participants