W3C

- DRAFT -

TD Breakouts

22 Sep 2016

See also: IRC log

Attendees

Present (TD Lifecycle)
Kaz_Ashimura(W3C), Sebastian_Kaebisch(Siemens), Ari_Keranen(Ericsson), Victor_Charpenay(Siemens), Maxime_Lefrancois(UDL), Joerg_Heuer(Siemens), Milan_Patel(Huawei), Achille_Zappa(INSIGHT), Jungbin_Kim(Letsee), Bernadette_Loscio(CIn/UFPE), Kenichi_Nunokawa(Keio), Cesar_Viho(INRIA), Federico_Sismondi(INRIA), Masaru_Miyazaki(NHK), Junichi_Hashimoto(KDDI), Yuki_Matsuda(UNI), Suguru_Asai(UNI), Taizo_Kinoshita(Hitachi), Andrei_Ciortea(Univ._Lyon), Natasha_Rooney(GSMA),
Present (Hydra)
Kaz_Ashimura(W3C), Sebastian_Kaebisch(Siemens), Ari_Keranen(Ericsson), Matthias_Kovatsch(Siemens), Maxime_Lefrancois(UDL), Andrei_Ciortea(Univ._Lyon), Cesar_Viho(INRIA), Achille_Zappa(INSIGHT), Milan_Patel(Huawei), Armin_Haller(ANU/W3C), Takuki_Kamiya(Fujitsu), Ryuichi_Matsukura(Fujitsu), Dominique_Guinard(EVRYTHNG), Darko_Anicic(Siemens), Carsten_Bormann(TZI), Katsuyoshi_Naka(Panasonic), Kazuo_Kajimoto(Panasonic), Federico_Sismondi(INRIA), Jungbin_Kim(Letsee), Fernando_Serena(UPM),
Regrets
Chair
Kajimoto
Scribe
kaz

Contents


TD Lifecycle breakout

kaji: shows his slides
... TD Template and Lifecycle Eco System
... how to implement this kind of mechanism?
... not familiar with JSON-LD operation
... but shows some initial idea

(some more discussion)

nimura: need to protect some of the information
... some part of the information
... so we need a protection mechanism

seba: each device has internet access

ari: could compile all the information

fer: separation of TD documents
... seems this idea is different from usual "linked data"
... if we have to support device discovery, we could use some repository
... what is the reason of separation?

vic: you have a part of TD with all temperature sensors

fer: any sensors could be described
... we can simply follow the links, can't we?

vic: we have more than communication layers

kaji: in short, this model has two weak points
... 1. update time lag
... when the update is reflected?
... 2. synchronization between multiple devices
... but immediate update/synchronization really needed?
... don't think there is actual need
... but there are time-related issues with this model

seba: when/how the whole TD information is processed?
... TD Template integrates all the TD instances
... maybe we could call it "TD skelton"
... red piece within TD Template has a link to TD instance's red piece

vic: do we need to decide which way to use?
... would be good to use the same vocabulary

kaji: we should consider this kind of lifecycle

maxime: would like to propose you raise this use case with linked data model

fer: have an implementation for photometer
... putting data using MQTT
... if you want, I can show you some examples

vic: using linked data platform?

fer: yes

vic: there is a subscriber to MQTT?

andrei: there is a fundamental difference
... linked data platform is data-driven interaction model

vic: not sure how it would be helpful here
... we can't force some specific interaction model

andrei: the difference is how you describe the interaction

vic: we'll discuss Hydra in the afternoon

maxime: maybe it could be link capability rather than include

vic: you need some special semantics
... JSON-LD doesn't have hyperlink capability itself

fer: may I show my idea?
... (shows some example notation)

seba: can be "change" rather than "delete"

maxime: two instances could be linked to each other

vic: it depends on our need for online resolution or offline resolution

kaji: offline resolution is ok
... but online resolution is also important
... and there are issues on synchronization

vic: having traceability is important

nimura: done need to exclude the possibility of online resolution

maxime: we need some simple mechanism even if we need online resolution

fer: may be too hard
... (shows his example)
... we provide data like this
... "@prefix ldp: <http://www.w3.org/ns/ldp#>"

<http://localhost:5005/systems/tess> a s4all:photometer,

ldp: Resource,

wot: System ;
...

seba: this description is for after getting some concrete instance?

maxime: you need to go to the system to know about the device's capability
... I can't delete any capability on the manufacture's TD

vic: this model looks great but we don't want to prevent people from using their preferred protocol

kaz: within Kajimoto-san's model "delete" doesn't really mean deletion but just means "disabling". right?

kaji: yes
... (summarizes)
... some portion could be reflected to TD itself
... but this issue depends on implementations
... would like to continue discussion
... as the next step
... please participate in that discussion :)

[ morning breakout adjourned ]

<Maxime_> looking at http://hydra-cg.com/spec/latest/core/

Hydra breakout

<Maxime_> for those that just joined: looking at http://hydra-cg.com/spec/latest/core/

<Maxime_> demonstration of a server that adds hydra description to the resources

<Maxime_> one can describe API for some thing, a temperature sensor for instance

vic: explains the mechanism of Hydra and example temperature-sensor.api script

cabo: operation like "action"?

