[TD-TF] minutes - 7 February 2020

available at:
  https://www.w3.org/2020/02/07-wot-td-minutes.html

also as text below.

Thanks a lot for taking the minutes, Michael Lagally and Ege!

Kazuyuki

---
   [1]W3C

      [1] http://www.w3.org/

                               - DRAFT -

                             WoT-WG - TD-TF

07 Feb 2020

   [2]Agenda

      [2] https://www.w3.org/WoT/IG/wiki/WG_WoT_Thing_Description_WebConf#Agenda

Attendees

   Present
          Kaz_Ashimura, Sebastian_Kaebisch, Taki_Kamiya,
          Daniel_Peintner, Michael_Lagally, Klaus_Hartke,
          Ryuichi_Matsukura, Tomoaki_Mizushima, Michael_Koster,
          Zoltan_Kis

   Regrets

   Chair
          Sebastian

   Scribe
          mlagally, ege

Contents

     * [3]Topics
         1. [4]Agenda
         2. [5]Review of previous minutes
         3. [6]Proposed Recommendation
         4. [7]New Issue (Daniel)
         5. [8]Issue: 302
         6. [9]TD Payload Pattern
     * [10]Summary of Action Items
     * [11]Summary of Resolutions
     __________________________________________________________

   <mlagally> scribenick: mlagally

Agenda

   Sebastian: Approval of last minutes

   <kaz> [12]Jan-24 minutes

     [12] https://www.w3.org/2020/01/24-wot-td-minutes.html

   (Sebastian walks through the agenda)

Review of previous minutes

   Sebastian: let's review agenda from last meeting (Jan 24th)

   <kaz> [13]Jan-24 minutes

     [13] https://www.w3.org/2020/01/24-wot-td-minutes.html

   (Sebastian walks through the minutes, does a recap)

   Sebastian: any objections to go public?
   ... hearing none, they are approved

Proposed Recommendation

   Sebastian: kaz, what's the process, in one month it will be
   REC.
   ... we have some highlighting issues in the examples, can we do
   some editorial changes?

   Kaz: this is under AC review, all AC reps are asked to review
   this as well as the architecture spec
   ... people are requested to provide comments on the mailing
   list
   ... cannot add normative changes to those specs any more
   ... however editorial changes can still be done

   Sebastian: We have highlighting issues, perhaps we have no
   longer valid JSON, we need to find out the reason

   Daniel: there was an issue raised by respec developers that
   some parts are breaking, there's a PR for this (872)
   ... the preview looks a bit weird, there are respec issues
   ... (Shows Example 1, which is broken)

   <kaz> [14]PR 872

     [14] https://github.com/w3c/wot-thing-description/pull/872

   Daniel: Kaz, can we keep the old version
   ... the filer of the issue presented the respec changes at TPAC

   Lagally: Kaz, do we have the same problem in the Architecture
   spec?

   Kaz: I can look into this issue and the PR. However, we don't
   have to care about problems with respec but can concentrate on
   the static version for our next publication as RECs

   Sebastian: perhaps we fix the highlighting manually
   ... btw, could you remind me of the URL of the AC vote?

   Kaz: the announcement about the AC vote was sent out to the AC
   members list, and it includes the URL of the AC review form.

   <inserted> [15]AC announcement (Member-only)

     [15] https://lists.w3.org/Archives/Member/w3c-ac-members/2020JanMar/0010.html

