ieee1906-dot1-properties

This is the YANG model for the IEEE 1906.1-2015 - Recommended Practice for Nanoscale and Molecular Communication Framework. Clau...

  • Version: 2020-12-07

    ieee1906-dot1-properties@2020-12-07


    
      module ieee1906-dot1-properties {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:1906.1:yang:ieee1906-dot1-properties";
    
        prefix ieee1906-properties;
    
        import ieee1906-dot1-si-units {
          prefix ieee1906-dot1-si-units;
        }
    
        organization
          "IEEE 1906.1.1 Working Group";
    
        contact
          "IEEE 1906.1.1 Working Group
    Chair: Stephen F. Bush <bushsf@research.ge.com>
    Secretary: Guillaume Mantelet <gmantelet@voltigeurnetworks.com>";
    
        description
          "This is the YANG model for the IEEE 1906.1-2015 - Recommended
    Practice for Nanoscale and Molecular Communication Framework.
    Clause 5 - Framework of a molecular and nanoscale communication
    network.
    
    	  This module defines generic properties users are invited to augment
    	  to associate their model to the framework.";
    
        revision "2020-12-07" {
          description "Initial version.";
        }
    
    
        grouping property {
          description
            "This is a convenience grouping for the IEEE 1906.1-2015 framework.
    This relates any conceptual object to a 'property'.";
          leaf timestamp {
            type ieee1906-dot1-si-units:time;
            description
              "Gives a timestamp for a snapshot of the system, relating
    metrics to a reference in simulation time.";
          }
    
          leaf length {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe length for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property. If for
    instance, length is in nanometer, and time is in second, then
    it is expected that speed shall be in nanometer.second-1, unless
    annotation of the specific leaf tells something different.
    
    If omitted, defaults to 'meter'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf scale {
            type union {
              type enumeration {
                enum "Planck" {
                  value 0;
                }
                enum "quantum" {
                  value 1;
                }
                enum "nanoscale" {
                  value 2;
                }
                enum "microscale" {
                  value 3;
                }
                enum "macroscale" {
                  value 4;
                }
                enum "interplanetary" {
                  value 5;
                }
                enum "relativistic" {
                  value 6;
                }
              }
              type enumeration {
                enum "less-than-1um" {
                  value 0;
                }
                enum "less-than-100nm" {
                  value 1;
                }
                enum "less-than-10nm" {
                  value 2;
                }
              }
            }
            default "nanoscale";
            description
              "Defines a generic scale for this system. If omitted, it is
    understood that it is a nanoscale system (<1um).";
          }
    
          leaf mass {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe mass for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'kilogram'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf time {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe time for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'second'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf duration {
            type empty;
            description
              "It is simply another way of naming time. If time is
    already defined as property with its si unit annotated,
    then it shall be treated as an error if this leaf is also
    present as property.";
          }
    
          leaf electric-current {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe electric current for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'ampere'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf thermodynamic-temperature {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe temperature for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'kelvin'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf amount-of-substance {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe amount of substance for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'mole'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf luminous-intensity {
            type empty;
            description
              "Gives users options to annotate this leaf, thus declaring to
    the system which SI unit is used to describe luminous intensity for this
    component and its child nodes (e.g. for this XML element and
    its children).
    
    All derived units shall depend on this property.
    
    If omitted, defaults to 'candela'.
    
    The implementation of the framework shall ensure annotation
    matches a length, otherwise it shall ensure NETCONF server
    sends back appropriate rpc-error, like maybe bad attribute.";
          }
    
          leaf-list derived-unit {
            type identityref {
              base ieee1906-dot1-si-units:si-derived-unit;
            }
            description
              "Gives users options to annotate this specific SI derived unit,
    thus declaring to the system which SI unit is used the said
    derived unit for this component and its child nodes (e.g. for
    this XML element and its children).
    
    All derived units shall depend on this property.
    
    The list does not have to be complete. Omitted derived units
    default to their SI definitions, or derive from base units if
    they are defined. For example, the annotation may contradict
    its base unit: if system defines time in millisecond, frequency
    is in kilohertz if not specified, or if this derived-unit refers
    to frequency, any other units, such as TeraHertz can be used.
    However, tools and plugins checking balance of units may raise
    errors.
    
    The implementation of the framework shall ensure annotation
    matches corresponding derived SI unit, otherwise it shall ensure
    NETCONF server sends back appropriate rpc-error, like maybe
    bad attribute.";
          }
        }  // grouping property
      }  // module ieee1906-dot1-properties
    

© 2023 YumaWorks, Inc. All rights reserved.