Introduce Pi Register model to PI Framework

Change-Id: I7fae87d5b5ed5fff34b3addfc148cee6fc98137c
diff --git a/core/api/src/main/java/org/onosproject/net/pi/model/PiPipelineModel.java b/core/api/src/main/java/org/onosproject/net/pi/model/PiPipelineModel.java
index c1840d9..bddbae8 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/model/PiPipelineModel.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/model/PiPipelineModel.java
@@ -43,7 +43,7 @@
     Collection<PiTableModel> tables();
 
     /**
-     * Returns the counter model associated with the given ID, id present.
+     * Returns the counter model associated with the given ID, if present.
      *
      * @param counterId counter ID
      * @return optional counter model
@@ -58,7 +58,7 @@
     Collection<PiCounterModel> counters();
 
     /**
-     * Returns the meter model associated with the given ID, id present.
+     * Returns the meter model associated with the given ID, if present.
      *
      * @param meterId meter ID
      * @return optional meter model
@@ -73,7 +73,22 @@
     Collection<PiMeterModel> meters();
 
     /**
-     * Returns the action profile model associated with the given ID, id present.
+     * Returns the register model associated with the given ID, if present.
+     *
+     * @param registerId register ID
+     * @return optional register model
+     */
+    Optional<PiRegisterModel> register(PiRegisterId registerId);
+
+    /**
+     * Returns all register models defined by this pipeline model.
+     *
+     * @return collection of register models
+     */
+    Collection<PiRegisterModel> registers();
+
+    /**
+     * Returns the action profile model associated with the given ID, if present.
      *
      * @param actionProfileId action profile ID
      * @return optional action profile model