



ASDF                                                        J. Hong, Ed.
Internet-Draft                                                    H. Lee
Intended status: Standards Track                                    ETRI
Expires: 15 February 2026                                 14 August 2025


     Semantic Definition Format (SDF) Extension for Non-Affordance
                              Information
                  draft-ietf-asdf-sdf-nonaffordance-00

Abstract

   This document describes an extension to the Semantic Definition
   Format (SDF) for representing non-affordance information of Things,
   such as physical, contextual, and descriptive metadata.  This
   extension introduces a new class, sdfNonAffordance, that enables
   comprehensive modeling of Things and improves semantic clarity.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 15 February 2026.

Copyright Notice

   Copyright (c) 2025 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.



Hong & Lee              Expires 15 February 2026                [Page 1]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology and Conventions . . . . . . . . . . . . . . . . .   2
   3.  Motivation and Use Cases  . . . . . . . . . . . . . . . . . .   3
     3.1.  Motivation  . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  SDF Extension for Non-Affordance Information  . . . . . . . .   6
     4.1.  Static Model Definition (sdfNonAffordance)  . . . . . . .   7
     4.2.  Run-Time Context Messages . . . . . . . . . . . . . . . .  10
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   The Semantic Definition Format (SDF) has been instrumental in
   standardizing the representation of affordances - properties,
   actions, and events - of Things [I-D.ietf-asdf-sdf].  However, there
   exists a gap in representing non-affordance information, such as
   location, contextual metadata, and other descriptive elements that do
   not directly pertain to device interactions.  Addressing this gap is
   crucial for comprehensive device modeling, especially in applications
   like digital twins where holistic representations are essential.

   This document describes a framework to extend the SDF by
   incorporating non-affordance information.  Integrating these
   extensions allows SDF to provide a more comprehensive representation
   of Things, thereby enhancing semantic descriptions.

2.  Terminology and Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   *  Non-Affordance: attributes of a Thing that are not directly
      related to its interactive capabilities.  This includes
      descriptive metadata such as location, manufacturer details, and
      other contextual information.








Hong & Lee              Expires 15 February 2026                [Page 2]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


3.  Motivation and Use Cases

   The integration of non-affordance information into the Semantic
   Definition Format (SDF) addresses several critical needs in the
   modeling of Internet of Things (IoT) devices.  The key motivations
   and corresponding use cases in the following subsections illustrate
   the importance of this extension.

3.1.  Motivation

   In the current SDF framework, the primary focus is on defining
   affordances - interactive elements such as Properties, Actions, and
   Events.  While this approach effectively captures the dynamic
   capabilities of a Thing, it overlooks essential non-interactive
   attributes that are vital for a comprehensive device representation.
   These non-affordance attributes encompass contextual information and
   descriptive metadata, including dimensions, weight, location,
   manufacturer details, and operational constraints.  The absence of a
   standardized representation for such static information can lead to
   fragmented device models, hindering interoperability and seamless
   integration across diverse IoT ecosystems.  Although it is
   technically possible to model such information using 'sdfProperty',
   this approach introduces several forms of semantic confusion:

   1.  Users may misinterpret the field as observable or interactive:
       When interactive properties (e.g. sensor readings or actuators)
       and fixed attributes (e.g. a device’s physical dimensions or
       serial number) are all represented as properties, it becomes
       unclear which elements are meant to change or be acted upon and
       which are immutable context.  This ambiguity forces developers
       and tools to infer intent manually, making models harder to
       interpret and maintain.  Over time, such models require extra
       documentation and care to ensure that static fields are not
       mistakenly treated as dynamic, adding to the maintenance burden.

   2.  Developers may implement unnecessary runtime I/O interfaces: Many
       IoT frameworks and tools automatically create API handlers (e.g.,
       REST endpoints or CoAP resources) for each defined Property.  If
       static metadata like a device's model name or install location is
       modeled as a property, a tool might erroneously generate read/
       write accessors for it.  This is problematic because such
       metadata is meant to be read-only context, not an interactive
       affordance.  The result is superfluous or misleading interface
       endpoints that do not reflect the device's real capabilities,
       potentially causing confusion or security issues.  In short,
       using sdfProperty for static fields violates the expectation that
       those fields remain non-interactive, since the default affordance
       treatment would imply they can be polled or even written to.



Hong & Lee              Expires 15 February 2026                [Page 3]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   3.  Tools and UIs may treat static metadata as operational data: SDF
       is meant to clearly convey a Thing's interactive capabilities
       versus its contextual attributes.  When both are blended under
       the same construct, developers and automated tools may
       misinterpret the purpose of a given field.  For example, a field
       representing location or manufacturer might be misconstrued as an
       operational parameter rather than informative metadata.  This
       blurring of semantics makes it harder to build consistent tooling
       and to map SDF models to platform implementations, since one
       cannot reliably distinguish which elements require interactive
       handling.  In essence, the lack of separation between affordances
       and non-affordances dilutes the semantic clarity of SDF models ,
       undermining the SDF goal of an unambiguous, self-descriptive
       device model.

   To address these concerns, this document introduces
   'sdfNonAffordance' as a dedicated top-level keyword to define static,
   descriptive, and non-interactive metadata.  This construct enables a
   clear semantic distinction from 'sdfProperty', making the data model
   more expressive, machine-readable, and robust to implementation
   assumptions.

   While the primary focus of this document is the introduction of a
   static model extension via 'sdfNonAffordance', practical use of such
   metadata in real-world deployments often requires runtime mechanisms
   for metadata exchange.  Use cases such as device onboarding, dynamic
   environment configuration, and regulatory audits benefit from the
   ability to transmit static context data as part of operational
   protocols.  To that end, this draft also introduces optional runtime
   messages -'contextSnapshot', 'identityManifest', and 'contextPatch'-
   that can convey non-affordance attributes at appropriate times.

   These messages are not the core of the SDF extension but are
   essential for practical interoperability, especially in systems where
   device metadata needs to be programmatically discovered, validated,
   or synchronized.  Their inclusion supports real-world use cases that
   rely on the seamless integration of descriptive metadata into
   operational contexts.  Thus, the proposal reflects both a modeling
   advancement for SDF and a runtime integration pattern to enable
   widespread adoption.  This design accommodates ecosystem-specific
   metadata such as regulatory certifications, deployment regions, or
   vendor-specific constraints by allowing flexible attributes to be
   included and mapped according to the needs of each ecosystem.

3.2.  Use Cases

   3.2.1.  Asset Management and Tracking




Hong & Lee              Expires 15 February 2026                [Page 4]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   *  Scenario: In logistics and warehouse systems, physical containers
      and pallets are often equipped with IoT sensors that monitor
      temperature, vibration, or location.  However, these containers
      also possess static physical attributes-such as size, weight, and
      capacity-which influence how and where they can be deployed.
      These characteristics are not part of the interactive sensing
      interface but are essential for automated decision-making.

   *  Requirements: The system must be able to describe and transmit
      non-affordance information such as dimensions, maximum load, and
      designated location zones in a way that is readable by other
      systems but not intended for modification.  This data must also be
      available for use during onboarding or audit processes.

   *  Solution: Incorporating non-affordance information into SDF allows
      for the uniform representation of these attributes, facilitating
      efficient asset tracking, optimizing load planning, and ensuring
      compliance with transportation regulations.  These properties are
      modeled using the 'sdfNonAffordance' keyword within an
      'sdfObject'.  Section 4.1.1 provides an example showing how to
      represent this information, while Section 4.2.3 demonstrates how
      location data might be reported at runtime using a 'contextPatch'
      message.

   3.2.2.  Environmental Context Awareness

   *  Scenario: Environmental sensors in smart buildings, such as
      temperature, CO2, or motion detectors, are typically installed in
      diverse physical contexts that affect how sensor values should be
      interpreted.  A sensor on the third floor mounted to a window may
      behave differently than one on a concrete wall.

   *  Requirements: The system needs to express and exchange metadata
      such as installation floor, mounting surface, indoor/outdoor
      classification, and nearby materials.  These fields are static yet
      contextual, impacting calibration, analytics, or filtering
      algorithms.

   *  Solution: By extending SDF to include environmental context as
      non-affordance information, the system can dynamically adjust
      operations based on device placement and environmental factors,
      enhancing occupant comfort and energy efficiency.  These
      characteristics are defined under 'sdfNonAffordance' and
      transmitted as part of the 'contextSnapshot' message during
      onboarding.  Section 4.1.2 provides an example model.

   3.2.3.  Regulatory Compliance and Certification




Hong & Lee              Expires 15 February 2026                [Page 5]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   *  Scenario: In regulated environments such as healthcare, aviation,
      or industrial automation, each device must include traceable
      identity and compliance information.  These include manufacturer
      names, model numbers, firmware versions, and certification IDs.

   *  Requirements: These attributes must be immutable and readable,
      stored in a way that supports device registration, update
      tracking, and policy enforcement.  They are not typically
      modifiable at runtime, but may need to be transmitted securely
      during verification or integration steps.

   *  Solution: Embedding this non-affordance information within SDF
      ensures that all relevant metadata is consistently available,
      simplifying compliance reporting and facilitating timely
      maintenance and recalls when necessary.  The 'sdfNonAffordance'
      keyword can be used at the 'sdfThing' level to encapsulate such
      identity metadata.  An example is shown in Section 4.1.3, and the
      'identityManifest' format in Section 4.2.2 supports secure
      exchange of this data.

   By integrating non-affordance information into SDF, these use cases
   demonstrate how a more holistic device model enhances
   interoperability, operational efficiency, and compliance across
   various IoT applications.

