Skip to content

OPC UA Binding Document Feedback from Ege Korkan #426

@egekorkan

Description

@egekorkan
  • General:
    • I would make a statement about compatibility to TD 1.1 and 1.0
    • There are no operation mapping tables that are required in WoT bindings, e.g. https://w3c.github.io/wot-binding-templates/bindings/protocols/modbus/#default-mappings
    • It would be nice to have numbers and captions for each table to make it easy to reference
    • I think that there should be a consistent usage of Thing with capital t to indicate an IoT Thing. Happens a lot in page 27
  • Page 10, there is an error which results at Fehler! Verweisquelle konnte nicht gefunden werden. -> Same in Table 16
  • Page 8 says It is assumed that basic concepts of OPC UA information modelling and W3C Web of Things are understood in this document.. However, the basic concepts are reintroduced later on.
  • Page 16:
    • serves as the entry point for an IoT instance -> serves as the entry point for an instance of an IoT device (device can be changed with Thing)
    • A binding template for a specific protocol provides . This document is called just a Binding though. There is a discussion about this in the WG so we can probably ignore this for now.
  • Page 21:
    • Industrie 4.0 is used only on this page and never explained what it is. As far as I know, it is a German term. Next page uses Industry 4.0
    • (e.g., power supplier) -> I am guessing this means energy or electricity provider?
  • Page 22: return the 2 fillers of the filling module -> return to using 2 fillers of the filling module.?
  • Page 23:
    • It would be nice to have a number and caption for this example
    • title and description should reflect the device. I am guessing a title like "Bottling Machine" and description like "An IoT connected bottling machine with 4 fillers" can make sense
    • description field of the pumpSpeed is more of a title
    • I would propose to use href values that DO NOT start with / as that can create bad practice. If the base field had more, e.g., opc.tcp://opcuademo.com:4840/bottling, this relative href would remove the bottling part. Not sure if that is commonplace in OPC UA though but I think a node id can be part of the base as well.
  • Page 24:
    • I thought we should add escape for " as well no? if the node id has ", it should turn to \"
    • All of 6.3 sections have a serif font whereas the rest of the document is sans serif
    • At 6.3, it says default definitions. There are no default security definitions in TD. I am guessing the intention was built-in security schemes?
    • 6.3.1 needs a comma between case and WoT
    • 6.3.2 uses you. It is used in some other places but I find it weird in a specification language.
    • 6.4.1 If the UA Variable is read only (you cannot write), the corresponding readOnly term of the DataSchema class in the TD should be set to true. -> I would also add that there should be no form with op having the writeproperty value.
    • Same as above but for 6.4.2
  • Page 25:
    • Spec -> Specification
    • Some examples of the usage of these terms (whole of 6.5) would be appreciated
    • If the default serialization of the OPC UA server is used, the contentType should be assigned with the value "application/octet-stream". -> What are some of the other options?
    • uav:schemaFile is not clear. Is it a JSON Schema file?
    • uav:childOf and uav:hasChild is not clear. Aren't all affordances a child of the Thing?
  • Page 26:
    • Mapping between OPC UA and W3C WoT Node Types -> Mapping between OPC UA Node Types and W3C WoT Vocabulary Terms?
  • Page 27:
    • It is not clear what the table header Consideration for Mapping means.
    • Similarly in W3C WoT TD a thing represents -> Similarly in W3C WoT, a Thing represents
    • I would add for Method that it corresponds to synchronous action in TD. Thus, synchronous MUST be true in a TD when an OPC-UA action is present.
  • Page 28:
    • Details about the references that are mapped to TD are provided in Table… has missing table number. Also the example is not clear about the scope. Is the meaning behind something like 2:ActualPosition being a component of 2:Axis_1?
    • ObjectType talks about a TM link but the example is an annotation within a TM. I don't get this.
  • Page 32:
    • Some text about this example would be very helpful. This seems to cover quite a bit of nice concepts.
    • Using 2 in the @context as a prefix is a bit weird. I think a more descriptive prefix can be chosen. Also, it is not clear what this ontology contains. The same happens in the tables on pages 27 with the prefix 3.
    • There is a writeOnly property but it contains readproperty operation. This is wrong
    • Position of a robot being a simple number feels weird. Maybe another property can be chosen instead?
    • I am not sure but is longpoll really intended for the event?

Metadata

Metadata

Assignees

No one assigned

    Labels

    opc-uarelated to opc-ua protocol binding

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions