summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-transport-types.yang
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:49:33 +0100
committerAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:51:10 +0100
commit639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (patch)
tree83de866d2e47bd71dae0c6ff9e03f51c3269413b /src/plugins/yang/openconfig/openconfig-transport-types.yang
parentba089324594f450a1b549906ec7fde1ba63a1e89 (diff)
Add Openconfig YANG modules.
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-transport-types.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-transport-types.yang834
1 files changed, 834 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-transport-types.yang b/src/plugins/yang/openconfig/openconfig-transport-types.yang
new file mode 100644
index 0000000..247b973
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-transport-types.yang
@@ -0,0 +1,834 @@
+module openconfig-transport-types {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/transport-types";
+
+ prefix "oc-opt-types";
+
+ import openconfig-platform-types { prefix oc-platform-types; }
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-types { prefix oc-types; }
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module contains general type definitions and identities
+ for optical transport models.";
+
+ oc-ext:openconfig-version "0.6.0";
+
+ revision "2018-05-16" {
+ description
+ "Added interval,min,max time to interval stats.";
+ reference "0.6.0";
+ }
+
+ revision "2017-08-16" {
+ description
+ "Added ODU Cn protocol type";
+ reference "0.5.0";
+ }
+
+ revision "2016-12-22" {
+ description
+ "Fixes and additions for terminal optics model";
+ reference "0.4.0";
+ }
+
+ // typedef statements
+
+ typedef frequency-type {
+ type uint64;
+ units "MHz";
+ description
+ "Type for optical spectrum frequency values";
+ }
+
+ typedef admin-state-type {
+ type enumeration {
+ enum ENABLED {
+ description
+ "Sets the channel admin state to enabled";
+ }
+ enum DISABLED {
+ description
+ "Sets the channel admin state to disabled";
+ }
+ enum MAINT {
+ description
+ "Sets the channel to maintenance / diagnostic mode";
+ }
+ }
+ description "Administrative state modes for
+ logical channels in the transponder model.";
+ }
+
+ typedef loopback-mode-type {
+ type enumeration {
+ enum NONE {
+ description
+ "No loopback is applied";
+ }
+ enum FACILITY {
+ description
+ "A loopback which directs traffic normally transmitted
+ on the port back to the device as if received on the same
+ port from an external source.";
+ }
+ enum TERMINAL {
+ description
+ "A loopback which directs traffic received from an external
+ source on the port back out the transmit side of the same
+ port.";
+ }
+ }
+ default NONE;
+ description
+ "Loopback modes for transponder logical channels";
+ }
+
+ // grouping statements
+
+ grouping avg-min-max-instant-stats-precision2-ps-nm {
+ description
+ "Common grouping for recording picosecond per nanometer
+ values with 2 decimal precision. Values include the
+ instantaneous, average, minimum, and maximum statistics.
+ Statistics are computed and reported based on a moving time
+ interval (e.g., the last 30s). If supported by the device,
+ the time interval over which the statistics are computed, and
+ the times at which the minimum and maximum values occurred,
+ are also reported.";
+
+ leaf instant {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps-nm;
+ description
+ "The instantaneous value of the statistic.";
+ }
+
+ leaf avg {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps-nm;
+ description
+ "The arithmetic mean value of the statistic over the
+ time interval.";
+ }
+
+ leaf min {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps-nm;
+ description
+ "The minimum value of the statistic over the time interval.";
+ }
+
+ leaf max {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps-nm;
+ description
+ "The maximum value of the statistic over the time interval.";
+ }
+
+ uses oc-types:stat-interval-state;
+ uses oc-types:min-max-time;
+ }
+
+ grouping avg-min-max-instant-stats-precision2-ps {
+ description
+ "Common grouping for recording picosecond values with
+ 2 decimal precision. Values include the
+ instantaneous, average, minimum, and maximum statistics.
+ Statistics are computed and reported based on a moving time
+ interval (e.g., the last 30s). If supported by the device,
+ the time interval over which the statistics are computed, and
+ the times at which the minimum and maximum values occurred,
+ are also reported.";
+
+ leaf instant {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps;
+ description
+ "The instantaneous value of the statistic.";
+ }
+
+ leaf avg {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps;
+ description
+ "The arithmetic mean value of the statistic over the
+ time interval.";
+ }
+
+ leaf min {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps;
+ description
+ "The minimum value of the statistic over the time interval.";
+ }
+
+ leaf max {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps;
+ description
+ "The maximum value of the statistic over the time interval.";
+ }
+
+ uses oc-types:stat-interval-state;
+ uses oc-types:min-max-time;
+ }
+
+ grouping avg-min-max-instant-stats-precision2-ps2 {
+ description
+ "Common grouping for recording picosecond^2 values with
+ 2 decimal precision. Values include the
+ instantaneous, average, minimum, and maximum statistics.
+ Statistics are computed and reported based on a moving time
+ interval (e.g., the last 30s). If supported by the device,
+ the time interval over which the statistics are computed, and
+ the times at which the minimum and maximum values occurred,
+ are also reported.";
+
+ leaf instant {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps^2;
+ description
+ "The instantaneous value of the statistic.";
+ }
+
+ leaf avg {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps^2;
+ description
+ "The arithmetic mean value of the statistic over the
+ time interval.";
+ }
+
+ leaf min {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps^2;
+ description
+ "The minimum value of the statistic over the time interval.";
+ }
+
+ leaf max {
+ type decimal64 {
+ fraction-digits 2;
+ }
+ units ps^2;
+ description
+ "The maximum value of the statistic over the time
+ interval.";
+ }
+
+ uses oc-types:stat-interval-state;
+ uses oc-types:min-max-time;
+ }
+
+ grouping avg-min-max-instant-stats-precision18-ber {
+ description
+ "Common grouping for recording bit error rate (BER) values
+ with 18 decimal precision. Note that decimal64 supports
+ values as small as i x 10^-18 where i is an integer. Values
+ smaller than this should be reported as 0 to inidicate error
+ free or near error free performance. Values include the
+ instantaneous, average, minimum, and maximum statistics.
+ Statistics are computed and reported based on a moving time
+ interval (e.g., the last 30s). If supported by the device,
+ the time interval over which the statistics are computed, and
+ the times at which the minimum and maximum values occurred,
+ are also reported.";
+
+ leaf instant {
+ type decimal64 {
+ fraction-digits 18;
+ }
+ units bit-errors-per-second;
+ description
+ "The instantaneous value of the statistic.";
+ }
+
+ leaf avg {
+ type decimal64 {
+ fraction-digits 18;
+ }
+ units bit-errors-per-second;
+ description
+ "The arithmetic mean value of the statistic over the
+ time interval.";
+ }
+
+ leaf min {
+ type decimal64 {
+ fraction-digits 18;
+ }
+ units bit-errors-per-second;
+ description
+ "The minimum value of the statistic over the time
+ interval.";
+ }
+
+ leaf max {
+ type decimal64 {
+ fraction-digits 18;
+ }
+ units bit-errors-per-second;
+ description
+ "The maximum value of the statistic over the time
+ interval.";
+ }
+
+ uses oc-types:stat-interval-state;
+ uses oc-types:min-max-time;
+ }
+
+ // identity statements
+
+ identity TRIBUTARY_PROTOCOL_TYPE {
+ description
+ "Base identity for protocol framing used by tributary
+ signals.";
+ }
+
+ identity PROT_1GE {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "1G Ethernet protocol";
+ }
+
+ identity PROT_OC48 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OC48 protocol";
+ }
+
+ identity PROT_STM16 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "STM 16 protocol";
+ }
+
+ identity PROT_10GE_LAN {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "10G Ethernet LAN protocol";
+ }
+
+ identity PROT_10GE_WAN {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "10G Ethernet WAN protocol";
+ }
+
+ identity PROT_OC192 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OC 192 (9.6GB) port protocol";
+ }
+
+ identity PROT_STM64 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "STM 64 protocol";
+ }
+
+ identity PROT_OTU2 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU 2 protocol";
+ }
+
+ identity PROT_OTU2E {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU 2e protocol";
+ }
+
+ identity PROT_OTU1E {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU 1e protocol";
+ }
+
+ identity PROT_ODU2 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "ODU 2 protocol";
+ }
+
+ identity PROT_ODU2E {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "ODU 2e protocol";
+ }
+
+ identity PROT_40GE {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "40G Ethernet port protocol";
+ }
+
+ identity PROT_OC768 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OC 768 protocol";
+ }
+
+ identity PROT_STM256 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "STM 256 protocol";
+ }
+
+ identity PROT_OTU3 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU 3 protocol";
+ }
+
+ identity PROT_ODU3 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "ODU 3 protocol";
+ }
+
+ identity PROT_100GE {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "100G Ethernet protocol";
+ }
+
+ identity PROT_100G_MLG {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "100G MLG protocol";
+ }
+
+ identity PROT_OTU4 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU4 signal protocol (112G) for transporting
+ 100GE signal";
+ }
+
+ identity PROT_OTUCN {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "OTU Cn protocol";
+ }
+
+ identity PROT_ODUCN {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "ODU Cn protocol";
+ }
+
+ identity PROT_ODU4 {
+ base TRIBUTARY_PROTOCOL_TYPE;
+ description "ODU 4 protocol";
+ }
+
+ identity TRANSCEIVER_FORM_FACTOR_TYPE {
+ description
+ "Base identity for identifying the type of pluggable optic
+ transceiver (i.e,. form factor) used in a port.";
+ }
+
+ identity CFP {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "C form-factor pluggable, that can support up to a
+ 100 Gb/s signal with 10x10G or 4x25G physical channels";
+ }
+
+ identity CFP2 {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "1/2 C form-factor pluggable, that can support up to a
+ 200 Gb/s signal with 10x10G, 4x25G, or 8x25G physical
+ channels";
+ }
+
+ identity CFP2_ACO {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "CFP2 analog coherent optics transceiver, supporting
+ 100 Gb, 200Gb, and 250 Gb/s signal.";
+ }
+
+ identity CFP4 {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "1/4 C form-factor pluggable, that can support up to a
+ 100 Gb/s signal with 10x10G or 4x25G physical channels";
+ }
+
+ identity QSFP {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "OriginalQuad Small Form-factor Pluggable transceiver that can
+ support 4x1G physical channels. Not commonly used.";
+ }
+
+ identity QSFP_PLUS {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Quad Small Form-factor Pluggable transceiver that can support
+ up to 4x10G physical channels.";
+ }
+
+ identity QSFP28 {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "QSFP pluggable optic with support for up to 4x28G physical
+ channels";
+ }
+
+ identity CPAK {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Cisco CPAK transceiver supporting 100 Gb/s.";
+ }
+
+ identity SFP {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Small form-factor pluggable transceiver supporting up to
+ 10 Gb/s signal";
+ }
+
+ identity SFP_PLUS {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Enhanced small form-factor pluggable transceiver supporting
+ up to 16 Gb/s signals, including 10 GbE and OTU2";
+ }
+
+ identity XFP {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "10 Gigabit small form factor pluggable transceiver supporting
+ 10 GbE and OTU2";
+ }
+
+ identity X2 {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "10 Gigabit small form factor pluggable transceiver supporting
+ 10 GbE using a XAUI inerface and 4 data channels.";
+ }
+
+ identity NON_PLUGGABLE {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Represents a port that does not require a pluggable optic,
+ e.g., with on-board optics like COBO";
+ }
+
+ identity OTHER {
+ base TRANSCEIVER_FORM_FACTOR_TYPE;
+ description
+ "Represents a transceiver form factor not otherwise listed";
+ }
+
+ identity FIBER_CONNECTOR_TYPE {
+ description
+ "Type of optical fiber connector";
+ }
+
+ identity SC_CONNECTOR {
+ base FIBER_CONNECTOR_TYPE;
+ description
+ "SC type fiber connector";
+ }
+
+ identity LC_CONNECTOR {
+ base FIBER_CONNECTOR_TYPE;
+ description
+ "LC type fiber connector";
+ }
+
+ identity MPO_CONNECTOR {
+ base FIBER_CONNECTOR_TYPE;
+ description
+ "MPO (multi-fiber push-on/pull-off) type fiber connector
+ 1x12 fibers";
+ }
+
+ identity ETHERNET_PMD_TYPE {
+ description
+ "Ethernet compliance codes (PMD) supported by transceivers";
+ }
+
+ identity ETH_10GBASE_LRM {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 10GBASE_LRM";
+ }
+
+ identity ETH_10GBASE_LR {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 10GBASE_LR";
+ }
+
+ identity ETH_10GBASE_ZR {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 10GBASE_ZR";
+ }
+
+ identity ETH_10GBASE_ER {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 10GBASE_ER";
+ }
+
+ identity ETH_10GBASE_SR {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 10GBASE_SR";
+ }
+
+ identity ETH_40GBASE_CR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 40GBASE_CR4";
+ }
+
+ identity ETH_40GBASE_SR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 40GBASE_SR4";
+ }
+
+ identity ETH_40GBASE_LR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 40GBASE_LR4";
+ }
+
+ identity ETH_40GBASE_ER4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 40GBASE_ER4";
+ }
+
+ identity ETH_40GBASE_PSM4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 40GBASE_PSM4";
+ }
+
+ identity ETH_4X10GBASE_LR {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 4x10GBASE_LR";
+ }
+
+ identity ETH_4X10GBASE_SR {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 4x10GBASE_SR";
+ }
+
+ identity ETH_100G_AOC {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100G_AOC";
+ }
+
+ identity ETH_100G_ACC {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100G_ACC";
+ }
+
+ identity ETH_100GBASE_SR10 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_SR10";
+ }
+
+ identity ETH_100GBASE_SR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_SR4";
+ }
+
+ identity ETH_100GBASE_LR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_LR4";
+ }
+
+ identity ETH_100GBASE_ER4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_ER4";
+ }
+
+ identity ETH_100GBASE_CWDM4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_CWDM4";
+ }
+
+ identity ETH_100GBASE_CLR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_CLR4";
+ }
+
+ identity ETH_100GBASE_PSM4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_PSM4";
+ }
+
+ identity ETH_100GBASE_CR4 {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: 100GBASE_CR4";
+ }
+
+ identity ETH_UNDEFINED {
+ base ETHERNET_PMD_TYPE;
+ description "Ethernet compliance code: undefined";
+ }
+
+ identity SONET_APPLICATION_CODE {
+ description
+ "Supported SONET/SDH application codes";
+ }
+
+ identity VSR2000_3R2 {
+ base SONET_APPLICATION_CODE;
+ description
+ "SONET/SDH application code: VSR2000_3R2";
+ }
+
+ identity VSR2000_3R3 {
+ base SONET_APPLICATION_CODE;
+ description
+ "SONET/SDH application code: VSR2000_3R3";
+ }
+
+ identity VSR2000_3R5 {
+ base SONET_APPLICATION_CODE;
+ description
+ "SONET/SDH application code: VSR2000_3R5";
+ }
+
+ identity SONET_UNDEFINED {
+ base SONET_APPLICATION_CODE;
+ description
+ "SONET/SDH application code: undefined";
+ }
+
+ identity OTN_APPLICATION_CODE {
+ description
+ "Supported OTN application codes";
+ }
+
+ identity P1L1_2D1 {
+ base OTN_APPLICATION_CODE;
+ description
+ "OTN application code: P1L1_2D1";
+ }
+
+ identity P1S1_2D2 {
+ base OTN_APPLICATION_CODE;
+ description
+ "OTN application code: P1S1_2D2";
+ }
+
+ identity P1L1_2D2 {
+ base OTN_APPLICATION_CODE;
+ description
+ "OTN application code: P1L1_2D2";
+ }
+
+ identity OTN_UNDEFINED {
+ base OTN_APPLICATION_CODE;
+ description
+ "OTN application code: undefined";
+ }
+
+ identity TRIBUTARY_RATE_CLASS_TYPE {
+ description
+ "Rate of tributary signal _- identities will typically reflect
+ rounded bit rate.";
+ }
+
+ identity TRIB_RATE_1G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "1G tributary signal rate";
+ }
+
+ identity TRIB_RATE_2.5G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "2.5G tributary signal rate";
+ }
+
+ identity TRIB_RATE_10G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "10G tributary signal rate";
+ }
+
+ identity TRIB_RATE_40G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "40G tributary signal rate";
+ }
+
+ identity TRIB_RATE_100G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "100G tributary signal rate";
+ }
+
+ identity TRIB_RATE_150G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "150G tributary signal rate";
+ }
+
+ identity TRIB_RATE_200G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "200G tributary signal rate";
+ }
+
+ identity TRIB_RATE_250G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "250G tributary signal rate";
+ }
+
+ identity TRIB_RATE_300G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "300G tributary signal rate";
+ }
+
+ identity TRIB_RATE_400G {
+ base TRIBUTARY_RATE_CLASS_TYPE;
+ description
+ "400G tributary signal rate";
+ }
+
+ identity LOGICAL_ELEMENT_PROTOCOL_TYPE {
+ description
+ "Type of protocol framing used on the logical channel or
+ tributary";
+ }
+
+ identity PROT_ETHERNET {
+ base LOGICAL_ELEMENT_PROTOCOL_TYPE;
+ description
+ "Ethernet protocol framing";
+ }
+
+ identity PROT_OTN {
+ base LOGICAL_ELEMENT_PROTOCOL_TYPE;
+ description
+ "OTN protocol framing";
+ }
+
+ identity OPTICAL_CHANNEL {
+ base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT;
+ description
+ "Optical channels act as carriers for transport traffic
+ directed over a line system. They are represented as
+ physical components in the physical inventory model.";
+ }
+
+}