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-instance-information.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -616,11 +616,15 @@ Other specifications may define additional use cases instance-related messages c
616
616
617
617
## Construction
618
618
619
-
In SDF models, we can specify a Thing's configurable parameters via `sdfProperty` definitions for which Construction Messages can provide concrete values.
620
-
{{code-sdf-construction-sdf-context}} shows an example for such an SDF model.
621
-
In this example, the `unit` quality of the `temperature` property has to be considered a construction parameter, as a connection to the `unit` property is established via the `sdfParameters` map using a JSON Pointer.
619
+
In SDF models, we can treat a Thing's `sdfProperty` definitions as construction parameters.
620
+
Construction messages can serve as an ecosystem-independent way for initializing properties, epecially those that are specified as non-writable.
622
621
623
-
If the `unit` is not initialized during construction, it falls back to the default `Cel` for degrees Celcius.
622
+
{{code-sdf-construction-sdf-context}} shows an example for an SDF model where the `ipAddress` and `deviceIdentity` are supposed to be initialized at construction time, since they are required and not writable via regular interactions during runtime.
623
+
As the `unit` property has a default value (`Cel` for degrees Celcius), it does not have to be initialized during construction.
624
+
However, for all of these properties, a reconfiguration during runtime is possible.
625
+
626
+
In this example, the `deviceIdentity` would be retrievable like a "regular", but immutable property affordance.
627
+
While the `ipAddress` might be used for interaction affordances (e.g., by other models that build upon this one), the `temperature` property is "importing" the value of the `unit` property via a new quality called `sdfParameters`, where pairs of quality names and JSON pointers are used to import values from `sdfProperty` definitions.
624
628
625
629
~~~ sdf
626
630
namespace:
@@ -649,16 +653,16 @@ sdfObject:
649
653
firmwareVersion:
650
654
type: string
651
655
temperature:
656
+
writable: false
652
657
type: number
653
658
sdfParameters:
654
659
unit: "#/sdfObject/sensor/sdfProperty/unit"
655
660
~~~
656
661
{:sdf #code-sdf-construction-sdf-context
657
662
title="Example for SDF model with constructors"}
658
663
659
-
Based on the SDF model above, a Construction Message such as the one shown in {{code-sdf-construction-message}} can trigger a construction process.
664
+
Based on the SDF model above, a Construction Message such as the one shown in {{code-sdf-construction-message}} can trigger the construction process.
660
665
As indicated via `sdfRequired`, this process must include the initialization of an IP address as well as the device's identity definitions.
661
-
Initializing the `unit` quality is only required if the `temperature` property is present, which is expressed by the JSON pointer within the property's `sdfRequired` definition.
0 commit comments