netconfcentral logo

ieee1906-dot1-types@2020-07-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

+---------------------+-----------------------------------+
| Component name      | Type of component                 |
+---------------------+-----------------------------------+
| iana-interface-type | nanoscale-communication-interface |
+---------------------+-----------------------------------+
| message-carrier     | bacterium                         |
|                     | calcium-ion                       |
|                     | charge                            |
|                     | electromagnetic-wave              |
|                     | ligand                            |
|                     | motor                             |
| motion              | diffusion                         |
|                     | motion-type                       |
|                     | potential-difference              |
|                     | walking                           |
|                     | wave-guided                       |
| field               | compartmentalized                 |
|                     | concentration-gradient            |
|                     | directional-antenna               |
|                     | microtubule                       |
|                     | nanostructure-orientation         |
| perturbation        | concentration-change              |
|                     | electrical-current-variation      |
|                     | electromagnetic-wave-variation    |
|                     | molecular-structure               |
|                     | transmission-rate                 |
| specificity-type    | antenna-aperture                  |
|                     | receptor-sensitivity              |
|                     | electrical-charge                 |
+---------------------+-----------------------------------+

NOTE: The following 1906 definitions are not included in this
      framework. As the framework ultimately augments IETF
      interface model, the following 'classical' definitions
      can be handled by the corresponding ietf nodes:
+---------------------+-----------------------------------+
| transmitter         |                                   |
| receiver            |                                   |
| medium              |                                   |
| message             |                                   |
+---------------------+-----------------------------------+";

    revision "2020-07-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 {
      base 
      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