cabo
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee
  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # IRTF T2TRG/W3C WoT work meeting Workshop originally planned for Helsinki, FI, June 2020 https://github.com/t2trg/2020-06-helsinki ## Attendees: 1. Ari Keränen 2. Carsten Bormann 3. Cristiano Aguzzi 4. Michael McCool 5. Michael Lagally 6. Jennifer Lin 7. Andrea Cimmino 8. Farshid Tavakolizadeh 9. Jie Yang 10. Jim Schaad 11. Klaus Hartke 12. Kaz Ashimura 13. Kunihiko Toumura 14. Matthias Kovatsch 15. Michael Koster 16. Niklas Widell 17. Oliver Pfaff 18. Pardis Emami-Naeini 19. Peter Yee 20. Russ Housley 21. Tomoaki Mizushima 22. Colin Perkins 23. Francesca Palombini 24. Ken Ogiso 25. Zoltan Kis 26. Marie-José Montpetit 27. taylor.bentley@canada.ca 28. ## Draft agenda: | Time (UTC) | Subject | Who | |------------|-----------------------------------|-------------------------------------| | 1200Z | Welcome, Logistics | Chairs | | 1210Z | WoT Update | | | 1220Z | Use Case Process and Overview | Michael Lagally | | | Lifecycle | Michael Lagally | | | Discussion | | | 1250Z | WoT Discovery | Michael McCool | | | Discussion | | | 1320Z | --- Break --- | | | 1340Z | WoT PoC Progress | | | | Retail | Michael McCool/David Ezell | | | Smart City | Michael McCool/Jennifer Lin | | 1400Z | [OneDM/TD Integration][4] | Michael Koster | | | TD Templates; Modularity | | | | Discussion | | | 1430Z | [Hypermedia Controls][1] [in][2] [TDs][3] and beyond (+ impact on [RESTful design][RESTfulD]) | Victor Charpenay/Ege Korkan | | | Actions and Events, Handling URLs | | | | Discussion | | | 1500Z | Wrapup, end of meeting | Chairs | [1]: https://github.com/w3c/wot-thing-description/tree/master/proposals/hypermedia-control [2]: https://github.com/w3c/wot-thing-description/pull/907 [3]: https://github.com/w3c/wot-thing-description/issues/302 [4]: https://github.com/w3c/wot-thing-description/issues/903 [RESTfulD]: https://tools.ietf.org/html/draft-irtf-t2trg-rest-iot-05#section-5 # Notes Time stamps relative to the official meeting start time. ## Welcome, Logistics (Chairs) Slides: https://github.com/t2trg/2020-06-helsinki/blob/master/slides/00-T2TRG-2020-06-helsinki-chair-slides.pdf \[0:04] Ari gave T2TRG intro. In the notes will list main discussion items and timestamps so you can look for details in the recording. ## WoT Update \[0:10] Michael McCool (MM) gave WoT intro. MM: Descriptive approach for integrating IoT systems. Main components: architecture and Thing Description (TD). \[0:17] MM: Orchestration with NodeRED, NodeJS implementation Node-WoT. Some new work items: observe with HTTP, link relations, templates (multiple use cases), decentralized IDs, etc. ### Use Case Process and Overview (Michael Lagally) \[0:24] Slides: https://github.com/t2trg/2020-06-helsinki/blob/master/slides/WoT-T2TRG.pdf \[0:28] ML: collecting use cases;  ~20 in the pipeline from several domains. Marie-Jose Montpetit (MJM): manufacturing and agriculture use cases? Was actually in the next slide \[0:35] ML: Shortlisting some use cases -- focus on advantage WoT spec brings to adopters Welcome everyone to contribute. Weekly calls. Output will be IG document. Have reference to use cases repo in the slide deck. ## Lifecycle (Michael Lagally) \[0:41] Describing operational lifecycle across standards. \[0:47] CB: summary on where had to deviate from the T2TRG RFC8576? ML: idea was to not deviate or re-invent stuff. MM: layered keys was tricky to capture -- several provisioning steps \[0:52] MM: discovery needed also during onboarding -- discover the devices you are onboarding with \[0:54] ML: WoT profiles to handle variety of TD features and different devices. Early strawman available and needs significant discussion and more work. AK: thank you for doing the use case work in public and collaborative; very useful for different standards & research work in this area MM: still lots of input that needs to be prioritized but more input always good ML: if anyone has additional use cases please let us know ## WoT Discovery (Michael McCool) \[1:03] MM: Intent to create a doc to describe discovery process. But not to re-invent the wheel. Generalized problem to find TDs. How to support semantic queries without too much burden for simple devices. Privacy aspects and alignment with existing standards important. Inferencing problems -- "no PII" is not sufficient, as there can be correlation/fingerprinting. \[1:09] Bootstrap phase should not have metadata about devices to preserve privacy. Need "first contact" protocol supporting multiple mechanisms for introduction. \[1:14] Use directory as a repository of information that needs authorization (with strong authentication) to access. Rotation of identifiers needed to avoid malicious user with cached TDs to know what devices are in question for new TDs. \[1:25] Experimenting with XPath and JSONPath query interface. Also signing TDs for security. More information in the Github repo and links in the "resources" slide. 10 minute break (back 1340Z) \[1:40] MM: will defer the discussion for the discovery on the next WISHI call June 30th: https://github.com/t2trg/wishi/wiki/Agenda-items#wishi-online-meeting ## WoT PoC Progress ### Smart City (Michael McCool/Jennifer Lin) \[1:42] Jennifer Lin (JL): different use cases Singapore GovTech is looking to solve with WoT. Smart thermosensor going to production. Low cost thermo sensor detecting high temperature in crowds. Could find areas with potential fever hot spots. MM: general smart city use cases that apply beyond Singapore ### Retail (Michael McCool/David Ezell) \[1:44] MM: Connexxus working with grocery stores and gas stations in US. Integrating WoT to EdgeX Foundry. NodeRED for orchestration. Use case of buying ice cream. \[1:50] CB: how the results of experiments are documented? MM: for plugfests trying to more formally capture experiments. Will walk through the PoCs. Will be in our repos, probably use cases or testing. Thinking if should have questionnaires. Taylor Bentley (via chat): have Sidewalks labs reached out. They had a signage team that was vairly advanced MM: not yet; but interested to talk. Let's take over email. TB (via chat): bascially, I just wanted to flag: https://www.sidewalklabs.com/dtpr/ but now that the project is not being pursued in Toronto, I don't know if they'll progress to a PoC somewhere else (SDL is based in Manhattan) ## OneDM/TD Integration (Michael Koster) \[1:55] MK: summarizing where we are with OneDM. Getting ready to go live. Have published I-D and playground Github repo with comprehensive set of models. CB: there's a [20 minute tutorial of SDF](https://www.youtube.com/watch?v=sTrqa5jYVKo) from our previous meeting. Provides high level interaction description for certain kind of thing. \[1:58] MK showed OneDM annotated WoT TD example of a Switch. The @type field of TD use to point to OneDM definitions. No linked data behind the URLs, so some further work for that needed in iotschema. SDF definitions don't have protocol bindings or representation details but describing common definitions for broad classes. TD describes instances of things and has protocol bindings. ### TD Templates; Modularity \[2:03] MK: TDs are required to be complete. But often need TD-like entities that are not complete. For example don't have full protocol binding with URLs. OneDM models provide a vocabulary reference. MK showed https://github.com/w3c/wot-thing-description/issues/903 wot-thing-description repo - PR 903 \[2:05] MK: in WoT TD work looking at how OneDM definitions and TD templates could work together. Could we use TD templates like we use SDF in OneDM? The uses cases and potential overlap. The [PR 903](https://github.com/w3c/wot-thing-description/issues/903) shows what could it look if you translate SDF model into TD template. \[2:08] ML: how does anybody know string "on" has defined semantics? MK: SDF enum in development; provides URI reference for each term/choice enum offers and have its own set of contraints and descriptions. Currently only providing human-readable description. But different ways to extend, e.g., state machine language. MM: semantics are the link; still need to have precise definitions in human-readable format. Could be e.g. negative logic. Persistent link to definition are in the end the semantics -- can use @type to refer to it. ML: if omit description, current definition does not convey behaviour MK: have examples pointing to Wikipedia definitions for example. In SmartThings need i18n; this system of enums enables that. CB: falling back a little from what we alredy established. On/off simple, but e.g., cheese firmness not that familiar for people. Need source of definition. Language doesn't currently provide that, SDF 1.0 does not have yet sdfEnum, but that is a next step. Kaz Ashimura (KA): personally think it would be appropriate/easier to use a combination of state transition language (like [W3C scxml](https://www.w3.org/TR/scxml/)) and payload data model (like [W3C emma](https://www.w3.org/TR/emma/)) separately. Could use TD/ODM as the JSON-LD based data model. \[2:17] MM: one part semantics, but also how we make progress here? WoT TD for instances. SDF for high level descriptions of descriptions of devices. Path forward? several ways to use together? Formally cite SDF in the new SDF spec? What recommend people to do. SDF object to figure out how maps to TD. MK: can use the OneDM models in TD plugfests. Bigger question about Templates. SDF is for device specifiers and makers. And folks who want to use the developer tools to make models in JSON. For example, SunSpec (making solar energy models) and Zigbee energy interested having broadly applicable models. We could make TD really easy to use. Main question is whether we take the OneDM definitions and translate them to TD templates and provide anchor URIs in TD namespace or make templates that link back to OneDM models. Pros/cons in both. Need to think what happens when OneDM model changes. Probably want to link instead of copy. Could add in TD the detailed constraints beyond SDF models. TD templates could have specific bindings and use profiles. MM: when define TD templates do it with eye on interop with SDF. Modularity for TD templates should map to SDF Objects, for example. Set of activities for spec alignment. Third class: tooling. Can automatically generate TD templates mapping to SDF models. Could run with CI. MK: could be base TD template that does not have anything beyond SDF; just maps to TD and linked data world. Could be driven through CI. Should think of work flows. ML: can I express thins in SDF that I can't express in TD, and vice versa? MK: e.g., full set of constraints in SDF, but not many things. Mainly composition and modularity. Layering of things and objects does not exist in TD. But TD is for instances. CB: lots of things in TD that can't do in SDF. Like protocol bindings. One of the points in SDF is to make easy to map existing models to SDF and preferably back. Focus here on model interop. Very different from what TD had. That's why result looks different. But next step to make sure we have model interop on that level. ML: OCF models or something else? CB: and LwM2M, Bluetooth, etc. Each org has hundreds of models already. Want to find a way to translate to common language and back. Leads to compromises in compatibility. More in the process of accessing all ecosystems now. MK: some ecosystem folks are looking at SDF and thinking of extending their ecosystem with it. CB: way forward; going to be lots of discussion of this in the next few WISHI calls. Maybe the best place for people who are interested making these work together. Now have SDF 1.0 published last Friday. Next step is 1.1 and not drop in kitchen sink but to put the features we need to widen applicability to Bluetooth, Zigbee, etc. MK: and will start working in the WoT plugfest immediately. Also Semantic Proxy project. AK: also non W3C WoT members invited to Plugfests? MM: Yes, drop me email and I can send invite to Webex. CB: good communication channels open now. Will continue to drive convergence. ## Hypermedia Controls in TDs and beyond (+ impact on RESTful design) (Victor Charpenay/Ege Korkan) (Actions and Events, Handling URLs) \[2:34] Ege Korkan (EK): introducing hypermedia proposals in the TD repository: https://github.com/w3c/wot-thing-description/tree/master/proposals/hypermedia-control Victor's proposal https://github.com/w3c/wot-thing-description/tree/master/proposals/hypermedia-control-2 Ege's proposal EK: (starts with the first proposal above) in TD mostly focusing on actions that are started by client. Want to describe hypermedia in TDs. First request OK by standard, the subsequent ones are not easily described. What methods are available for example. Don't want to overload TD with all possible future interactions. MM: multiple issues 1) developer has information of what code has to deal with? 2) dynamic TDs would have all complications with directories, signing, etc. Victor Charpenay (VC): essential idea to reuse hypermedia vocabulary in TD. For every new affordance a new form in the TD. Would not need to add much to TD model to allow for this but only need new operation types for cancel or update of action. Different possibilities for exposing new forms. Ege showed rest of the Victor's example \[2:48] Ege showed second example. https://github.com/w3c/wot-thing-description/tree/master/proposals/hypermedia-control-2 EK: using dynamic hrefs with URI templates. Not clear how to get IDs; can ignore if static. But not clear how response payload for different operations should be. \[2:54] MM: issue with URI templates. Input/output data schemas would be natural here. Need data schemas per transaction. EK: query acton schema described in the end of the example MM: if have ID in response to POST ... EK: entire href could be variable. HTTP standard says in 201 could be in header or body of response. Looking for feedback on the proposal for mapping the ID. `const: {id}` Zoltan Kis (ZK): three standard actions; would prefer to have events and actions for cancelling. Would return a thing -- easier to model this way? Could be called something else than Thing since abstract. VC: for ID mapping should define where URL variable points to? EK: can this be also used like this? Don't know. VC: ID may not be URI. Could be input to further action. Have to say the ID is a control; part of form to perform more actions. There was proposal to use OpenAPI. This suggestion is rewriting OpenAPI. But that does not solve this issue either. CB: interesting discussion since running into problems where established mechanisms like OpenAPI can't solve this. I'd love to propose how to solve this in SDF, quite obvious, but will continue the discussion in next WISHI call MM: API definition conference coming up. Contemplating making a submission. Might be interesting for WISHI people to participate too. Being discussed in WoT Github issue https://github.com/w3c/wot-marketing/issues/66 (running out of meeting time) ## Wrapup, end of meeting (Chairs) \[3:04] AK: good discussions to continue in the upcoming WISHI calls, next one on June 30th: https://github.com/t2trg/wishi/wiki/Agenda-items

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully