ieee1906-dot1-types

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

  • Version: 2020-12-07

    ieee1906-dot1-types@2020-12-07


    
      module ieee1906-dot1-types {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:1906.1:yang:ieee1906-dot1-types";
    
        prefix ieee1906-dot1-types;
    
        import ietf-interfaces {
          prefix if;
        }
        import iana-if-type {
          prefix ianaift;
        }
    
        organization
          "IEEE 1906.1-2015 - Recommended Practice for Nanoscale and
    Molecular Communication Framework Working Group";
    
        contact
          "Stephen F. Bush <bushsf@research.ge.com>
    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.";
    
        revision "2020-12-07" {
          description "Initial version.";
          reference
            "[1] 'IEEE Recommended Practice for Nanoscale and Molecular
                 Communication Framework,' in IEEE Std 1906.1-2015, pp.1-64,
                 Jan. 11 2016 doi: 10.1109/IEEESTD.2016.7378262
            
            	[2] S. F. Bush, 'Active network architecture' in Nanoscale
            	    Communication Networks, pp. 209-217, 2010, Artech House.
            
            	[3] S. F. Bush, J. L. Paluh, G. Piro, V. Rao, R. V. Prasad and
            	    A. Eckford, 'Defining Communication at the Bottom,' in IEEE
            	    Transactions on Molecular, Biological and Multi-Scale
            	    Communications, vol. 1, no. 1, pp. 90-96, March 2015.
            	    doi: 10.1109/TMBMC.2015.2465513";
    
        }
    
    
        feature nanoscale-interface {
          description
            "The nanoscale system can be treated like an IETF interface and
    is allowed to reuse ietf-interface YANG objects.";
        }
    
        identity nanoscale-communication-interface {
          base ianaift:ieee19061nanocom;if:interface-type;
          description
            "Interface identity for a nanoscale communication interface.
    
     The following entry is in the ifType and transmission number registries:
     Decimal: 299
     Name: ieee19061nanocom
     Description: Nanoscale and Molecular Communication
     Reference: [IEEE 1906.1-2015]
     Please see
     https://www.iana.org/assignments/smi-numbers
     and the corresponding MIB and YANG modules:
     https://www.iana.org/assignments/ianaiftype-mib
     https://www.iana.org/assignments/yang-parameters";
        }
    
        identity concept {
          description
            "Logical placeholder. You should not use this.";
        }
    
        identity definition {
          base concept;
          description
            "An IEEE Std 1906.1-2015 nanoscale definition.";
        }
    
        identity message {
          base definition;
          description
            "The information to be conveyed that is known to the
    transmitting party interfacing with a receiver, and
    unknown, but recognizable, to the receiving party.";
        }
    
        identity receiver {
          base definition;
          description
            "A device used to collect messages from a transmitter.";
        }
    
        identity transmitter {
          base definition;
          description
            "A device used to convey a message to a receiver.";
        }
    
        identity medium {
          base definition;
          description
            "The environment connecting the transmitter and
    receiver, which can include gas, gel, or liquid.";
        }
    
        identity non-standard-physics {
          base definition;
          description
            "This identity represents any non standard physics that need to be included to 
    the model.";
        }
    
        identity component-less-than-10um {
          base definition;
          description
            "Identifies the components that have a dimension from 1um to 10um.";
        }
    
        identity component-less-than-1um {
          base definition;
          description
            "Identifies the components that have a dimension from 100nm to 1um.";
        }
    
        identity component-less-than-100nm {
          base definition;
          description
            "Identifies the components that have a dimension from 10nm to 100nm.";
        }
    
        identity component-less-than-10nm {
          base definition;
          description
            "Identifies the components that have a dimension from 1nm to 10nm.";
        }
    
        identity system-definition {
          base definition;
          description
            "Identifies the intended system type. For IEEE1906.1-2015, please consider
    'nanoscale communication'.";
        }
    
        identity nanoscale-communication {
          base system-definition;
          description
            "Identifies the intended system type. For IEEE1906.1-2015, please consider
    'nanoscale communication'.";
        }
    
        identity component {
          base concept;
          description
            "A required element of the framework that provides a service
    for communication in a network.
    
    This model allows for flexibility and reconfigurability and
    does not assume anything about the 'topology' or the way your
    biological model is defined, AS LONG AS you link each of the
    element of your model to the corresponding type of component
    listed in this module to access to their corresponding
    metrics.
    
    To use the framework, each of the components of your module
    MUST have a leaf entitled 'type-of-component' of type
    'identityref' which MUST have for base this 'component' base
    identity.
    
    For example:
    
    list neuron-elements
    {
      key 'identifier';
      leaf name
      {
        type string;
        description 'Acts as a type in our model. Like soma, synapse etc.';
      }
    
      leaf identifier
      {
        type string;
        description 'Acts as an identifier in our model. Like SOMA_00_01 etc.';
      }
    
      leaf type-of-component
      {
        type identityref { base 'ieee1906-types:component' };
      }
    
      uses ieee1906-metrics:message-carrier;
    }
    
    Would generate:
    <neuron-elements>
      <name>bdnf</name>
      <type-of-component>message-carrier</type-of-component>
      <message-metrics>
        <message-deliverability>0.92</message-deliverability>
        ...
      </message-metrics>
    </neuron-elements>
    
    As a valid XML output.
    ";
          reference
            "IEEE 1906.1-2015 Clause 5.2";
    
        }
    
        identity message-carrier {
          base component;
          description
            "The message carrier provides the service of transporting the
    message.";
        }
    
        identity motion {
          base component;
          description
            "Defines the movement capability for Message Carrier.";
        }
    
        identity field {
          base component;
          description
            "Defines organized movement of Motion.";
        }
    
        identity perturbation {
          base component;
          description
            "Defines the signal transported by Message Carrier.";
        }
    
        identity specificity {
          base component;
          description
            "Defines targeted reception of Perturbation.";
        }
    
        identity calcium-ion {
          base message-carrier;
          description "Calcium ion.";
        }
    
        identity ligand {
          base message-carrier;
          description "Ligand-receptor system.";
        }
    
        identity motor {
          base message-carrier;
          description "Molecular motor.";
        }
    
        identity charge {
          base message-carrier;
          description "Electrical charge.";
        }
    
        identity bacterium {
          base message-carrier;
          description "Bacterium.";
        }
    
        identity electromagnetic-wave {
          base message-carrier;
          description "Electromagnetic wave.";
        }
    
        identity diffusion {
          base motion;
          description "Diffusion.";
        }
    
        identity walking {
          base motion;
          description "Walking.";
        }
    
        identity potential-difference {
          base motion;
          description
            "Electrical potential difference.";
        }
    
        identity wave-guided {
          base motion;
          description "Follows a wave guide.";
        }
    
        identity concentration-gradient {
          base field;
          description "Concentration gradient.";
        }
    
        identity compartmentalized {
          base field;
          description "Compartmentalized.";
        }
    
        identity microtubule {
          base field;
          description "Microtubule.";
        }
    
        identity nanostructure-orientation {
          base field;
          description
            "Nanostructure orientation, e.g. nanotube orientation.";
        }
    
        identity directional-antenna {
          base field;
          description "directional antenna";
        }
    
        identity transmission-rate {
          base perturbation;
          description
            "Transmission rate is varied to create bits.";
        }
    
        identity concentration-change {
          base perturbation;
          description
            "Concentration is varied to create bits.";
        }
    
        identity molecular-structure {
          base perturbation;
          description
            "Molecular structure is changed to represent bits.";
        }
    
        identity electrical-current-variation {
          base perturbation;
          description
            "Electrical current is varied to create bits.";
        }
    
        identity electromagnetic-wave-variation {
          base perturbation;
          description
            "The electromagnetic wave is varied to create bits.";
        }
    
        identity receptor-sensitivity {
          base specificity;
          description "Receptor sensitivity.";
        }
    
        identity electrical-charge {
          base specificity;
          description
            "Electrical charge or voltage sensitivity threshold is exceeded.";
        }
    
        identity antenna-aperture {
          base specificity;
          description
            "Antenna aperture and orientation control specificity.";
        }
    
        typedef urn {
          type string {
            pattern
              '[uU][rR][nN]:([a-zA-Z0-9]+[a-zA-Z0-9.\-]*:*)+';
          }
          description "";
        }
      }  // module ieee1906-dot1-types
    

© 2023 YumaWorks, Inc. All rights reserved.