vic: HTTP operation like GET

cabo: what if we want coffee?

vic: the coffee has a property for that purpose
... RDF property and Hydra property
... clicks the Hydra property
... there is some definition for making coffee action
... and then you have operations by dereference

<Maxime_> (actions on the real world are not part of the hydra api description model)

vic: what is interesting with Hydra is separation of static data
... you could have one API spec for all sensors somewhere on the Web
... and another is API spec only for Panasonic

darko: with this Hydra approach, we still could specify property using TD
... we could use TD to extend Hydra's capability
... we're following some minimal vocabulary
... not to be general but to be efficient
... on the other hand, Hydra provides general mechanism

vic: more linked data-driven

zoltan: you can express anything?

vic: all the Hydra properties are serializable as RDF

zoltan: also using JSON-LD?

vic: yes
... no semantics within Hydra itself

dom: how to describe range, etc.?

vic: goes back to the diagram at: http://hydra-cg.com/spec/latest/core/
... must use JS for data type

dom: having type, range, etc., would be useful
... something JSON Schema supports

vic: good point

matthias: Hydra is kind of standalone API
... it has its own interchange format
... significant difference from RAML is that this is a separate specification
... if you want to have hypermedia, Hydra uses its own format

vic: we'll need some specific model
... this is intended as a generic model

<domguinard> I'm after something along these lines: https://www.w3.org/Submission/2015/SUBM-wot-model-20150824/#values which is spimple but powerful

matthias: would be useful to have some method to change/delete classes within the tree

(as discussed during the TD lifecycle breakout)

(discussion on how to handle classes)

dsr: assumption on state handling?
... would like to know about the scope

vic: this is description for APIs

dsr: data model/format is not included

vic: right

maxime: we have classes of source
... and set up links
... interested in metadata
... coffee machine exposes "make coffee"?
... all coffee machines should have same operations
... should have an action to "make coffee"

vic: Hydra allows both
... other comments?

matthias: what's the progress?
... we have to improve knowledge

vic: the example is based on TD in the current practice doc

matthias: what is the relationship?

http://www.hydra-cg.com/spec/latest/core/

link to the Hydra doc above

vic: we could use Hydra as interface

matthias: what does it offer?
... do they provide protocol binding?

<victor_> https://github.com/bergos/wot-examples/

vic: they use abstract name for operations
... we can use that abstract layer

andrei: good to have some unified mechanism

darko: would be good to think about how to map TD properties/actions to Hydra's ones

matthias: we should be clear about the concept behind
... capability to monitor and change the status?
... we need more explicit information for the interaction model

vic: there several competitors like RAML

maxime: we should double check
... also what about request/response?

vic: Michael's proposal include pub/sub
... you should expect to be notified
... need to add sub-class definition
... they mainly use "method"
... in the Hydra engine
... need extension

matthias: we need some more elaboration
... how the APIs look like
... how they work with this mechanism

vic: the interface is same

seba: what is the main goal of this discussion?
... want to switch to Hydra mechanism?

vic: not so
... Hydra defines some APIs
... would like to see if its mechanism is appropriate

seba: what do we want for Hydra?

darko: we should have some general semantic API

vic: could have some instance to communicate with Hydra

seba: good to see the delta on the major difference between TD and Hydra

andrei: this is more extension of Hydra
... better to have some unified mechanism

kaz: one question
... is Hydra useful to handle TD lifecycle?

vic: not really sure
... to apply to our own TD description
... we need to find some way for that purpose anyway, though
... we need some more comparison between TD and Hydra
... any other topics to discuss now?

matthias: good to have brainstorm?

dsr: schema for data types is not included here

matthias: you have to create concrete data model separately

dsr: how to handle different kinds of sensors?

vic: there is a way to identify things using media type
... it's a limited kind of media type

cabo: question on domains?

vic: (shows some example)
... temperature-sensor.api
... you have a "PUT" operation
... and event resource
... defined here
... you expect a class and describe resources using specific property
... it's also limited. good point

seba: value type description?

vic: class returns some event
... and the Hydra engine recognizes it

<dsr> media types aren’t sufficient, e.g. you could have application/jason which only states that you have got JSON, not what data model the JSON conforms to.

<dsr> I can’t see how Hydra helps you deal with the semantics for the data passed through RESTful APIs

(some more discussion about monitoring the status and change/update it)

vic: there is an Action class within Hydra
... it returns about some invoked action

matthias: yes, you return something

vic: can transfer time stamp, etc.
... we could provide default invoked action class as well
... to monitor the status

matthias: TD also can handle the status
... we need a representation for resources
... and model for interaction
... maybe we can call it "action description"
... some metadata on it
... we already have similar capability within TD

maxime: what if we want coffee but the coffee machine doesn't have any more coffee?

matthias: error handling in general
... we can list some figures about the concept
... work by both the IG and the WG

cabo: TD describes things
... on the other hand in this kind of abstract action layer, things are more dynamic

matthias: how do you use hypermedia?
... abstract layer and detailed transition layer

seba: good topic for the T2T joint meeting

cabo: yes
... 12 people have got registered for the joint meeting

[ afternoon break adjourned ]

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2016/10/03 18:00:00 $