Re: YANG inspirations for TD

> On 3 Oct 2016, at 12:27, Robert Gallas <gallas.robert@gmail.com> wrote:
> 
> Hi Dave,
> 
> I have made post in relation to https://github.com/w3c/wot/tree/master/proposals/td-restructuring <https://github.com/w3c/wot/tree/master/proposals/td-restructuring> 
> 
> By interaction type I mean property/event/action. Proposed version is similar of how YANG works with its properties, event streams and rpc's. 
> 
> Thanks for remainding me of commerciall UC's. Sometimes I do not take it into account. In this case I'm influenced by networking environment. If term IoT/WoT is used not only for sensors and actuators but at the sense of Every/Any-thing then network devices are next WoT candidates. Not all of the network devices use formalized model, but if they use - it is YANG. Network devices are modeled by  very complex data model with constraints like min/max in mind. It is heavily used in Software Defined Networking (SDN) area. There is also translation between YANG and REST. Point is that YANG is mature and used in production so I think it could be valuable to have yet another source of knowledge and inspiration.
> 
> For me the way how to model data seems tricky. The most sensitive part is how complex The Thing can become and this comes in response to what is and what is not the use case for WoT. If WoT can also be services and network devices, requirements for data modeling can become way too complex - SOAP - XSD, YANG etc. As well as to have possible model to model translation.  But that is out of scope for this thread.

Things in the web of things can be any physical or abstract entity, and thus range from really simple use cases to complex ones. For the web of things it is important to decouple how applications interact with things from the underlying protocols. We therefore need to focus on the data models exposed to applications via the interfaces for properties, actions and events. I agree with the need to be able to express constraints, and we could introduce simple ones in the initial standard, and add richer ones as we reach a consensus as to what is needed. I also see a need to support late binding, e.g. where you don’t know the precise type until a value has been passed through an interface. Semantic models can provide richer models and complement the data type declarations, for instance a property could be declared as a number, whilst the semantic model declares it to be a temperature value in a given scale.

To enable platforms to interoperate, we also need metadata describing the security and communications choices. This is where platform and protocol specific details are visible, e.g. the way that resources are exposed on a REST based server. This is the concern of platform developers and not aimed at app developers. However, app developers should be able to express communication requirements and to introspect what the platform has been able to offer in respect to those requirements.

I suspect that web developers in particular will want representations that are both easy to understand and simple to express.  To put it another way simple use cases should be easy to express whilst more complex ones should still be practical, albeit more complex.

Best regards,
    Dave

> 
> Robert
> 
> 
> 
> On Mon, Oct 3, 2016 at 11:05 AM, Dave Raggett <dsr@w3.org <mailto:dsr@w3.org>> wrote:
> 
>> On 3 Oct 2016, at 07:41, Robert Gallas <gallas.robert@gmail.com <mailto:gallas.robert@gmail.com>> wrote:
>> 
>> Hi all,
>> 
>> There is and ongoing discussion about thing description (TD). I'd like to point community to YANG modelling language ( https://tools.ietf.org/html/rfc6020 <https://tools.ietf.org/html/rfc6020> ) . YANG is built to address very same requirements as TD. It has updatable properties, rpc`s, event streams, data types etc.
>> 
>> However even YANG is complex language and out of W3C standards it has some interesting concepts which can serve as an inspiration for next TD version. I mean mainly:
>> 
>> - hierachical data model (helps in model maintainability and supports contexts)
>> - value constraints (great help at UI generation, widget design and reduces network traffic)
>> - interaction types concept (good for extensibility)
>> 
>> Hope helps a bit.
>> 
>> Robert
> 
> Hi Robert,
> 
> Thanks for the input.  Could I kindly ask you for an explanation of what you refer to as interaction types and how these differ from the data models?  In addition, is it possible to point to the use cases and requirements?  This would help the Working Group, as every feature needs to be grounded in commercially relevant use cases.
> 
> Many thanks,
> —
>    Dave Raggett <dsr@w3.org <mailto:dsr@w3.org>>
> 
> 
> 
> 

—
   Dave Raggett <dsr@w3.org <mailto:dsr@w3.org>>

Received on Monday, 3 October 2016 13:19:19 UTC