You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-ietf-asdf-sdf-protocol-mapping.md
+34-27Lines changed: 34 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,22 +71,26 @@ Format (SDF) to enable mapping of protocol-agnostic SDF affordances to
71
71
protocol-specific operations. The protocol mapping mechanism allows SDF models
72
72
to specify how properties, actions, and events should be accessed using specific
73
73
non-IP and IP protocols such as Bluetooth Low Energy, Zigbee or HTTP and CoAP.
74
+
This document also describes a method to extend SCIM with an SDF model mappping.
74
75
75
76
--- middle
76
77
77
78
# Introduction
78
79
80
+
## Protocol Mapping
81
+
79
82
The Semantic Definition Format (SDF) {{-sdf}} provides a protocol-agnostic way
80
83
to describe IoT devices and their capabilities through properties, actions, and
81
-
events (collectively called affordances). However, when implementing these
82
-
affordances on actual devices using specific communication protocols, there
84
+
events (collectively called affordances). When implementing the SDF model
85
+
for a device on an actual implementation using specific communication protocols, there
83
86
needs to be a mechanism to map the protocol-agnostic SDF definitions to
84
-
protocol-specific operations.
87
+
protocol-specific operations, translating the model into a real-world implementation.
85
88
86
89
This document defines such a mechanism using the `sdfProtocolMap` keyword,
87
90
which allows SDF models to include protocol-specific mapping information
88
-
alongside the protocol-agnostic definitions. The mapping enables use cases
89
-
such as multi-protocol gateways that translate between different IoT protocols,
91
+
attached to the protocol-agnostic definitions. An `sdfProtocolMap` can be applied to
92
+
an sdfAffordance, be it an sdfProperty, sdfEvent and sdfAction. The mapping enables use cases
93
+
such as application gateways or multi-protocol gateways that translate between different IoT protocols,
90
94
automated generation of protocol-specific implementations from SDF models, and
91
95
interoperability across heterogeneous device ecosystems.
92
96
@@ -96,23 +100,26 @@ and {{Zigbee30}}, as well as IP-based protocols such as HTTP {{?RFC9110}} or
96
100
CoAP {{?RFC7252}}. This document registers mappings for BLE and Zigbee; future
97
101
specifications can define mappings for additional protocols.
98
102
103
+
## SCIM SDF model extension
104
+
105
+
SDF providers a way to describe a class of devices and SCIM describes a device instance. The SDF model extension in this document defines a SCIM extension that enables inclusion of the SDF model for the class of devices a device belongs to in the SCIM object for that device.
99
106
100
107
# Conventions and Definitions
101
108
102
109
{::boilerplate bcp14-tagged}
103
110
104
111
# Structure
105
112
106
-
This section defines the structure of the protocol mapping mechanism.
113
+
This section defines the structure of an `sdfProtocolMap`.
107
114
Because each protocol has its own addressing model, a single SDF
108
115
affordance requires a distinct mapping per protocol. For example, BLE
109
116
addresses a property as a service characteristic, while Zigbee addresses
110
117
it as an attribute in a cluster of an endpoint.
111
118
112
119
A protocol mapping object is a JSON object identified by the `sdfProtocolMap`
113
-
keyword, inside an SDF affordance definition (sdfProperty, sdfAction,
120
+
keyword, nested inside an SDF affordance definition (sdfProperty, sdfAction,
114
121
or sdfEvent). Protocol-specific attributes are embedded within this object,
115
-
keyed by a registered protocol name, e.g., "ble" or "zigbee".
122
+
keyed by an IANA registered protocol name, e.g., "ble" or "zigbee".
An example SCIM device schema extension might look like:
585
+
Here is an example SCIM device schema extension with SDF models:
580
586
581
587
~~~ json
582
588
{
@@ -596,6 +602,8 @@ An example SCIM device schema extension might look like:
596
602
}
597
603
~~~
598
604
605
+
An SDF model must be referenced with the `sdf` keyword inside the SCIM device schema as described in {{!I-D.ietf-scim-device-model}}
606
+
599
607
# Security Considerations
600
608
601
609
The security considerations of {{-sdf}} apply to this document as well.
@@ -694,7 +702,6 @@ The following non-normative model is provided for convenience of the implementor
694
702
~~~~~~
695
703
{: #protocolmapzigbee}
696
704
697
-
# Acknowledgments
698
-
{:numbered="false"}
705
+
# Acknowledgements
699
706
700
-
TODO acknowledge.
707
+
This document relies on SDF models described in {{!RFC9880}}, as such, we are grateful to the authors of this document for putting their time and effort into defining SDF in depth, allowing us to make use of it. The authors would also like to thank the ASDF working group for their excellent feedback and steering of the document.
0 commit comments