4.  SDF Extension for Non-Affordance Information

   In the SDF, the primary focus has been on defining affordances -
   interactive elements such as Properties, Actions, and Events - that
   specify how external entities can interact with a Thing.  However, to
   achieve a more comprehensive representation of a Thing, it's
   essential to include non-affordance information, which encompasses
   attributes not directly related to interaction but crucial for
   understanding the Thing's context and characteristics.

   To address this need, we propose introducing a new class named
   sdfNonAffordance within the SDF architecture.  This class allows for
   the inclusion of metadata such as physical dimensions, location,
   environmental context, and manufacturer details.

   This section specifies how non-affordance information is added to an
   SDF model and how that information can be exchanged at runtime.  We
   deliberately split the description into two complementary
   subsections:







Hong & Lee              Expires 15 February 2026                [Page 6]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   *  4.1 Static model Definition – shows how contextual metadata is
      embedded directly in the SDF document under the new
      sdfNonAffordance class.  These definitions are authored once,
      validated like any other SDF schema fragment, and travel with the
      model wherever it is stored or published.

   *  4.2 Run-Time Context Messaging – introduces three JSON envelopes
      (contextSnapshot, identityManifest, contextPatch) that let a
      deployed device or its digital twin report changes to that
      metadata over time.  Keeping these messages outside the affordance
      model preserves the core principle that non-affordance data is
      descriptive, not interactive, while still allowing systems to keep
      the context up-to-date.

   To align with the use cases described in Section 3.2, this section
   introduces detailed examples of non-affordance information modeling
   using the 'sdfNonAffordance' construct.  Each subsection demonstrates
   how contextual metadata can be represented in an SDF model
   corresponding to a specific use case.

4.1.  Static Model Definition (sdfNonAffordance)

   sdfNonAffordance is introduced as a peer to sdfProperty, sdfAction,
   and sdfEvent.  It exists solely at design-time and captures metadata
   that must remain read-only in any generated interface.  The construct
   may appear either at the sdfThing level (global context) or inside an
   individual sdfObject (component-specific context).

   This subsection presents SDF examples that statically describe non-
   affordance information associated with different types of devices and
   use cases.  Each example corresponds to a use case described in
   Section 3.2.

   4.1.1.  Example: Asset Management and Tracking

   The following example corresponds to the use case in Section 3.2.1.
   It models static metadata for a shipping container, including
   physical dimensions and capacity.













Hong & Lee              Expires 15 February 2026                [Page 7]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   {
     "sdfObject": {
       "assetContainer": {
         "description": "Shipping container with embedded sensors",
         "sdfNonAffordance": {
           "physicalSpecs": {
             "description": "Physical dimensions and capacity",
             "type": "object",
             "properties": {
               "length": { "type": "number", "unit": "m" },
               "width": { "type": "number", "unit": "m" },
               "height": { "type": "number", "unit": "m" },
               "maxLoadKg": { "type": "number", "unit": "kg" }
             },
             "required": ["length", "width", "height", "maxLoadKg"]
           },
           "location": {
             "type": "object",
             "properties": {
               "lat": { "type": "number" },
               "lon": { "type": "number" }
             }
           }
         }
       }
     }
   }

              Figure 1: Example: Asset Management and Tracking

   4.1.2.  Example: Environmental Context Awareness

   This example corresponds to Section 3.2.2.  It describes
   installation-related metadata for a building-mounted environmental
   sensor.
















Hong & Lee              Expires 15 February 2026                [Page 8]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


              {
                "sdfObject": {
                  "envSensor": {
                    "description": "Environmental sensor unit",
                    "sdfNonAffordance": {
                      "installationInfo": {
                        "type": "object",
                        "properties": {
                          "floor": { "type": "integer" },
                          "mountType": {
                            "type": "string",
                            "enum": ["wall", "ceiling", "window"]
                          },
                          "indoorOutdoor": {
                            "type": "string",
                            "enum": ["indoor", "outdoor"]
                          }
                        },
                        "required": ["floor", "mountType"]
                      }
                    }
                  }
                }
              }

             Figure 2: Example: Environmental Context Awareness

   4.1.3.  Example: Regulatory Compliance and Certification

   Aligned with Section 3.2.3, the following SDF model defines immutable
   identity and certification data of a regulated device.




















