diff --git a/models/tapi/src/main/yang/tapi-common@2017-05-31.yang b/models/tapi/src/main/yang/tapi-common@2018-02-16.yang
similarity index 93%
rename from models/tapi/src/main/yang/tapi-common@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-common@2018-02-16.yang
index eb3ce4f..6a21829 100644
--- a/models/tapi/src/main/yang/tapi-common@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-common@2018-02-16.yang
@@ -1,16 +1,25 @@
 module tapi-common {
-    namespace "urn:onf:params:xml:ns:yang:tapi-common";
+    namespace "urn:onf:otcc:yang:tapi-common";
     prefix tapi-common;
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Common Model definitions.
+        Source: TapiCommon.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0
+        ";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     /***********************
     * package object-classes
@@ -81,11 +90,11 @@
             description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";
         }
         container context {
-        	presence "TAPI";
-            uses _context;
+            uses tapi-context;
+            presence "Root container for all TAPI interaction";
             description "none";
         }
-        grouping _context {
+        grouping tapi-context {
             list service-interface-point {
                 key 'uuid';
                 min-elements 2;
@@ -111,8 +120,8 @@
                 description "Usage of layerProtocolName [>1]  in the ServiceInterfacePoint should be considered experimental";
             }
             uses resource-spec;
-            uses tapi-common:admin-state-pac;
-            uses tapi-common:capacity-pac;
+            uses admin-state-pac;
+            uses capacity-pac;
             description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. 
                 The structure of LTP supports all transport protocols including circuit and packet forms.";
         }
@@ -237,6 +246,9 @@
                 enum ETY {
                     description "Models the ETY layer as per ITU-T G.8010";
                 }
+                enum DSR {
+                    description "Models a Digital Signal of an unspecified rate. This value can be used when the intent is to respresent an generic digital layer signal without making any statement on its format or overhead (processing) capabilities.";
+                }
             }
             description "Provides a controlled list of layer protocol names and indicates the naming authority.
                 Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
diff --git a/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang b/models/tapi/src/main/yang/tapi-connectivity@2018-02-16.yang
similarity index 94%
rename from models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-connectivity@2018-02-16.yang
index 8f223d0..45f89de 100644
--- a/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-connectivity@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-connectivity {
-    namespace "urn:onf:params:xml:ns:yang:tapi-connectivity";
+    namespace "urn:onf:otcc:yang:tapi-connectivity";
     prefix tapi-connectivity;
     import tapi-common {
         prefix tapi-common;
@@ -10,16 +10,24 @@
     import tapi-path-computation {
         prefix tapi-path-computation;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Connectivity Model definitions.
+        Source: TapiConnectivity.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses connectivity-context;
@@ -57,7 +65,7 @@
                 description "none";
             }
             list switch-control {
-                key 'local-id';
+                key 'uuid';
                 config false;
                 uses switch-control;
                 description "none";
@@ -123,12 +131,10 @@
         grouping connectivity-constraint {
             leaf service-type {
                 type service-type;
-                config false;
                 description "none";
             }
             leaf service-level {
                 type string;
-                config false;
                 description "An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability";
             }
             leaf is-exclusive {
@@ -137,7 +143,6 @@
                 description "To distinguish if the resources are exclusive to the service  - for example between EPL(isExclusive=true) and EVPL (isExclusive=false), or between EPLAN (isExclusive=true) and EVPLAN (isExclusive=false)";
             }
             container requested-capacity {
-                config false;
                 uses tapi-common:capacity;
                 description "none";
             }
@@ -147,13 +152,11 @@
             }
             list cost-characteristic {
                 key 'cost-name';
-                config false;
                 uses tapi-topology:cost-characteristic;
                 description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
             }
             list latency-characteristic {
                 key 'traffic-property-name';
-                config false;
                 uses tapi-topology:latency-characteristic;
                 description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
             }
@@ -161,17 +164,15 @@
                 type leafref {
                     path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid';
                 }
-                config false;
                 description "none";
             }
             leaf-list diversity-exclusion {
                 type leafref {
                     path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid';
                 }
-                config false;
                 description "none";
             }
-            uses tapi-connectivity:route-compute-policy;
+            uses route-compute-policy;
             description "none";
         }
         grouping connectivity-service {
@@ -197,10 +198,10 @@
                 description "none";
             }
             uses tapi-common:service-spec;
-            uses tapi-connectivity:connectivity-constraint;
-            uses tapi-connectivity:topology-constraint;
+            uses connectivity-constraint;
+            uses topology-constraint;
             uses tapi-common:admin-state-pac;
-            uses tapi-connectivity:resilience-constraint;
+            uses resilience-constraint;
             description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
                 At the lowest level of recursion, a FC represents a cross-connection within an NE.";
         }
