w3c / wot-profile

Web of Things (WoT) Profile
http://w3c.github.io/wot-profile/
Other
16 stars 8 forks source link

Consider separately specifying Thing and Consumer roles for each operation #395

Open benfrancis opened 1 year ago

benfrancis commented 1 year ago

Something I have observed whilst writing implementation reports is that in the WoT Profiles specification we tend to write assertions from either the perspective of a Thing or a Consumer, but not always both.

There are a lot of assertions in WoT Profiles which describe a contract between a Thing and a Consumer but the assertions only capture one half of that contract. For example, we may specify that a particular response should be sent by a Thing, but not specify how a Consumer should interpret that response.

The result of this is that when testing an implementation of a Thing or a Consumer the assertions may only mention one role, yet implementation is needed on both sides.

Something to think about for the second version of the Profile specification might be to more explicitly specify the separate Thing and Consumer roles for each operation, in order to capture both sides of a contract.

egekorkan commented 1 year ago

This is applicable to the TD and all protocol bindings as well