Added private default constructors for serialization.
diff --git a/core/api/src/main/java/org/onlab/onos/net/AbstractElement.java b/core/api/src/main/java/org/onlab/onos/net/AbstractElement.java
index 01341a5..e810930 100644
--- a/core/api/src/main/java/org/onlab/onos/net/AbstractElement.java
+++ b/core/api/src/main/java/org/onlab/onos/net/AbstractElement.java
@@ -9,6 +9,11 @@
 
     protected final ElementId id;
 
+    // For serialization
+    public AbstractElement() {
+        id = null;
+    }
+
     /**
      * Creates a network element attributed to the specified provider.
      *
diff --git a/core/api/src/main/java/org/onlab/onos/net/AbstractModel.java b/core/api/src/main/java/org/onlab/onos/net/AbstractModel.java
index e195fde..8c25cda 100644
--- a/core/api/src/main/java/org/onlab/onos/net/AbstractModel.java
+++ b/core/api/src/main/java/org/onlab/onos/net/AbstractModel.java
@@ -9,6 +9,11 @@
 
     private final ProviderId providerId;
 
+    // For serialization
+    public AbstractModel() {
+        providerId = null;
+    }
+
     /**
      * Creates a model entity attributed to the specified provider.
      *
diff --git a/core/api/src/main/java/org/onlab/onos/net/DefaultDevice.java b/core/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
index 69c10b7..c6e65f5 100644
--- a/core/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
+++ b/core/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
@@ -17,6 +17,15 @@
     private final String hwVersion;
     private final String swVersion;
 
+    // For serialization
+    private DefaultDevice() {
+        this.type = null;
+        this.manufacturer = null;
+        this.hwVersion = null;
+        this.swVersion = null;
+        this.serialNumber = null;
+    }
+
     /**
      * Creates a network element attributed to the specified provider.
      *