13:56:06 RRSAgent has joined #wot-arch 13:56:06 logging to https://www.w3.org/2021/07/15-wot-arch-irc 13:56:13 meeting: WoT Architecture 13:57:06 present+ Kaz_Ashimura 14:00:16 mlagally_ has joined #wot-arch 14:01:22 present+ Michael_McCool 14:02:00 present+ Gabe_Fierro 14:03:25 present+ Michael_Lagally, Michael_Koster 14:03:31 McCool has joined #wot-arch 14:06:31 Mizushima has joined #wot-arch 14:06:49 gtfierro has joined #wot-arch 14:07:17 scribenick: McCool 14:07:42 present+ Ben_Francis, Tomoaki_Mizushima 14:07:58 q+ to mention the PP to make sure 14:08:24 kaz: reviews patent policy; this is a WG meeting 14:08:50 -> https://www.w3.org/2003/12/22-pp-faq.html W3C Patent Policy 14:08:58 ... content in this call might be used for spec generation, at which point it will be provided on a royalty-free basis 14:09:11 ... please see above FAQ for details 14:09:19 Thanks for the heads up! 14:09:22 q? 14:09:24 ack k 14:09:24 kaz, you wanted to mention the PP to make sure 14:09:26 + 14:09:27 present+ Ryuichi_Matsukura 14:09:46 ml: several topics today; action semantics, echonet example, use case 14:09:47 zakim, who is on the call? 14:09:47 Present: Kaz_Ashimura, Michael_McCool, Gabe_Fierro, Michael_Lagally, Michael_Koster, Ben_Francis, Tomoaki_Mizushima, Ryuichi_Matsukura 14:09:58 rrsagent, make log public 14:10:07 ... let's do minutes at the end of the call 14:10:29 Agenda: https://www.w3.org/WoT/IG/wiki/WG_WoT_Architecture_WebConf#June_17th.2C_2021 14:10:30 ... will try to wrap up tech discussion 30m from end 14:11:00 ml: we also have Gabe Fierro with a use case, but due to timezone issues could not join UC call 14:11:10 present+ Sebastian_Kaebisch 14:11:12 gabe: I have ten slides 14:11:29 ml: ok, propose we take 30m for profiles, then do use cases, then architecture 14:12:05 s/17/15/ 14:12:50 topic: profiles 14:13:33 s/#June/#July/ 14:14:14 subtopic: action semantics 14:14:40 ml: we talked about this at the F2F, I have been working on a proposal and PR 14:14:50 ... but let's start with the issue 14:15:02 https://github.com/w3c/wot-profile/issues/81 14:15:53 ml: ben has posted a detailed comment that looks like a good starting point for some specification text 14:16:28 bf: there was some discussion about how to mark up different interactions 14:16:39 ... this is organized around operation names 14:17:01 ... and this is a proposal for how these operations would work in the HTTP binding 14:17:28 ml: let me also share the specification text so people have the context 14:18:05 bf: so what is currently undefined is how to handle asynch vs. sync actions 14:18:30 ... for long-running actions, do you get a response pointing at a dynamic resource? 14:18:49 ... my proposal is there are two different ways for a device to respond to an action 14:19:09 ... consumers should support both; but other options in this post, like query, etc. could be optional 14:19:12 s/https/-> https/ 14:19:21 ... there is also an "action status object" 14:19:34 s/81/81 wot-profile Issue 81 - Action semantics/ 14:19:39 rrsagent, draft minutes 14:19:39 I have made the request to generate https://www.w3.org/2021/07/15-wot-arch-minutes.html kaz 14:19:43 ... just a simple JSON format with various members 14:20:04 Chair: Lagally 14:20:17 ... includes "status" which is an enum giving current state, also error, input, and output 14:20:33 ... for sync, would immediately get the action status object 14:20:40 i/views patent policy/topic: Preliminary/ 14:20:40 q+ 14:20:43 rrsagent, draft minutes 14:20:43 I have made the request to generate https://www.w3.org/2021/07/15-wot-arch-minutes.html kaz 14:22:12 bf: for async response, would get a 201 (created) code, and a *header* that points to the resources 14:24:12 mm: two questions; is input echoing optional? possible problem with large inputs 14:24:31 ... second, putting resources in the header is not pretty well supported right now 14:24:38 ... perhaps we can also put in the body 14:25:10 mk: really should support headers; could do both for now as a placeholder 14:25:25 sebastian has joined #wot-arch 14:25:27 q+ 14:25:29 ... but legacy systems that already do this 14:25:58 mm: although we are targetting greenfield systems with profiles 14:26:03 q? 14:26:05 ack m 14:26:08 ack s 14:26:09 ... so I think legacy support is not an issue 14:26:23 seb: what about identification of the action? 14:26:35 ... is that handled by the URL? 14:26:50 ... oh, I see, yes, that's the intent of the dynamic resources 14:26:58 bf: right, the resource is the id 14:27:17 bf: in web things there is also an option to list the action queue, could add that 14:27:38 ... but it's not completely required 14:28:01 mk: although you could use ACLs to manage access, etc. 14:29:21 mm: note in passing this requires polling, and does not support event notification 14:30:02 bf: right; but let's defer that; one possible way would be to use SSE 14:30:31 ml: not meaning to cut things off, just want to show the other proposal briefly 14:30:55 q? 14:31:29 https://github.com/w3c/wot-profile/pull/88 14:32:11 s/https/-> https/ 14:32:27 so this format adds a status element to the response 14:32:29 s/88/88 wot-profile PR 88 - action semantics/ 14:32:49 q+ 14:33:26 -> https://pr-preview.s3.amazonaws.com/w3c/wot-profile/88/f1ec8e2...45d4497.html#actions diff 14:35:24 mm: think we should merge the id and url 14:35:28 bf: agree 14:36:01 ... don't thing using headers is feasible, even if not possible to describe in TD, but not ideal 14:36:03 q+ 14:36:41 bf: we could implement the action based on a canonical TD 14:37:05 s/don't thing/don't think/ 14:37:18 q? 14:37:20 ack m 14:37:52 ... could have an example TD for the core profile, and an informative TD with all the device 14:37:59 q+ 14:38:24 ml: let's go look at the other operations as well 14:38:50 ... queryaction, updateaction; these relate to the actionstatus resource 14:39:23 q+ 14:39:58 bf: and note these do take place on the dynamic resources, and are not described in the TD 14:40:21 mk: aligns with REST 14:41:25 mm: hypermedia like this can't really be described in a TD... yet 14:41:59 bf: agree is not ideal, but would rather not block progress on profiles 14:42:28 ml: think we should incorporate it 14:42:36 seb: agree, this is a reasonable 14:43:22 mm: also agree it is reasonable, with a few small updates we can do after a PR is merged 14:43:48 bf: okay. There are a few other perhaps optional features, e.g. updateaction 14:44:10 ... this can change a running action; but this might have potential issues with race conditions 14:44:27 mk: asking the server to reinterpret a payload 14:44:54 seb: I think it also makes sense this is optional 14:45:34 mm: also makes sense for device to decide whether to support or not; it may not make sense for some actions 14:45:52 ml: optionality does create issues for interoperability 14:46:18 q+ 14:46:22 ... could just cancel an action and then recreate it 14:46:48 bf: probably the only compulsory op should be invokeaction 14:47:04 q? 14:47:04 ... I can think of use cases for update action, but not essential 14:47:06 ack s 14:47:10 ack m 14:48:09 kaz: we should be clear about what "optional" means here too 14:48:24 ... from the point of view of a spec; is this MAY, SHOULD, etc. 14:49:16 ... and this is also relevant to PR#88 14:49:47 ack k 14:50:00 bf: agree with optionality point in general, but in this case not a problem, since the producer decides 14:50:25 present+ Ege_Korkan 14:50:39 ... so if it doesn't want support something, it would respond appropriately, e.g. with an error for an updateaction 14:52:09 s/SHOULD, etc./SHOULD, etc. Also given WoT Profile is a profile of related WoT specs, e.g., TD, Binding Templates and Discovery, we should be clear about the potential impact to those original WoT specs too./ 14:52:32 q? 14:52:58 mm: don't think we have consensus yet on whether or not to include updateaction 14:53:21 bf: another point is that resource URLs can expire 14:53:53 ... so that we have to allow a device to return an error for completed actions... 14:54:06 ... if the resource has been cleaned up 14:55:20 ml: why not body for 204 response for cleaned up resource? 14:55:42 bf: odd given that the semantics of this is "no content", so returning a body weird 14:56:18 bf: one other feature I mentioned before was listing the open actions 14:56:24 ml: let's keep it simple for now 14:57:13 ml: can also use error codes where appropriate 14:57:32 ml: ok, we need a PR for this; can either update mine or bf can do one 14:57:53 bf: I'll write some specification text and send it over to you 14:58:23 q+ 14:58:26 ege: is this for what profile? 14:58:37 mm: let's just say it's for "this" profile for now :0 14:59:13 kaz: in near future, may want to look at other IoT standards for bindings 14:59:52 ml: need a use case before we work on a detailed profile; and we also need the expertise for people involved in the standard 15:00:10 s/for people/from people/ 15:00:31 bf: it would be good to get feedback from ECHONET though on this profile, since may be aligned 15:00:55 ack k 15:01:16 ege: one final worry; profile is meant to be a subset of a TD, but this is not a subset, since can't be fully described in a TD 15:01:39 q+ 15:01:55 ege: I need to know how to use actions 15:02:15 bf: I agree with you, a normal consumer can only invoke actions 15:02:27 ... I think this is something that need to be fixed in TDs 15:03:01 mm: we agreed not to be blocked on this issue earlier 15:03:33 bf: *ideally* it would indeed be nice to be able to write a canonical TD that can describe everything in this profile 15:03:54 topic: use cases 15:04:29 Brick use case: https://github.com/w3c/wot-usecases/pull/132 15:04:37 ml: use case from Gabe Fierro, "Portable Building Apps" use case 15:04:41 Ege has joined #wot-arch 15:04:48 brb 15:05:09 mm: relates to the Brick ontology as well, correctly? 15:05:16 s/correctly/correct/ 15:05:24 gf: yes, correct 15:05:37 Apologies but I need to join a conflicting meeting for the second hour. Thanks for the discussion. 15:05:46 gf: (share slides on screen) 15:07:01 gf: lots of sensors in buildings, many are legacy 15:07:18 ... but useful for data-driven analytics and control 15:08:05 ... e.g. fault detection and diagnosis, model predictive control, demand response, virtual sensing (e.g. inferred measurements), etc. 15:08:34 ... goals include reduced energy consumption, improved use comfort, etc. 15:09:07 ... but very hetereogenous, legacy industrial controls, so very time consuming to integrate 15:09:59 ... 70% of buildings have digital controls, only 4% have automated fault detection... data rich, information poor 15:11:08 ... brick ontology, deploy cyber-physical applications at scale, and have a small number of implementations that can figure out how to integrate with a building 15:11:19 ... rather than doing it custom every time 15:11:33 ... would like a manifest with a set of resources needed for an application 15:11:41 ... perhaps a SPARQL query 15:11:57 ... that can be executed against the set of devices available in a building 15:12:18 .. BRICK ontology defines data sources and their context 15:12:51 ... does not itself handle discovery, and assumes data has already been ingested 15:13:42 ... there are a few assumptions we have made that we have put off, but WoT may be able to fill those gaps 15:14:26 ... brick does not define onboarding, device installation, etc. 15:14:49 ... it is not enough to model capability 15:15:10 ... also need location, purpose, connections (e.g. hvac ducting) 15:15:32 ... my understanding of WoT is that it currently focuses on network interactions 15:16:34 ... brick provides the context, wot can provide the interactions and the interaction abstraction to actually get the data out and ingested 15:18:17 ... some future brick work: network view (how are devices connected and communicate; IT perspective); enumerations of device properties; schedules of operation (schema.org-style rules) 15:18:35 q+ 15:18:44 q+ 15:18:48 q+ 15:19:52 mjk has joined #wot-arch 15:19:54 ack mc 15:19:56 q? 15:20:16 mm: first, WoT Discovery has SPARQL support (for metadata); but is Brick about devices or about data from devices? 15:21:59 mm: Thing can be other than devices; we have a standardized database (TDD) for Things, but not for data itself; although we can describe its structure 15:22:23 q? 15:22:32 ack ml 15:22:59 ml: we can link between Things; we have been looking at link relation types, would be worth to review and see if what we have should be extended 15:23:34 gf: not sure if people are familiar with ASHRAY; another ontology looking at finer detail than Brick 15:24:02 ... Brick only has basic relationships, ASHRAY is more inspired by SAREF 15:24:16 gf: is there documentation of the link types we have? 15:24:41 ml: in the TD spec 15:24:51 seb: need to look at the latest editor's draft 15:25:07 ... loot at the 5.3.4.1 15:25:37 s/loot/look/ 15:25:56 -> https://w3c.github.io/wot-thing-description/#link 5.3.4.1 Link from the Thing Description ED 15:25:59 ml: would you also like to present your actual PR? 15:26:08 q? 15:26:10 #132 15:27:14 bf: there is another level of abtraction; work through a controller 15:27:25 ... as opposed to talking to devices directly 15:27:28 i|there is|-> https://github.com/w3c/wot-usecases/pull/132 wot-usecases PR 132 - Add portable building apps use case draft| 15:27:40 s/bf:/gf:/ 15:27:50 ... brick model would define topology and composition 15:28:39 ... some examples are included for rouge zone detection and detecting a defective chilling coil 15:30:14 ... and note that the topology is needed to understand the second example, since the sensors before and after the cooling coil may not be provided by the same device, but need to be connect by the duct topology 15:30:52 ml: are you just looking at primitive types, or also A/V data? 15:31:10 gf: mostly primitive, there are a few A/V applications; future scope currently 15:31:53 gf: gaps listed are standard semantics for common things, like thermostat settings, motor states, etc. 15:32:20 ... these have a consistent physical meaning but are expressed in different ways by different manufactureres 15:32:41 s/manufactureres/manufactures/ 15:33:11 rrsagent, create minutes 15:33:11 I have made the request to generate https://www.w3.org/2021/07/15-wot-arch-minutes.html sebastian 15:33:15 gf: one challenge is the need for complex interpretation of values 15:33:27 q? 15:33:51 ml: assume there is lot of legacy in buildings 15:34:07 gf: correct, and often see very strict siloing 15:34:29 ... and... companies that installed systems may not even exist anymore 15:34:43 ... lighting doesn't talk to heating, etc. 15:35:37 kaz: gf, are you proposing this as part of the LBDG or as a rep of the university? 15:35:50 q? 15:36:01 gf: as a representative of the Brick community 15:36:01 q+ 15:36:15 kaz: so I think it would be useful to talk to LBDG 15:36:57 s/talk to/continue to talk with/ 15:36:59 ... and we can certainly look at how to refer to brick ontologies from TDs 15:37:13 mk: could also attempt to align with ASHRAY work 15:37:37 ... consider BACNET; currently not a standard 15:38:10 ... but they are using RDF/TTL, and WoT TDs are RDF, so... 15:38:45 gf: embedded in that community, so am connected to them 15:39:03 ... US Dept of Energy is funding a semantic interop effort 15:39:23 ... part my goal is to develop integrations between these 15:39:34 ... 2D3P 15:40:13 gf: there is definitely an opportunity for WoT to solve problems here 15:40:37 mk: BACNET is fairly simple so a good place to start 15:41:11 ... and already exists in a form that is usable, although tooling needs to be implemented 15:41:30 q+ 15:41:38 ... would be nice that instead of reading the specs for each device you could just get a TD 15:41:54 gf: is something that I will definitely look into 15:42:18 ... bacnet world tends to access everything through bacnet, so... 15:42:38 seb: this is one of the next tasks for WoT also; an official BACNET binding for WoT 15:43:13 ... so collaborating with ASHRAE SDO 15:43:21 s/ASHRAY/ASHRAE/ 15:44:05 gf: there is already working being done to create the SHACL information by Joel Bender 15:44:21 ... software engineer at Cornell in building systems group 15:44:53 mk: my company is also working on this, and would be interested in promoting WoT as a common format 15:45:16 q+ 15:45:22 ack k 15:45:24 ack mjk 15:46:20 q? 15:46:38 gf: definite room for improvement in BMS; we did have to convince people to go with LD 15:46:58 ml: can you share these slides, perhaps as a PR? 15:47:09 ... to the contributions 15:47:52 q? 15:47:56 ack s 15:47:57 ack m 15:48:16 topic: architecture PRs 15:49:45 subtopic: PR 602 15:50:03 -> https://github.com/w3c/wot-architecture/pull/602 wot-architecture PR 602 - Refactor TD/Discovery Material in Section 8 15:50:15 mm: have to do some more refactoring 15:50:40 ... added a list of discovery 15:51:03 ... another on summary 15:51:15 ... would like to go ahead and merge this PR 15:51:23 ... then let the Discovery TF review it 15:51:50 ml: would like to review it first 15:51:53 mm: that's fine 15:52:20 subtopic: PR 601 15:52:31 -> https://github.com/w3c/wot-architecture/pull/601 PR 601 - Fixup Device Classes 15:52:41 mm: new top level category 15:53:06 ... a bit uncomfortable with the device name 15:53:22 -> https://pr-preview.s3.amazonaws.com/mmccool/wot-architecture/pull/601.html#device-categoriesdevices 4. Device Categories 15:53:41 mm: in the comment, I have some suggestions 15:53:58 ... not for merge yet 15:54:10 ... suggest a paragraph 15:54:43 ml: question about the text 15:54:59 mm: some of the text still odd 15:55:13 ... the HTML diff is not really useful for this 15:55:44 ... added a new sentence: Memory and storage size are both easier to quantify and more limiting than performance, so that is the basis of this categorization. 15:56:13 ml: name change? 15:56:19 mm: let me add the change then 15:56:46 subtopic: PR 603 15:56:57 -> https://github.com/w3c/wot-architecture/pull/603 PR 603 - WIP: Define and Discuss "Hubs" 15:57:15 mm: regarding smart home gateways 15:57:55 ... add definitions for "hubs" and "gateways" 15:58:14 ... also "smart home gateway" with consistent usage 15:59:14 ml: something to consider for industrial hubs too 15:59:18 mm: yeah 16:00:28 I have to go... cu 16:00:55 s/I have to go... cu// 16:00:56 q+ 16:01:19 ml: please talk with Matsukura-san, who originally provided description for gateways 16:01:53 topic: ECHONET Liaison 16:02:07 ml: do we need a separate profile for ECHONET? 16:02:19 ack k 16:02:51 kaz: we shoudl handle the echonet discussion via the official liaison path 16:03:25 ... and binding to industrial specs should be a profile or an implementation note? 16:03:46 s/shoudl/should/ 16:03:52 ... if really needed we can do that, but perhaps it should be just a protocol binding 16:04:16 ml: true, but felt we were very close and could just align if possible 16:04:25 s/and binding/and the question is if/ 16:04:50 adjourn 16:05:16 rrsagent, make log public 16:05:20 rrsagent, draft minutes 16:05:20 I have made the request to generate https://www.w3.org/2021/07/15-wot-arch-minutes.html kaz 18:09:38 Zakim has left #wot-arch