Hong & Lee              Expires 15 February 2026                [Page 9]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   {
     "sdfThing": {
       "deviceMetadata": {
         "sdfNonAffordance": {
           "identity": {
             "type": "object",
             "properties": {
               "manufacturer": { "type": "string" },
               "model": { "type": "string" },
               "firmwareVersion": { "type": "string" }
             }
           },
           "certifications": {
             "type": "array",
             "items": {
               "type": "object",
               "properties": {
                 "scheme": { "type": "string" },
                 "certId": { "type": "string" },
                 "region": { "type": "string" }
               }
             }
           }
         }
       }
     }
   }

         Figure 3: Example: Regulatory Compliance and Certification

4.2.  Run-Time Context Messages

   During operation, some contextual values change (e.g., a device is
   moved to a new room) or must be declared for audit purposes.  To
   communicate those facts without re-classifying them as affordances,
   three transport-agnostic JSON envelopes for run-time context exchange
   are defined:

   *  contextSnapshot: conveys the full, current set of non-affordance
      fields-such as installation information or geographic coordinates-
      and is typically sent at boot, on request, or during periodic
      audits.

   *  identityManifest: declares immutable identity data (model,
      manufacturer, capability tags, certifications) and is normally
      issued once at commissioning or whenever a permanent attribute is
      added, for example after a firmware upgrade that introduces a new
      capability.



Hong & Lee              Expires 15 February 2026               [Page 10]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   *  contextPatch: transmits only the keys that have changed since the
      last snapshot, minimising bandwidth when a device is moved, re-
      mounted, or otherwise updated in context.

   All envelopes carry a thingId and an timestamp.

   4.2.1.  contextSnapshot Message

   The 'contextSnapshot' message provides a complete view of a device's
   static non-affordance metadata.  This message is typically sent upon
   onboarding or registration to inform the system of all contextual
   properties.

   {
     "thingId": "envSensor:abc123",
     "timestamp": "2025-07-01T12:00:00Z",
     "contextSnapshot": {
       "installationInfo": {
         "floor": 3,
         "mountType": "ceiling",
         "indoorOutdoor": "indoor"
       }
     }

                Figure 4: Example of contextSnapshot Message

   4.2.2.  identityManifest Message

   The 'identityManifest' message describes immutable identity
   attributes of a device or asset.  It can be used for device
   authentication or registry lookup.

   {
     "thingId": "medDevice:unit42",
     "timestamp": "2025-07-01T08:15:00Z",
     "identityManifest": {
       "manufacturer": "HealthTech Inc.",
       "model": "HT-2025-M",
       "firmwareVersion": "1.4.3",
       "certifications": [
         { "scheme": "FDA", "certId": "FDA123456", "region": "US" },
         { "scheme": "CE", "certId": "CE987654", "region": "EU" }
       ]
     }
   }

               Figure 5: Example of identityManifest Message




Hong & Lee              Expires 15 February 2026               [Page 11]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   4.2.3.  contextPatch Message

   The 'contextPatch' message reports changes to specific non-affordance
   attributes.  This allows for efficient partial updates without
   resending the entire snapshot.

   {
      "thingId": "assetContainer:box001",
      "timestamp": "2025-07-01T14:23:00Z",
      "contextPatch": {
        "location": {
          "lat": 37.5665,
          "lon": 126.9780
        }
      }
    }

                 Figure 6: Example of contextPatch Message

5.  Security Considerations

   TBD

6.  IANA Considerations

   TBD

7.  Normative References

   [I-D.ietf-asdf-sdf]
              Koster, M., Bormann, C., and A. Keränen, "Semantic
              Definition Format (SDF) for Data and Interactions of
              Things", Work in Progress, Internet-Draft, draft-ietf-
              asdf-sdf-23, 17 March 2025,
              <https://datatracker.ietf.org/doc/html/draft-ietf-asdf-
              sdf-23>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

Authors' Addresses




Hong & Lee              Expires 15 February 2026               [Page 12]

Internet-Draft    SDF Extension for Non-Affordance Info      August 2025


   Jungha Hong (editor)
   Electronics and Telecommunications Research Institute
   218 Gajeong-ro, Yuseong-gu
   Daejeon
   34129
   South Korea
   Phone: +82 42 860 0926
   Email: jhong@etri.re.kr


   Hyunjeong Lee
   Electronics and Telecommunications Research Institute
   218 Gajeong-ro, Yuseong-gu
   Daejeon
   34129
   South Korea
   Phone: +82 42 860 1213
   Email: hjlee294@etri.re.kr

































Hong & Lee              Expires 15 February 2026               [Page 13]
