diff --git a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
index e306954..4949bc4 100644
--- a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
+++ b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
@@ -115,6 +115,16 @@
     public static final String STATIC_PORT = "staticPort";
 
     /**
+     * Annotation key for device location.
+     */
+    public static final String RACK_ADDRESS = "rackAddress";
+
+    /**
+     * Annotation key for device owner.
+     */
+    public static final String OWNER = "owner";
+
+    /**
      * Returns the value annotated object for the specified annotation key.
      * The annotated value is expected to be String that can be parsed as double.
      * If parsing fails, the returned value will be 1.0.
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
index 6c7a065..4af8000 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
@@ -30,8 +30,9 @@
  * Implementations of merge policies for various sources of device configuration
  * information. This includes applications, provides, and network configurations.
  */
-public final class BasicDeviceOperator extends BasicDeviceConfig {
+public final class BasicDeviceOperator {
 
+    protected static final double DEFAULT_COORD = -1.0;
     private static final Logger log = getLogger(BasicDeviceOperator.class);
 
     private BasicDeviceOperator() {
@@ -70,7 +71,7 @@
      */
     public static SparseAnnotations combine(BasicDeviceConfig bdc, SparseAnnotations an) {
         DefaultAnnotations.Builder newBuilder = DefaultAnnotations.builder();
-        if (bdc.driver() != an.value(DRIVER)) {
+        if (bdc.driver() != an.value(AnnotationKeys.DRIVER)) {
             newBuilder.set(AnnotationKeys.DRIVER, bdc.driver());
         }
         if (bdc.name() != null) {
@@ -83,10 +84,10 @@
             newBuilder.set(AnnotationKeys.LONGITUDE, Double.toString(bdc.longitude()));
         }
         if (bdc.rackAddress() != null) {
-            newBuilder.set(RACK_ADDRESS, bdc.rackAddress());
+            newBuilder.set(AnnotationKeys.RACK_ADDRESS, bdc.rackAddress());
         }
         if (bdc.owner() != null) {
-            newBuilder.set(OWNER, bdc.owner());
+            newBuilder.set(AnnotationKeys.OWNER, bdc.owner());
         }
         DefaultAnnotations newAnnotations = newBuilder.build();
         return DefaultAnnotations.union(an, newAnnotations);
