Adding model abstractions to help flesh-out the concepts.
diff --git a/net/api/src/main/java/org/onlab/onos/net/HostLinks.java b/net/api/src/main/java/org/onlab/onos/net/HostLinks.java
new file mode 100644
index 0000000..eabbeb1
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/HostLinks.java
@@ -0,0 +1,24 @@
+package org.onlab.onos.net;
+
+/**
+ * Abstraction of a link between an end-station host and the network
+ * infrastructure.
+ */
+public interface HostLinks extends Link {
+
+    /**
+     * Returns the host identification.
+     *
+     * @return host identifier
+     */
+    ElementId hostId();
+
+    /**
+     * Returns the connection point where the host attaches to the
+     * network infrastructure.
+     *
+     * @return host connection point
+     */
+    ConnectPoint connectPoint();
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/HostLocation.java b/net/api/src/main/java/org/onlab/onos/net/HostLocation.java
index 5c124db..022a6f9 100644
--- a/net/api/src/main/java/org/onlab/onos/net/HostLocation.java
+++ b/net/api/src/main/java/org/onlab/onos/net/HostLocation.java
@@ -12,6 +12,6 @@
      *
      * @return timestamp in milliseconds since start of epoch
      */
-    long timestamp();
+    long time();
 
 }
diff --git a/net/api/src/main/java/org/onlab/onos/net/Link.java b/net/api/src/main/java/org/onlab/onos/net/Link.java
index 200f682..75e026d 100644
--- a/net/api/src/main/java/org/onlab/onos/net/Link.java
+++ b/net/api/src/main/java/org/onlab/onos/net/Link.java
@@ -5,7 +5,8 @@
 /**
  * Abstraction of a network infrastructure link.
  */
-public interface Link extends Provided { // TODO: Also should extend graph Edge once the graph module is checked in
+public interface Link extends Provided {
+// TODO: Consider extending graph Edge<Element> once the graph module is available
 
     /**
      * Coarse representation of the link type.
diff --git a/net/api/src/main/java/org/onlab/onos/net/Path.java b/net/api/src/main/java/org/onlab/onos/net/Path.java
new file mode 100644
index 0000000..22a363a
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/Path.java
@@ -0,0 +1,20 @@
+package org.onlab.onos.net;
+
+import java.util.List;
+
+/**
+ * Representation of a contiguous directed path in a network. Path comprises
+ * of a sequence of links, where adjacent links must share the same device,
+ * meaning that destination of the source of one link must coincide with the
+ * destination of the previous link.
+ */
+public interface Path extends Link {
+
+    /**
+     * Returns sequence of links comprising the path.
+     *
+     * @return list of links
+     */
+    List<Link> links();
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/Topology.java b/net/api/src/main/java/org/onlab/onos/net/Topology.java
new file mode 100644
index 0000000..c8a01e9
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/Topology.java
@@ -0,0 +1,48 @@
+package org.onlab.onos.net;
+
+/**
+ * Represents a network topology computation snapshot.
+ */
+public interface Topology {
+
+    /**
+     * Returns the time, specified in milliseconds since start of epoch,
+     * when the topology became active and made available.
+     *
+     * @return time in milliseconds since start of epoch
+     */
+    long time();
+
+    /**
+     * Returns the number of SCCs (strongly connected components) in the
+     * topology.
+     *
+     * @return number of clusters
+     */
+    int clusterCount();
+
+    /**
+     * Returns the number of infrastructure devices in the topology.
+     *
+     * @return number of devices
+     */
+    int deviceCount();
+
+
+    /**
+     * Returns the number of infrastructure links in the topology.
+     *
+     * @return number of links
+     */
+    int linkCount();
+
+    /**
+     * Returns the number of infrastructure paths computed between devices
+     * in the topology. This means the number of all the shortest paths
+     * (hop-count) between all device pairs.
+     *
+     * @return number of paths
+     */
+    int pathCount();
+
+}