New Issue (Daniel)

   <sebastian> [16]Issue 877

     [16] https://github.com/w3c/wot-thing-description/issues/877

   Daniel: In the scripting API we would like to specify how
   people can indicate which binding to chose, if there are
   multiple options
   ... currently we select from top to bottom
   ... the TD does not offer a way to specify

   Lagally: what does preference exactly mean, hard or soft
   preference?

   Daniel: it is just a soft preference

   Zoltan: if we state the order as a preference, this is enough

   Daniel: technically there's no change required, there is no
   change required
   ... one statement in the spec is enough

   Sebastian: is there a use case?
   ... when we started, we had a numbering for protocol picking.
   We removed it because we found no real use case
   ... the client can pick his preferred protocol
   ... if a server offers multiple protocols, it is up to the
   client

   Zoltan: this is an implementation thing where this choice has
   to be made

   Lagally: if we have multiple TDs with different orders, they
   offer the same contract and should be functionally equivalent

   Sebastian: Let's consider an example: if I can offer an observe
   mechanism vs. long poll, it is more efficient

   Ege: we can also think outside protocols, if the content type
   is different
   ... what happens if alternatives are not equivalent ?
   ... for longpoll and observe there could be different forms
   depending on the op

   Koster: if a client knows what op to do, it picks the form for
   that op
   ... ordering would work, but there's also protocol negotiation
   pattern in HTTP
   ... queue(?) values, I never used them
   ... relying on a serialisation format, you may have a different
   order based on a serialisation format
   ... what would people actually use?
   ... does the server always really know the best option?
   ... the client can always override
   ... would that really be used?

   Taki: in most cases, the server side does not have a preference
   ... if there are multiple choices from the server, there is no
   preference. Client needs to make the decision.

   Lagally: I can see one use case: if there is a preferred higher
   security on certain operations, the preference would be useful

Issue: 302

   Sebastian: actions can be asked about the status (still runing,
   finished)

   <inserted> [17]Issue 302

     [17] https://github.com/w3c/wot-thing-description/issues/302

   Sebastian: also actions can be deleted
   ... question is whether to introduce it in the TD
   ... there's a long discussion, Ege can you give a short review
   of the comments?

   <ege> [18]https://github.com/w3c/wot-binding-templates/issues/2

     [18] https://github.com/w3c/wot-binding-templates/issues/2

   Ege: The issue is very old, it was the 2nd issue in the binding
   template issues
   ... request can start an action, before it actually is
   finished, e.g. fading a light, closing blinds, moving a robot
   to a different location
   ... Mozilla stated, that this is currently not supported in the
   TD
   ... In their case the response contains hypermedia links to
   query status or cancel the operation
   ... how can we describe such a mechanism in the TD, there's a
   proposal by Victor
   ... output returns an object with href and status
   ... href contains an @type annotation for managing the actions
   ... urivariables provide the information about links to these
   operations.
   ... there are operations "cancel" and "query"
   ... I commented that there are actions that never stop, e.g. a
   conveyor belt
   ... that continues running until it is stopped
   ... a stop movement can impact all other onging actions, there
   are real use cases
   ... some TDs modeled this via properties
   ... this should be an action

   Zoltan: such action could return a thing, this has beed
   discussed several times and there were objections

   Lagally: We should not impose a new format on existing
   implementations, i.e. we need to describe existing systems
   ... Oracle already has a deplyoed System, Mozilla too, we
   cannot ask for a change of the implementation

   Koster: if we can come up with a pattern that returns a TD, a
   different content type,, or some other payload content
   ... we must be able to describe an existing system

   <sebastian>
   [19]https://github.com/w3c/wot-thing-description/issues/302

     [19] https://github.com/w3c/wot-thing-description/issues/302

   Sebastian: hypermedia is not really standardized, there's no
   common way for responses, this is open for any systems
   ... In HTTP and CoAP you have location in the header, I'm not
   aware if people actually use that
   ... this is a very specific technique for these protocols
   ... there may be very different other ways
   ... i'm not sure we are able to describe this protocol behavior
   in the TD

   Koster: We had some discussion around protocol bindings, we
   cannot describe all mechanisms, however can describe a state
   machine
   ... the client can follow that, the TD does not specify all
   implementation patterns
   ... can we design an abstraction for commonalities?
   ... we have to able to adapt, there was a discussion in the
   architecture group
   ... we have to support all the ops, we may have optional ops

   Lagally: This comes back to interoperability vs. describing all
   possible existing devices
   ... this comes down to having a profile with a minimum set of
   guarantees between client and thing

   Koster: I agree, some TDs may have operations that are optional
   ... maybe we can trade off by having different TDs with
   different OPs, like HTTP vs CoAP, the client may know what to
   do based on the protocol

   Klaus: For encoding in TD, do we assume knowledge about
   behavior of the thing
   ... if yes, you just include the name of the pattern, otherwise
   you need a detailed language in the TD
   ... Otherwise you have to describe the hypermedia state machine
   ... This pattern of asynchronous actions is very relevant
   ... would like to have support in the TD
   ... we have physical actions and protocol actions, we start
   thinking with 1:1 mapping, however going forward an app may use
   one action to affect multiple ongoing actions

   Sebastian: do we want to teach the clients what is hypermedia
   or is it just a singaling that hypermedia is used
   ... TDs should support both, i.e. indicate that hypermedia is
   used and to describe the pattern
   ... Mozilla has a specific pattern, however they do not specify
   it in the TD

   Koster: there's an entry point in the TD, there could be a
   content format to describe the details
   ... that would be interoperable
   ... Klaus can show us some ideas for the content format
   ... protocol bindings get much easier with LWM2M
   ... client knows what to do

   Sebastian: Does LWM2M use Hypermedia?

   Koster: they use links, but no dynamic hypermedia

   Sebastian: would lie to see examples of impelemtations, e.g.
   Oracle

   ML: I will add more information to the issue

   Sebastian: we should have implementatinos on the table
   ... we have this idea from Lagally about the profile, default
   assumptions about hypermedia

   Lagally: does it make sense to look into Mindsphere?

   Sebastian: I will check

   Klaus: In T2TRG we have areference device(coffee machine) where
   you can make coffee orders. We're using hypermedia

   Sebastian: Klaus, can you please provide more info?

   Klaus: yes

   Sebastian: these devices (Oracle, Mindsphere, Mozilla, Coffee
   Machine) should also be considered for the Helsinki plugfest

   Kaz: We should consider this in the plugfest call as well

   Sebastian: We need a draft proposal

   Kaz: starting with a survey of existing implementations is good

   Taki: In the proposal there was query and cancel, when action
   is in process we may not be able to cancel
   ... best we can do is stop the action, do something else. We
   may not be able to go back to the original state

   Sebastian: Are you asking for a clear definition of cancel?

   Taki: yes

   Kaz: maybe we can have a specific session with session rollback
   capability, but that might be too advanced. so I'd agree with
   Sebastian that we should start with initial survey and
   proposals

