diff --git a/models/augments/common-augments.yang b/models/augments/common-augments.yang
index 912199c..c365424 100644
--- a/models/augments/common-augments.yang
+++ b/models/augments/common-augments.yang
@@ -20,6 +20,13 @@
     namespace "urn:etsi:osm:yang:augments";
     prefix "common";
 
+    import etsi-nfv-vnfd {
+        prefix vnfd;
+    }
+    import etsi-nfv-nsd {
+        prefix nsd;
+    }
+
     typedef parameter-data-type {
         type enumeration {
             enum STRING;
@@ -102,10 +109,79 @@
         }
     }
 
-    grouping vnfc-relations {
+    grouping relations-ee {
+        description
+          "Information about the execution environment and endpoint for a relation.
+           The execution environment can be associated to different objects: kdu, vdu, vnf, or ns.
+           To select the object, the profile-id of the object might be needed:
+            Reference to a kdu-level execution enviroment:
+                in the VNFd: the kdu-resource-profile-id is needed.
+                in the NSd: the kdu-resource-profile-id and vnf-profile-id are needed.
+            Reference to a vdu-level execution enviroment:
+                in the VNFd: the vdu-profile-id is needed.
+                in the NSd: the vdu-profile-id and vnf-profile-id are needed.
+            Reference to a vnf-level execution enviroment:
+                in the VNFd: nothing is needed, implicit.
+                in the NSd: the vnf-profile-id is needed.
+            Reference to an ns-level execution enviroment:
+                in the VNFd: cannot be done.
+                in the NSd: nothing is needed, implicit.
+           The reference to the execution environment is only mandatory if there is more than one execution environment
+           in the execution-environment-list of an object.
+           The endpoint is always needed";
+
+        leaf vdu-profile-id {
+            description
+              "If the execution environment is associated to a vdu object,
+              this parameter is the reference to the vdu-profile id.";
+            type leafref {
+                path "/vnfd:vnfd/vnfd:df/vnfd:vdu-profile/vnfd:id";
+            }
+        }
+
+        leaf kdu-resource-profile-id {
+            description
+              "If the execution environment is associated to a kdu resource object,
+              this parameter is the reference to the kdu-resource-profile id.";
+            type string;
+        }
+
+        leaf vnf-profile-id {
+            description
+              "If the execution environment is associated to a vnf object,
+              this parameter is the reference to the vnf-profile id.
+              Only valid in the NSd. The value is implicit in a VNFd.
+              To reference an execution environment associated to a vnf object
+              from the VNFd, none of the profile ids need to be specified.";
+            type leafref {
+                path "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:id";
+            }
+        }
+        leaf execution-environment-ref {
+            description
+              "Optional reference to the execution environment id.
+              Only needed if there is more than one execution environment
+              in the execution-environment-list of an object.";
+            type string;
+            default "";
+        }
+        leaf endpoint {
+            description
+              "Endpoint name of the execution environment.";
+            type string;
+        }
+    }
+
+    grouping relations {
         list relation {
             description
-              "List of relations between elements in this descriptor.";
+              "List of relations between elements in this descriptor.
+               The relations are used to integrate pairs of execution environments,
+               that are in charge of the configuration and lifecycle management
+               of VDUs, VNFs, KDUs, or NSs.
+               Each relation is formed by a provider and a requirer.
+                  The provider is the execution environment that provides a particular service.
+                  The requirer is the execution environment that requires the service provided by the provider";
             key "name";
 
             leaf name {
@@ -114,27 +190,15 @@
 
                 type string;
             }
-
-            list entities {
+            container provider {
                 description
-                  "List of two elements to be related.
-                   Elements to be related are identified by a pair (id, endpoint).
-                   The relation will relate (id1, endpoint1) to (id2, endpoint2).";
-                key "id";
-
-                leaf id {
-                    description
-                      "A string, reference to the element id in the descriptor.
-                       It could be a vnfd-id or a vdu-id in a VNFD,
-                       or a nsd-id or member-vnf-index in a NSD.";
-                    type string;
-                }
-
-                leaf endpoint {
-                    description
-                      "Endpoint name defining the relation.";
-                    type string;
-                }
+                  "Execution environment that offers an endpoint for a particular service";
+                uses relations-ee;
+            }
+            container requirer {
+                description
+                  "Execution environment that uses the service provided by the provider";
+                uses relations-ee;
             }
         }
     }
diff --git a/models/augments/day1-2.yang b/models/augments/day1-2.yang
index cf3b841..a29a3bc 100644
--- a/models/augments/day1-2.yang
+++ b/models/augments/day1-2.yang
@@ -37,7 +37,7 @@
                 type string;
             }
             uses common:vnfc-configuration;
-            uses common:vnfc-relations;
+            uses common:relations;
             uses common:vdu-config-access;
 
             leaf-list blacklist-config-primitive {
diff --git a/models/augments/ns-configuration.yang b/models/augments/ns-configuration.yang
index a4effd2..89df261 100644
--- a/models/augments/ns-configuration.yang
+++ b/models/augments/ns-configuration.yang
@@ -34,7 +34,7 @@
               "Information about NS configuration.";
 
             uses common:vnfc-configuration;
-            uses common:vnfc-relations;
+            uses common:relations;
         }
     }
 
