Industry collaboration is key to the success of the Internet of Things (IoT). One of the issues is having common data models across the industry. To solve that issue, Open Connectivity Foundation has worked under liaison with Bluetooth SIG, OMA SpecWorks, Zigbee Alliance on One Data Model. The work has progressed in such a way that the conducted work is now made public and the continuation of the work will be conducted in public. OneDM has created a new definition format to convey data models with the end goal of standardizing submitted data models defined by the various organizations so that a single model for a desired feature or purpose can be selected. The developed definition format is called Semantic Definition Format (SDF). SDF has fulfilled requirements from the participating organizations. Learn more about SDF here.
SDF is represented in JSON, which facilitates the creation of tools. For validation of the data expressed in a data model, SDF uses components from the JSON-based schema language defined by json-schema.org, reducing the amount of work to create validation tools. The schema definition is also used for validation of the data models themselves, helping to create data models that are compliant with SDF.
In order to validate that SDF has rich enough features, OCF and other participating organizations have converted successfully a subset of their data models in SDF format. The converted SDF data models are contributed under the BSD-3 License, making the data models available for consumption by everyone. The SDF data models are made publicly available here.
To validate the usability of the models in SDF, OCF has taken an additional step by creating conversion between SDF models and OCF models defined in Open API Specification 2.0 (OAS2.0). In this way OCF can verify if SDF has semantic equivalency between the current modeling OCF is using and the newly developed SDF. The conversion tooling is publicly available here.
OCF has tooling available that will convert the OAS2.0 models into code. The generated code is fully functional and can be used as starting point to create OCF devices. More information about the tool chain can be found on the IoTivity Getting Started page.
The OAS2.0 files generated from SDF can also be used with the code generation tool set. For example, if a SDF file is contributed by OMA (IPSO), such as this one, the SDF defined object can be translated to a resource description in OAS2.0 and being transported as application defined resource on top of the OCF Core Framework.
For more information on oneDM, SDF and more, download our white paper.