@@ -216,7 +217,7 @@
                 description "none";
             }
             container capacity {
-                uses tapi-common:capacity-pac;
+                uses tapi-common:capacity;
                 description "none";
             }
             leaf direction {
@@ -314,7 +315,7 @@
         grouping switch-control {
             leaf-list sub-switch-control {
                 type leafref {
-                    path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:local-id';
+                    path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:uuid';
                 }
                 description "none";
             }
@@ -323,8 +324,8 @@
                 uses switch;
                 description "none";
             }
-            uses tapi-common:local-class;
-            uses tapi-connectivity:resilience-constraint;
+            uses tapi-common:resource-spec;
+            uses resilience-constraint;
             description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
         }
         grouping resilience-constraint {
diff --git a/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang b/models/tapi/src/main/yang/tapi-eth@2018-02-16.yang
similarity index 94%
rename from models/tapi/src/main/yang/tapi-eth@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-eth@2018-02-16.yang
index d4509e1..db1e70e 100644
--- a/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-eth@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-eth {
-    namespace "urn:onf:params:xml:ns:yang:tapi-eth";
+    namespace "urn:onf:otcc:yang:tapi-eth";
     prefix tapi-eth;
     import tapi-common {
         prefix tapi-common;
@@ -10,16 +10,24 @@
     import tapi-connectivity {
         prefix tapi-connectivity;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI ETH Model definitions.
+        Source: TapiEth.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
         uses eth-node-edge-point-spec;
@@ -143,13 +151,25 @@
                 description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.
                     range of type : true, false";
             }
-            uses tapi-eth:traffic-shaping-pac;
-            uses tapi-eth:traffic-conditioning-pac;
+            container traffic-shaping {
+                uses traffic-shaping-pac;
+                description "none";
+            }
+            container traffic-conditioning {
+                uses traffic-conditioning-pac;
+                description "none";
+            }
             description "none";
         }
         grouping eth-connection-end-point-spec {
-            uses tapi-eth:eth-termination-pac;
-            uses tapi-eth:eth-ctp-pac;
+            container eth-term {
+                uses eth-termination-pac;
+                description "none";
+            }
+            container eth-ctp {
+                uses eth-ctp-pac;
+                description "none";
+            }
             description "none";
         }
         grouping eth-termination-pac {
@@ -220,7 +240,7 @@
             description "none";
         }
         grouping traffic-conditioning-pac {
-            list prio-config-list-1 {
+            list prio-config-list {
                 config false;
                 uses priority-configuration;
                 description "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";
@@ -237,7 +257,7 @@
                     - Coupling flag (CF): 0 or 1
                     - Color mode (CM): color-blind and color-aware.";
             }
-            leaf codirectional-1 {
+            leaf codirectional {
                 type boolean;
                 config false;
                 description "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.";
@@ -272,7 +292,10 @@
                 Basic attribute: codirectional, prioConfigList, queueConfigList, schedConfig";
         }
         grouping eth-node-edge-point-spec {
-            uses tapi-eth:ety-termination-pac;
+            container ety-term {
+                uses ety-termination-pac;
+                description "none";
+            }
             description "none";
         }
 
diff --git a/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang b/models/tapi/src/main/yang/tapi-notification@2018-02-16.yang
similarity index 87%
rename from models/tapi/src/main/yang/tapi-notification@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-notification@2018-02-16.yang
index 2b4e526..ac259b7 100644
--- a/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-notification@2018-02-16.yang
@@ -1,19 +1,27 @@
 module tapi-notification {
-    namespace "urn:onf:params:xml:ns:yang:tapi-notification";
+    namespace "urn:onf:otcc:yang:tapi-notification";
     prefix tapi-notification;
     import tapi-common {
         prefix tapi-common;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Notification Model definitions.
+        Source: TapiNotification.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses notification-context;
@@ -298,6 +306,36 @@
                 enum CONNECTION_END_POINT {
                     description "none";
                 }
+                enum MAINTENANCE_ENTITY_GROUP {
+                    description "none";
+                }
+                enum MAINTENANCE_ENTITY {
+                    description "none";
+                }
+                enum MEG_END_POINT {
+                    description "none";
+                }
+                enum MEG_INTERMEDIATE_POINT {
+                    description "none";
+                }
+                enum SWITCH_CONTROL {
+                    description "none";
+                }
+                enum SWITCH {
+                    description "none";
+                }
+                enum ROUTE {
+                    description "none";
+                }
+                enum NODE_RULE_GROUP {
+                    description "none";
+                }
+                enum INTER_RULE_GROUP {
+                    description "none";
+                }
+                enum RULE {
+                    description "none";
+                }
             }
             description "The list of TAPI Global Object Class types on which Notifications can be raised.";
         }
diff --git a/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang b/models/tapi/src/main/yang/tapi-oam@2018-02-16.yang
similarity index 87%
rename from models/tapi/src/main/yang/tapi-oam@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-oam@2018-02-16.yang
index 506eec9..f620571 100644
--- a/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-oam@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-oam {
-    namespace "urn:onf:params:xml:ns:yang:tapi-oam";
+    namespace "urn:onf:otcc:yang:tapi-oam";
     prefix tapi-oam;
     import tapi-common {
         prefix tapi-common;
@@ -10,16 +10,24 @@
     import tapi-topology {
         prefix tapi-topology;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI OAM Model definitions.
+        Source: TapiOam.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses oam-context;
diff --git a/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang b/models/tapi/src/main/yang/tapi-odu@2018-02-16.yang
similarity index 88%
rename from models/tapi/src/main/yang/tapi-odu@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-odu@2018-02-16.yang
index 00a5bc9..9e2dd32 100644
--- a/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-odu@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-odu {
-    namespace "urn:onf:params:xml:ns:yang:tapi-odu";
+    namespace "urn:onf:otcc:yang:tapi-odu";
     prefix tapi-odu;
     import tapi-common {
         prefix tapi-common;
@@ -13,16 +13,24 @@
     import tapi-oam {
         prefix tapi-oam;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Odu Model definitions.
+        Source: TapiOdu.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
         uses odu-node-edge-point-spec;
@@ -75,10 +83,25 @@
                 It is present only if the CEP contains a TTP";
         }
         grouping odu-connection-end-point-spec {
-            uses tapi-odu:odu-common-pac;
-            uses tapi-odu:odu-termination-and-client-adaptation-pac;
-            uses tapi-odu:odu-ctp-pac;
-            uses tapi-odu:odu-protection-pac;
+            container odu-common {
+                uses odu-common-pac;
+                description "none";
+            }
+            container odu-term-and-adapter {
+                config false;
+                uses odu-termination-and-client-adaptation-pac;
+                description "none";
+            }
+            container odu-ctp {
+                config false;
+                uses odu-ctp-pac;
+                description "none";
+            }
+            container odu-protection {
+                config false;
+                uses odu-protection-pac;
+                description "none";
+            }
             description "none";
         }
         grouping odu-pool-pac {
@@ -99,7 +122,11 @@
             description "none";
         }
         grouping odu-node-edge-point-spec {
-            uses tapi-odu:odu-pool-pac;
+            container odu-pool {
+                config false;
+                uses odu-pool-pac;
+                description "none";
+            }
             description "none";
         }
         grouping odu-ctp-pac {
@@ -123,7 +150,7 @@
                     In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016.
                     ";
             }
-            leaf accepted-m-si {
+            leaf accepted-msi {
                 type string;
                 config false;
                 description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU1 or ODU2 CTP Sink at the client layer of the ODU3P/ODU12 adaptation function or represents a lower order ODUj CTP Sink at the client layer of the ODUP/ODUj-21 adaptation function. This attribute is a 1-byte field that represents the accepted multiplex structure of the adaptation function. ";
@@ -132,11 +159,28 @@
                 It is present only if the CEP contains a CTP";
         }
         grouping odu-mep-spec {
-            uses tapi-odu:odu-mep-pac;
-            uses tapi-odu:odu-ncm-pac;
-            uses tapi-odu:odu-tcm-mep-pac;
-            uses tapi-odu:odu-defect-pac;
-            uses tapi-odu:odu-pm-pac;
+            container odu-mep {
+                uses odu-mep-pac;
+                description "none";
+            }
+            container odu-ncm {
+                config false;
+                uses odu-ncm-pac;
+                description "none";
+            }
+            container odu-tcm {
+                config false;
+                uses odu-tcm-mep-pac;
+                description "none";
+            }
+            container odu-defect {
+                uses odu-defect-pac;
+                description "none";
+            }
+            container odu-pm {
+                uses odu-pm-pac;
+                description "none";
+            }
             description "none";
         }
         grouping odu-protection-pac {
@@ -195,11 +239,29 @@
             description "none";
         }
         grouping odu-mip-spec {
-            uses tapi-odu:odu-mip-pac;
-            uses tapi-odu:odu-ncm-pac;
-            uses tapi-odu:odu-tcm-mip-pac;
-            uses tapi-odu:odu-pm-pac;
-            uses tapi-odu:odu-defect-pac;
+            container odu-mip {
+                config false;
+                uses odu-mip-pac;
+                description "none";
+            }
+            container odu-ncm {
+                config false;
+                uses odu-ncm-pac;
+                description "none";
+            }
+            container odu-tcm {
+                config false;
+                uses odu-tcm-mip-pac;
+                description "none";
+            }
+            container odu-pm {
+                uses odu-pm-pac;
+                description "none";
+            }
+            container odu-defect {
+                uses odu-defect-pac;
+                description "none";
+            }
             description "none";
         }
         grouping odu-mip-pac {
@@ -342,9 +404,6 @@
             }
             description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";
         }
-        feature odu {
-            description "none";
-        }
 
     /***********************
     * package type-definitions
diff --git a/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang b/models/tapi/src/main/yang/tapi-otsi@2018-02-16.yang
similarity index 85%
rename from models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-otsi@2018-02-16.yang
index 861daff..e8cc6ae 100644
--- a/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-otsi@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-otsi {
-    namespace "urn:onf:params:xml:ns:yang:tapi-otsi";
+    namespace "urn:onf:otcc:yang:tapi-otsi";
     prefix tapi-otsi;
     import tapi-common {
         prefix tapi-common;
@@ -10,16 +10,24 @@
     import tapi-topology {
         prefix tapi-topology;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI OTSi Model definitions.
+        Source: TapiOtsi.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
         uses otsi-connection-end-point-spec;
@@ -32,13 +40,25 @@
     /***********************
     * package object-classes
     **********************/ 
-        grouping otsi-a-client-adaptation-pac {
+        grouping otsi-client-adaptation-pac {
             description "none";
         }
         grouping otsi-connection-end-point-spec {
-            uses tapi-otsi:otsi-a-client-adaptation-pac;
-            uses tapi-otsi:otsi-termination-pac;
-            uses tapi-otsi:otsi-g-ctp-pac;
+            container otsi-adapter {
+                config false;
+                uses otsi-client-adaptation-pac;
+                description "none";
+            }
+            container otsi-termination {
+                config false;
+                uses otsi-termination-pac;
+                description "none";
+            }
+            container otsi-ctp {
+                config false;
+                uses otsi-ctp-pac;
+                description "none";
+            }
             description "none";
         }
         grouping otsi-termination-pac {
@@ -71,7 +91,7 @@
             }
             description "none";
         }
-        grouping otsi-a-pool-pac {
+        grouping otsi-pool-pac {
             list available-frequency-slot {
                 config false;
                 uses frequency-slot;
@@ -85,7 +105,11 @@
             description "none";
         }
         grouping otsi-node-edge-point-spec {
-            uses tapi-otsi:otsi-a-pool-pac;
+            container otsi-pool {
+                config false;
+                uses otsi-pool-pac;
+                description "none";
+            }
             description "none";
         }
         grouping otsi-routing-spec {
@@ -95,7 +119,7 @@
             }
             description "none";
         }
-        grouping otsi-g-ctp-pac {
+        grouping otsi-ctp-pac {
             list selected-frequency-slot {
                 config false;
                 uses frequency-slot;
@@ -103,9 +127,6 @@
             }
             description "none";
         }
-        feature otsia {
-            description "none";
-        }
 
     /***********************
     * package type-definitions
diff --git a/models/tapi/src/main/yang/tapi-path-computation@2017-05-31.yang b/models/tapi/src/main/yang/tapi-path-computation@2018-02-16.yang
similarity index 88%
rename from models/tapi/src/main/yang/tapi-path-computation@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-path-computation@2018-02-16.yang
index cf62669..9db5ab3 100644
--- a/models/tapi/src/main/yang/tapi-path-computation@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-path-computation@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-path-computation {
-    namespace "urn:onf:params:xml:ns:yang:tapi-path-computation";
+    namespace "urn:onf:otcc:yang:tapi-path-computation";
     prefix tapi-path-computation;
     import tapi-topology {
         prefix tapi-topology;
@@ -7,16 +7,24 @@
     import tapi-common {
         prefix tapi-common;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Path Computation Model definitions.
+        Source: TapiPathComputation.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses path-computation-context;
diff --git a/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang b/models/tapi/src/main/yang/tapi-topology@2018-02-16.yang
similarity index 93%
rename from models/tapi/src/main/yang/tapi-topology@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-topology@2018-02-16.yang
index 5134883..e6928de 100644
--- a/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-topology@2018-02-16.yang
@@ -1,19 +1,27 @@
 module tapi-topology {
-    namespace "urn:onf:params:xml:ns:yang:tapi-topology";
+    namespace "urn:onf:otcc:yang:tapi-topology";
     prefix tapi-topology;
     import tapi-common {
         prefix tapi-common;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Topology Model definitions.
+        Source: TapiTopology.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses topology-context;
@@ -51,12 +59,12 @@
             uses tapi-common:resource-spec;
             uses tapi-common:admin-state-pac;
             uses tapi-common:capacity-pac;
-            uses tapi-topology:transfer-cost-pac;
-            uses tapi-topology:transfer-integrity-pac;
-            uses tapi-topology:transfer-timing-pac;
-            uses tapi-topology:risk-parameter-pac;
-            uses tapi-topology:validation-pac;
-            uses tapi-topology:layer-protocol-transition-pac;
+            uses transfer-cost-pac;
+            uses transfer-integrity-pac;
+            uses transfer-timing-pac;
+            uses risk-parameter-pac;
+            uses validation-pac;
+            uses layer-protocol-transition-pac;
             description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";
         }
         grouping node {
@@ -94,9 +102,9 @@
             uses tapi-common:resource-spec;
             uses tapi-common:admin-state-pac;
             uses tapi-common:capacity-pac;
-            uses tapi-topology:transfer-cost-pac;
-            uses tapi-topology:transfer-integrity-pac;
-            uses tapi-topology:transfer-timing-pac;
+            uses transfer-cost-pac;
+            uses transfer-integrity-pac;
+            uses transfer-timing-pac;
             description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. 
                 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
         }
@@ -152,6 +160,7 @@
                 type leafref {
                     path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
                 }
+                config false;
                 description "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental";
             }
             leaf link-port-direction {
@@ -167,6 +176,7 @@
             uses tapi-common:resource-spec;
             uses tapi-common:admin-state-pac;
             uses tapi-common:termination-pac;
+            uses tapi-common:capacity-pac;
             description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. 
                 The structure of LTP supports all transport protocols including circuit and packet forms.";
         }
@@ -304,9 +314,9 @@
             }
             uses tapi-common:resource-spec;
             uses tapi-common:capacity-pac;
-            uses tapi-topology:transfer-cost-pac;
-            uses tapi-topology:transfer-timing-pac;
-            uses tapi-topology:risk-parameter-pac;
+            uses transfer-cost-pac;
+            uses transfer-timing-pac;
+            uses risk-parameter-pac;
             description "none";
         }
         grouping node-rule-group {
@@ -336,9 +346,9 @@
             }
             uses tapi-common:resource-spec;
             uses tapi-common:capacity-pac;
-            uses tapi-topology:transfer-cost-pac;
-            uses tapi-topology:transfer-timing-pac;
-            uses tapi-topology:risk-parameter-pac;
+            uses transfer-cost-pac;
+            uses transfer-timing-pac;
+            uses risk-parameter-pac;
             description "none";
         }
         grouping rule {
diff --git a/models/tapi/src/main/yang/tapi-virtual-network@2017-05-31.yang b/models/tapi/src/main/yang/tapi-virtual-network@2018-02-16.yang
similarity index 86%
rename from models/tapi/src/main/yang/tapi-virtual-network@2017-05-31.yang
rename to models/tapi/src/main/yang/tapi-virtual-network@2018-02-16.yang
index 087ff01..0965cc5 100644
--- a/models/tapi/src/main/yang/tapi-virtual-network@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-virtual-network@2018-02-16.yang
@@ -1,5 +1,5 @@
 module tapi-virtual-network {
-    namespace "urn:onf:params:xml:ns:yang:tapi-virtual-network";
+    namespace "urn:onf:otcc:yang:tapi-virtual-network";
     prefix tapi-virtual-network;
     import tapi-topology {
         prefix tapi-topology;
@@ -7,16 +7,24 @@
     import tapi-common {
         prefix tapi-common;
     }
-    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
-    contact "
-        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
-        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
-        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
-        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
-    description "none";
-    revision 2017-05-31 {
-        description "TAPI SDK 2.0-alpha";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    organization "ONF OTCC (Open Transport Configuration & Control) Project";
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
+                <mailto:karthik.sethuraman@necam.com>";
+    description "
+        This module contains TAPI Virtual Network Model definitions.
+        Source: TapiVirtualNetwork.uml
+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+        License: This module is distributed under the Apache License 2.0";
+    revision 2018-02-16 {
+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
         uses virtual-network-context;