TD Payload Pattern

   [20]Sebastian's slides

     [20] https://www.w3.org/WoT/IG/wiki/images/0/04/TD_Payload_Pattern.pdf

   <kaz> scribenick: ege

   Sebastian: motivation is that IoT systems already come with a
   message pattern
   ... ikea comes with the payload structure shown in the slide
   with these integers denoting different meanings

   <klaus>
   [21]https://github.com/OpenMobileAlliance/lwm2m-registry/blob/t
   est/3311.xml

     [21] https://github.com/OpenMobileAlliance/lwm2m-registry/blob/test/3311.xml

   klaus: these integer values come from LwM2M

   Koster: I also have TDs like that
   ... OCF has the same things as well

   Sebastian: it looks like this in the scripting level
   ... would be better if we can have more human readable in the
   scripting level
   ... defining message template or application paramaters which
   are passed to the scripting level
   ... we can also define them in a global way

   Koster: I have used the tag defined in iot schema

   Sebastian: how do you do the parameters in the programming
   level?

   Koster: I use the full URIs defined in iotschema
   ... I have something that can bring them up as a flat JSON
   object
   ... also using it in the global level?

   Ege: so you would tag an interaction affordance with e.g.
   MessageTemplate and you would be able to refer to that

   Lagally: what if you don't have the tags?

   Sebastian: you would use it just as a normal TD

   Koster: different platforms can have different meanings of
   transition time for example

   Sebastian: Even if we annotate, the payload does not change
   ... so only when programming it takes effect
   ... using semantic annotations would be nice here

   Lagally: I am wondering what the client should do

   Sebastian: I am interested in approach of mk
   ... @type can be used for any protocol etc.

   <kaz> [adjourned]

Summary of Action Items

Summary of Resolutions

   [End of minutes]
     __________________________________________________________


    Minutes manually created (not a transcript), formatted by
    David Booth's [22]scribe.perl version 1.154 ([23]CVS log)
    $Date: 2020/02/17 09:26:56 $

     [22] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
     [23] http://dev.w3.org/cvsweb/2002/scribe/

Received on Monday, 17 February 2020 09:29:27 UTC