diff --git a/docs/sections/components/component-specification/cdap-specification.rst b/docs/sections/components/component-specification/cdap-specification.rst
index 022b46d..2b26442 100755
--- a/docs/sections/components/component-specification/cdap-specification.rst
+++ b/docs/sections/components/component-specification/cdap-specification.rst
@@ -23,8 +23,7 @@
 -----------------------------
 
 -  The integration of DMD is likely to significantly change the
-   :any:`Interfaces <interfaces>` section in this specification, see
-   :any:`DMaaP abstraction <dmaap-abstraction>`.
+   :any:`Interfaces <interfaces>` section in this specification.
 
 .. _parameters:
 
@@ -34,7 +33,7 @@
 There is a ``parameters`` section in your component specification. This
 section contains three optional keys: `app_config <#appconfig>`__,
 `app_preferences <#apppreferences>`__, and
-`propram_preferences <#programpreferences>`__:
+`program_preferences <#programpreferences>`__:
 
 ::
 
@@ -146,7 +145,7 @@
 for ``program_id``.
 
 NOTE: for CDAP, this section is very likely to change when DMD is
-available. The *future* vision, as per :any:`DMaaP intentionally abstracted <dmaap-abstraction>` is
+available. The *future* vision is
 that you would publish your data as a series of files on HDFS, and DMD
 will pick them up and send them to the appropriate DMaaP feeds or
 directly when needed.
diff --git a/docs/sections/components/component-specification/common-specification.rst b/docs/sections/components/component-specification/common-specification.rst
index a29610f..ae846bd 100755
--- a/docs/sections/components/component-specification/common-specification.rst
+++ b/docs/sections/components/component-specification/common-specification.rst
@@ -11,6 +11,32 @@
 pointed out below. Elements that are very different, and described in
 the CDAP or Docker specific pages.
 
+.. _metaschema: 
+
+Meta Schema Definition
+----------------------
+
+The component specification is represented (and validated) against this
+`Component Spec json
+schema <https://gerrit.onap.org/r/gitweb?p=dcaegen2/platform/cli.git;a=blob;f=component-json-schemas/component-specification/dcae-cli-v1/component-spec-schema.json;h=27d0403af67eac00e03ab89437d5f07aa06fbee3;hb=HEAD>`__
+and described below:
+
+The “Meta Schema” implementation defines how component specification
+JSON schemas can be written to define user input. It is itself a JSON
+schema (thus it is a “meta schema”). It requires the name of the
+component entry, component type (either ‘cdap’ or ‘docker’) and a
+description under “self” object. The meta schema version must be
+specified as the value of the “version” key. Then the input schema
+itself is described.
+
+There are four types of schema descriptions objects - jsonschema for
+inline standard JSON Schema definitions of JSON inputs, delimitedschema
+for delimited data input using a JSON description defined by AT&T,
+unstructured for unstructured text, and reference that allows a pointer
+to another artifact for a schema. The reference allows for XML and Protocol Buffer schema,
+but can be used as a pointer to JSON, Delimited Format, and Unstructured
+schemas as well.
+
 .. _metadata:
 
 Component Metadata
@@ -27,7 +53,7 @@
 
     "self": {
         "version": "1.0.0",
-        "name": "asimov.component.kpi_anomaly",
+        "name": "yourapp.component.kpi_anomaly",
         "description": "Classifies VNF KPI data as anomalous",
         "component_type": "docker"
     },
@@ -109,7 +135,9 @@
    feed, it could be a direct stream of data being routed via HTTP too.
    It abstractly refers to a sequence of data leaving a publisher.
 -  Streams have anonymous publish/subscribe semantics, which decouples
-   the production of information from its consumption.
+   the production of information from its consumption.  Like the component 
+   specification, the data format specification is represented/validated against this
+   `Data Format json schema <https://gerrit.onap.org/r/gitweb?p=dcaegen2/platform/cli.git;a=blob;f=component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json;h=be1568291300305c7adb9a8d244d39f9e6ddadbd;hb=HEAD>`__
 -  In general, components are not aware of who they are communicating
    with.
 -  Instead, components that are interested in data, subscribe to the
@@ -178,7 +206,7 @@
     ...
     }
 
-This describes that ``asimov.component.kpi_anomaly`` exposes an HTTP
+This describes that ``yourapp.component.kpi_anomaly`` exposes an HTTP
 endpoint called ``/data`` which accepts requests that have the data
 format of ``dcae.vnf.kpi`` version ``1.0.0``.
 
@@ -290,7 +318,7 @@
 to the provisioned feed. Developers must also provide a ``config_key``
 because there is dynamic configuration information associated with the
 feed that the application will need e.g. username and password. See the
-page on :doc:`DMaaP connection objects <../dcae-cli/dmaap-connection-objects>` for more details on
+page on :any:`DMaaP connection objects <dmaap-data-router>` for more details on
 the configuration information.
 
 Example (not tied to the larger example):
@@ -318,16 +346,16 @@
     "streams": {
     ...
         "publishes": [{
-            "format": "asimov.format.integerClassification",
+            "format": "yourapp.format.integerClassification",
             "version": "1.0.0",
             "config_key": "prediction",
             "type": "http"
         }]
     },
 
-This describes that ``asimov.component.kpi_anomaly`` publishes by making
+This describes that ``yourapp.component.kpi_anomaly`` publishes by making
 POST requests to streams that support the data format
-``asimov.format.integerClassification`` version ``1.0.0``.
+``yourapp.format.integerClassification`` version ``1.0.0``.
 
 ``publishes`` Schema:
 
@@ -408,8 +436,8 @@
 Message router publishers are http clients of DMaap message_router.
 Developers must provide a ``config_key`` because there is dynamic
 configuration information associated with the feed that the application
-will need to receive e.g. topic url, username, password. See the page on
-:doc:`DMaaP connection objects <../dcae-cli/dmaap-connection-objects>` for more details on
+needs to receive e.g. topic url, username, password. See the page on
+:any:`DMaaP connection objects <dmaap-message-router>` for more details on
 the configuration information.
 
 Example (not tied to the larger example):
@@ -435,7 +463,7 @@
 data router. Developers must also provide a ``config_key`` because there
 is dynamic configuration information associated with the feed that the
 application will need to receive e.g. publish url, username, password.
-See the page on :doc:`DMaaP connection objects <../dcae-cli/dmaap-connection-objects>` for more details on
+See the page on :any:`DMaaP connection objects <dmaap-data-router>` for more details on
 the configuration information.
 
 Example (not tied to the larger example):
@@ -537,7 +565,7 @@
     ...
     }
 
-This describes that ``asimov.component.kpi_anomaly`` will make HTTP
+This describes that ``yourapp.component.kpi_anomaly`` will make HTTP
 calls to a downstream component that accepts requests of data format
 ``dcae.vnf.meta`` version ``1.0.0`` and is expecting the response to be
 ``dcae.vnf.kpi`` version ``1.0.0``.
@@ -649,17 +677,17 @@
                 "version": "1.0.0"
                 },
             "response": {
-                "format": "asimov.format.integerClassification",
+                "format": "yourapp.format.integerClassification",
                 "version": "1.0.0"
                 }
         }]
     },
 
-This describes that ``asimov.component.kpi_anomaly`` provides a service
+This describes that ``yourapp.component.kpi_anomaly`` provides a service
 interface and it is exposed on the ``/score-vnf`` HTTP endpoint. The
 endpoint accepts requests that have the data format ``dcae.vnf.meta``
 version ``1.0.0`` and gives back a response of
-``asimov.format.integerClassification`` version ``1.0.0``.
+``yourapp.format.integerClassification`` version ``1.0.0``.
 
 ``provides`` Schema for a Docker component:
 
@@ -807,6 +835,8 @@
 |             |    | ‘POST’    |
 +-------------+----+-----------+
 
+.. _common-specification-parameters:
+
 Parameters
 ----------
 
@@ -926,7 +956,7 @@
 |              |    | at this  |      |
 |              |    | time     |      |
 +--------------+----+----------+------+
-| designer_ed\ | bo\| An       | true |
+| designer_ed\ | bo\| An       |      |
 | itable       | ol\| optional |      |
 |              | ea\| key that |      |
 |              | n  | declares |      |
@@ -941,8 +971,8 @@
 |              |    | or not   |      |
 |              |    | (false)  |      |
 +--------------+----+----------+------+
-| sourced_at_d\| bo\| An       | fals\|
-| eployment    | ol\| optional | e    |
+| sourced_at_d\| bo\| An       |      |
+| eployment    | ol\| optional |      |
 |              | ea\| key that |      |
 |              | n  | declares |      |
 |              |    | a        |      |
@@ -957,7 +987,7 @@
 |              |    | time     |      |
 |              |    | (true)   |      |
 +--------------+----+----------+------+
-| policy_edit\ | bo\| An       | true |
+| policy_edit\ | bo\| An       |      |
 | able         | ol\| optional |      |
 |              | ea\| key that |      |
 |              | n  | declares |      |
@@ -1374,23 +1404,8 @@
 Generated Application Configuration
 -----------------------------------
 
-The above example for component ``asimov.component.kpi_anomaly`` will
-get transformed into the following application configuration JSON that
-is fully resolved and provided at runtime by calling the
-``config binding service``:
+The Platform generates configuration for the component (based on the component spec) at deployment time. The generated application configuration will be made up of the Parameters, Streams, and Services sections, after any provisioning for streams and services. The component developer can see what this configuration will look like by reviewing the :any:`component dev command <dcae-cli-run-the-dev-command>`.
 
-.. code:: json
-
-    {
-        "streams_publishes": {
-            "prediction": ["10.100.1.100:32567"]
-        },
-        "streams_subscribes": {},
-        "threshold": 0.75,
-        "services_calls": {
-            "vnf-db": ["10.100.1.101:32890"]
-        }
-    }
 
 .. _artifacts:
 
@@ -1416,3 +1431,12 @@
 +---------------+--------+--------------------------------------------+
 | type          | string | *Required*. ``docker image`` or ``jar``    |
 +---------------+--------+--------------------------------------------+
+
+.. _component_spec:
+
+Working with Component Specs
+============================
+ 
+Components can be added to the onboarding catalog (which first validates the component spec) by using the :doc:`dcae_cli Tool <../dcae-cli/quickstart/>` 
+Here you can also list the components, show the contents of a component, publish the component, validate the generated configuration for the component, deploy (run) and undeploy the component. For a list of these capabilities, see :any:`Component Commands <dcae_cli_component_commands>`
+
diff --git a/docs/sections/components/component-specification/component-specification.rst b/docs/sections/components/component-specification/component-specification.rst
index 759f3dc..56649d3 100644
--- a/docs/sections/components/component-specification/component-specification.rst
+++ b/docs/sections/components/component-specification/component-specification.rst
@@ -10,7 +10,7 @@
    ./common-specification.rst
    ./cdap-specification.rst
    ./docker-specification.rst
-   ./generated-configuration.rst
+   ./dmaap-connection-objects.rst
    ./streams-grid.rst
    ./configuration-grid.rst
 
diff --git a/docs/sections/components/component-specification/configuration-grid.rst b/docs/sections/components/component-specification/configuration-grid.rst
index 956e1ff..da9b4ab 100755
--- a/docs/sections/components/component-specification/configuration-grid.rst
+++ b/docs/sections/components/component-specification/configuration-grid.rst
@@ -4,312 +4,118 @@
 Configuration Quick Reference
 =============================
 
-The following types of configuration are supported by the DCAE Platform.
+Default Values
+^^^^^^^^^^^^^^
 
-+---------+---------+----------+---------+-----------+---+
-| Input   | Default | Designer | Clamp   | Policy    | R\|
-| Sources | Values  | Input    | Input   | Input     | u\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | m\|
-|         |         |          |         |           | e |
-|         |         |          |         |           | I\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | p\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | t |
-+=========+=========+==========+=========+===========+===+
-| Notes   |         | This     | This    |           |   |
-|         |         | applies  | applies |           |   |
-|         |         | only to  | only to |           |   |
-|         |         | componen\| compone\|           |   |
-|         |         | ts       | nts     |           |   |
-|         |         | that are | that    |           |   |
-|         |         | self-ser\| are     |           |   |
-|         |         | vice     | part of |           |   |
-|         |         | (support\| a       |           |   |
-|         |         | ed       | closed-\|           |   |
-|         |         | by SDC)  | loop    |           |   |
-|         |         |          | interfa\|           |   |
-|         |         |          | ce      |           |   |
-+---------+---------+----------+---------+-----------+---+
-| Who     | Compone\| Service  | CLAMP   | Operatio\ | R\|
-| provide\| nt      | Designer |         | ns        | u\|
-| s?      | Develop |          |         |           | n\|
-|         | er      |          |         |           | t\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | m\|
-|         |         |          |         |           | e |
-|         |         |          |         |           | P\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | f\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | m |
-+---------+---------+----------+---------+-----------+---+
-| When/Wh\| During  | At       | At      | Anytime   | W\|
-| ere     | onboard\| design   | install\| – in the  | h\|
-| it is   | ing     | time –   | ation   | POLICY    | e\|
-| provide | – in    | in the   | – in    | GUI       | n |
-| d       | the     | SDC UI   | the     |           | t\|
-|         | compone\|          | CLAMP   |           | h\|
-|         | nt      |          | UI      |           | e |
-|         | specifi\|          |         |           | c\|
-|         | cation  |          |         |           | o\|
-|         |         |          |         |           | m\|
-|         |         |          |         |           | p\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | i\|
-|         |         |          |         |           | s |
-|         |         |          |         |           | d\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | p\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | y\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | d |
-+---------+---------+----------+---------+-----------+---+
-| Compone\| For     | ‘designe\|         | ‘policy-\ | ‘\|
-| nt      | CDAP:   | r-editab\|         | editable\ | s\|
-| Specifi\| ‘value’ | le’      |         | ’         | o\|
-| cation  | Name    | must be  |         | must be   | u\|
-| Details | and KV  | set to   |         | set to    | r\|
-|         | pairs   | ‘true’   |         | ‘true’    | c\|
-|         | in      | for      |         | and       | e\|
-|         | AppConf\| variable |         | ‘policy_s\| d\|
-|         | ig      | in       |         | chema’    | _\|
-|         | or      | ‘paramet\|         | must be   | a\|
-|         | AppPref\| er’      |         | provided  | t\|
-|         | erences | section. |         | for       | _\|
-|         | For     |          |         | variable  | \ |
-|         | Docker: |          |         | in        | d\|
-|         | ‘value’ |          |         | ‘paramet\ | e\|
-|         | is      |          |         | er’       | p\|
-|         | provide |          |         | section   | l\|
-|         | d       |          |         |           | o\|
-|         | for     |          |         |           | y\|
-|         | variabl\|          |         |           | m\|
-|         | e       |          |         |           | e\|
-|         | in      |          |         |           | n\|
-|         | ‘parame\|          |         |           | t\|
-|         | ter’    |          |         |           | ’ |
-|         | section |          |         |           | m\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | s\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | b\|
-|         |         |          |         |           | e |
-|         |         |          |         |           | s\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | t\|
-|         |         |          |         |           | o |
-|         |         |          |         |           | ‘\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | e |
-|         |         |          |         |           | ’\|
-|         |         |          |         |           | f\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | r |
-|         |         |          |         |           | v\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | b\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | ‘ |
-|         |         |          |         |           | p\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | m\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | ’ |
-|         |         |          |         |           | s\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | c\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | n |
-+---------+---------+----------+---------+-----------+---+
+The component developer can provide default values for any ``parameter``
+in the component specification. These defaults will be passed to the
+component in its generated configuration.
 
-+---------+---------+----------+---------+-----------+---+
-| How it  | This is | This     | This    | This      | T\|
-| is used | passed  | override\| overrid\| override\ | h\|
-|         | to the  | s        | es      | s         | i\|
-|         | compone\| any      | any     | any       | s |
-|         | nt      | values   | values  | values    | o\|
-|         | in the  | previous\| previou\| previous\ | v\|
-|         | generat\| ly       | sly     | ly        | e\|
-|         | ed      | set, but | set,    | set, but  | r\|
-|         | configu\| can be   | but can | can be    | r\|
-|         | ration  | overridd\| be      | overridd\ | i\|
-|         | if not  | en       | overrid\| en        | d\|
-|         | overrid\| by CLAMP | den     | at any    | e\|
-|         | den.    | or       | by      | point     | s |
-|         |         | POLICY.  | POLICY. | thereaft\ | a\|
-|         |         |          |         | er.       | n\|
-|         |         |          |         |           | y |
-|         |         |          |         |           | v\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | s |
-|         |         |          |         |           | p\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | v\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | s\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | y |
-|         |         |          |         |           | s\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | , |
-|         |         |          |         |           | b\|
-|         |         |          |         |           | u\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | c\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | n |
-|         |         |          |         |           | b\|
-|         |         |          |         |           | e |
-|         |         |          |         |           | o\|
-|         |         |          |         |           | v\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | d\|
-|         |         |          |         |           | d\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | n |
-|         |         |          |         |           | a\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | a\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | y |
-|         |         |          |         |           | p\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | n\|
-|         |         |          |         |           | t |
-|         |         |          |         |           | t\|
-|         |         |          |         |           | h\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | r\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | a\|
-|         |         |          |         |           | f\|
-|         |         |          |         |           | t\|
-|         |         |          |         |           | e\|
-|         |         |          |         |           | r |
-|         |         |          |         |           | b\|
-|         |         |          |         |           | y |
-|         |         |          |         |           | P\|
-|         |         |          |         |           | o\|
-|         |         |          |         |           | l\|
-|         |         |          |         |           | i\|
-|         |         |          |         |           | c\|
-|         |         |          |         |           | y\|
-|         |         |          |         |           | . |
-+---------+---------+----------+---------+-----------+---+
-| Additio\| For     |          |         | For       |   |
-| nal     | CDAP:   |          |         | Docker:   |   |
-| Info    | ‘value’ |          |         | In the    |   |
-| for     | is      |          |         | auxiliar\ |   |
-| Compone\| provide\|          |         | y         |   |
-| nt      | d       |          |         | section:  |   |
-| Develop\| for     |          |         | {“policy  |   |
-| er      | variabl\|          |         | ”:        |   |
-|         | e       |          |         | {“trigge\ |   |
-|         | in the  |          |         | r_type”:  |   |
-|         | ‘AppCon\|          |         | “policy”  |   |
-|         | fig’    |          |         | ,“script\ |   |
-|         | or      |          |         | _path”:   |   |
-|         | ‘AppPre\|          |         | “/opt/ap\ |   |
-|         | ference\|          |         | p/reconf\ |   |
-|         | s’      |          |         | igure.sh\ |   |
-|         | section\|          |         | ”}        |   |
-|         | s       |          |         | } Script  |   |
-|         | For     |          |         | interfac\ |   |
-|         | Docker: |          |         | e         |   |
-|         | ‘value’ |          |         | must be   |   |
-|         | is      |          |         | “opt/app\ |   |
-|         | provide\|          |         | /reconfi\ |   |
-|         | d       |          |         | gure.sh”  |   |
-|         | for     |          |         | $trigger\ |   |
-|         | variabl\|          |         | _type     |   |
-|         | e       |          |         | $updated\ |   |
-|         | in      |          |         | _policie\ |   |
-|         | ‘parame\|          |         | s         |   |
-|         | ter’    |          |         | $updated\ |   |
-|         | section |          |         | _appl_co\ |   |
-|         |         |          |         | nfig"     |   |
-|         |         |          |         | where     |   |
-|         |         |          |         | $updated\ |   |
-|         |         |          |         | _policie\ |   |
-|         |         |          |         | s         |   |
-|         |         |          |         | is a      |   |
-|         |         |          |         | json      |   |
-|         |         |          |         | provided  |   |
-|         |         |          |         | by the    |   |
-|         |         |          |         | Policy    |   |
-|         |         |          |         | Handler   |   |
-|         |         |          |         | and       |   |
-|         |         |          |         | $update_a\|   |
-|         |         |          |         | ppl_con\  |   |
-|         |         |          |         | fig       |   |
-|         |         |          |         | is the    |   |
-|         |         |          |         | post-mer\ |   |
-|         |         |          |         | ged       |   |
-|         |         |          |         | appl\     |   |
-|         |         |          |         | config    |   |
-|         |         |          |         | which     |   |
-|         |         |          |         | may       |   |
-|         |         |          |         | contain   |   |
-|         |         |          |         | unresolv\ |   |
-|         |         |          |         | ed        |   |
-|         |         |          |         | configur\ |   |
-|         |         |          |         | ation     |   |
-|         |         |          |         | that      |   |
-|         |         |          |         | didn’t    |   |
-|         |         |          |         | come      |   |
-|         |         |          |         | from      |   |
-|         |         |          |         | policy.   |   |
-|         |         |          |         | Suggesti\ |   |
-|         |         |          |         | on        |   |
-|         |         |          |         | is for    |   |
-|         |         |          |         | script    |   |
-|         |         |          |         | to call   |   |
-|         |         |          |         | CONFIG    |   |
-|         |         |          |         | BINDING   |   |
-|         |         |          |         | SERVICE   |   |
-|         |         |          |         | to        |   |
-|         |         |          |         | resolve   |   |
-|         |         |          |         | any       |   |
-|         |         |          |         | configur\ |   |
-|         |         |          |         | ation.    |   |
-+---------+---------+----------+---------+-----------+---+
+Overridden/Entered Values
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Depending on the other properties set for the parameter, the default
+value can be overridden at ‘design-time’, ‘deploy-time’ or once the
+microservice is running (‘run-time’). (*In the future, when Policy is
+supported, configuration will also be able to be provided/changed in the
+Policy UI at any time).*
+
+
++--------+--------+--------+--------+------------+
+|        | Design\| CLAMP  | Policy | Deploy-Time|
+|        | -Time  | Input  | Input  | Input      |
+|        | Input  |        | (futur\|            |
+|        |        |        | e)     |            |
++========+========+========+========+============+
+| Descri\| Applie\| Applie\| (not   | Applies to |
+| ption  | s      | s      | yet    | manually   |
+|        | to SDC | to     | suppor\| deployed   |
+|        | self-s\| compon\| ted)   | services   |
+|        | ervice | ents   |        |            |
+|        | compon\| deploy\|        |            |
+|        | ents   | ed     |        |            |
+|        |        | by     |        |            |
+|        |        | CLAMP  |        |            |
++--------+--------+--------+--------+------------+
+| Input  | Servic\| CLAMP  | Operat\| DevOps     |
+| provid\| e      |        | ions   |            |
+| ed     | Design |        |        |            |
+| by     | er     |        |        |            |
++--------+--------+--------+--------+------------+
+| How it | In the | In the | In the | In the DCAE|
+| is     | SDC UI | CLAMP  | POLICY | Dashboard  |
+| provid\|        | UI     | GUI    | (or Jenkins|
+| ed     |        |        |        | job)       |
++--------+--------+--------+--------+------------+
+| Compon\| ‘desig\| None.  | ‘polic\| ‘sourced\  |
+| ent    | ner-ed\| Develo\| y_edit\| _at_deploy\|
+| Specif\| itable\| per    | able’  | ment’ must |
+| icatio\| ’      | provid\| must   | be set to  |
+| n      | set to | es     | be set | ‘true’     |
+| Detail\| ‘true’ | CLAMP  | to     |            |
+| s      |        | an     | ‘true’ |            |
+|        |        | email  | and    |            |
+|        |        | with   | ‘polic\|            |
+|        |        | parame\| y_sche\|            |
+|        |        | ters   | ma’    |            |
+|        |        | to be  | must   |            |
+|        |        | suppor\| be     |            |
+|        |        | ted    | provid\|            |
+|        |        |        | ed     |            |
+|        |        |        |        |            |
+|        |        |        |        |            |
++--------+--------+--------+--------+------------+
+| Additi\|        |        | For    |            |
+| onal   |        |        | Docker |            |
+| Info   |        |        | only:  |            |
+| for    |        |        | In the |            |
+| Compon\|        |        | auxili\|            |
+| ent    |        |        | ary    |            |
+| Develo\|        |        | sectio\|            |
+| per    |        |        | n:     |            |
+|        |        |        | {“poli\|            |
+|        |        |        | cy”:   |            |
+|        |        |        | {“trig\|            |
+|        |        |        | ger_ty\|            |
+|        |        |        | pe”:   |            |
+|        |        |        | “polic\|            |
+|        |        |        | y”,“sc\|            |
+|        |        |        | ript_p\|            |
+|        |        |        | ath”:  |            |
+|        |        |        | “/opt/\|            |
+|        |        |        | app/re\|            |
+|        |        |        | config\|            |
+|        |        |        | ure.sh |            |
+|        |        |        | ”}     |            |
+|        |        |        | }      |            |
+|        |        |        | Script |            |
+|        |        |        | interf\|            |
+|        |        |        | ace    |            |
+|        |        |        | would  |            |
+|        |        |        | then   |            |
+|        |        |        | be     |            |
+|        |        |        | “/opt/\|            |
+|        |        |        | app/re\|            |
+|        |        |        | config\|            |
+|        |        |        | ure.sh |            |
+|        |        |        | ”      |            |
+|        |        |        | $trigg\|            |
+|        |        |        | er_typ\|            |
+|        |        |        | e      |            |
+|        |        |        | $updat\|            |
+|        |        |        | ed_pol\|            |
+|        |        |        | icy"   |            |
+|        |        |        | where  |            |
+|        |        |        | $updat\|            |
+|        |        |        | ed_pol\|            |
+|        |        |        | icy    |            |
+|        |        |        | is     |            |
+|        |        |        | json   |            |
+|        |        |        | provid\|            |
+|        |        |        | ed     |            |
+|        |        |        | by the |            |
+|        |        |        | Policy |            |
+|        |        |        | Handle\|            |
+|        |        |        | r.     |            |
++--------+--------+--------+--------+------------+
+
diff --git a/docs/sections/components/component-specification/dmaap-connection-objects.rst b/docs/sections/components/component-specification/dmaap-connection-objects.rst
new file mode 100755
index 0000000..dfd4980
--- /dev/null
+++ b/docs/sections/components/component-specification/dmaap-connection-objects.rst
@@ -0,0 +1,276 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _dmaap-connection-objects:
+
+DMaaP connection objects
+========================
+
+DMaaP Connection Objects are JSON objects that:
+
+1. At Runtime - this is generated by the DCAE Platform and passed to the
+   component in its application_configuration to be used to connect to
+   the DMaaP feed or topic. Components will receive the entire object
+   with all properties populated (default will be \`null) unless
+   specified otherwise.
+2. During dcae_cli testing - this is provided through the command-line
+   argument ``--dmaap-file`` to test the component with manually
+   provisioned feeds and topics. Developers are not required to provide
+   the entire object. The required properties are labeled below with
+   “*Required as input*”.
+
+.. _dmaap-message-router:
+
+Message Router
+--------------
+
+Publishers and subscribers have the same generated
+``Dmaap Connection Object`` structure. Here’s an example for any given
+config-key: (This is what will be in application_configuration)
+
+.. code:: json
+
+    {
+        "type": "message_router",
+        "aaf_username": "some-user",
+        "aaf_password": "some-password",
+        "dmaap_info": {
+            "client_role": "com.dcae.member",
+            "client_id": "1500462518108",
+            "location": "mtc00",
+            "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
+        }
+    }
+
+At the top-level:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| type                           | string  | *Required as input*. Must |
+|                                |         | be ``message_router`` for |
+|                                |         | message router topics     |
++--------------------------------+---------+---------------------------+
+| aaf_username                   | string  | AAF username message      |
+|                                |         | router clients use to     |
+|                                |         | authenticate with secure  |
+|                                |         | topics                    |
++--------------------------------+---------+---------------------------+
+| aaf_password                   | string  | AAF password message      |
+|                                |         | router clients use to     |
+|                                |         | authenticate with secure  |
+|                                |         | topics                    |
++--------------------------------+---------+---------------------------+
+| dmaap_info                     | JSON    | *Required as input*.      |
+|                                | object  | Contains the topic        |
+|                                |         | connection details        |
++--------------------------------+---------+---------------------------+
+
+The ``dmaap_info`` object contains:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| client_role                    | string  | AAF client role that’s    |
+|                                |         | requesting publish or     |
+|                                |         | subscribe access to the   |
+|                                |         | topic                     |
++--------------------------------+---------+---------------------------+
+| client_id                      | string  | Client id for given AAF   |
+|                                |         | client                    |
++--------------------------------+---------+---------------------------+
+| location                       | string  | DCAE location for the     |
+|                                |         | publisher or subscriber,  |
+|                                |         | used to set up routing    |
++--------------------------------+---------+---------------------------+
+| topic_url                      | string  | *Required as input*. URL  |
+|                                |         | for accessing the topic   |
+|                                |         | to publish or receive     |
+|                                |         | events                    |
++--------------------------------+---------+---------------------------+
+
+The –dmaap-file argument (to the component ``run`` or ``dev`` command),
+must minimally contain:
+
+.. code:: json
+
+    {
+        "type": "message_router",
+        "dmaap_info": {
+            "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
+        }
+    }
+
+.. _dmaap-data-router:
+
+Data Router
+-----------
+
+Publisher
+~~~~~~~~~
+
+Here’s an example of what the generated ``Dmaap Connection Object`` for
+Data Router Publisher looks like: (This is what will be in
+application_configuration)
+
+.. code:: json
+
+    {
+        "type": "data_router",
+        "dmaap_info": {
+            "location": "mtc00",
+            "publish_url": "https://we-are-data-router.us/feed/xyz",
+            "log_url": "https://we-are-data-router.us/feed/xyz/logs",
+            "username": "some-user",
+            "password": "some-password",
+            "publisher_id": "123456"
+        } 
+    }
+
+At the top-level:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| type                           | string  | *Required as input*. Must |
+|                                |         | be ``data_router`` for    |
+|                                |         | data router feeds         |
++--------------------------------+---------+---------------------------+
+| dmaap_info                     | JSON    | *Required as input*.      |
+|                                | object  | Contains the feed         |
+|                                |         | connection details        |
++--------------------------------+---------+---------------------------+
+
+The ``dmaap_info`` object contains:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| location                       | string  | DCAE location for the     |
+|                                |         | publisher, used to set up |
+|                                |         | routing                   |
++--------------------------------+---------+---------------------------+
+| publish_url                    | string  | *Required as input*. URL  |
+|                                |         | to which the publisher    |
+|                                |         | makes Data Router publish |
+|                                |         | requests                  |
++--------------------------------+---------+---------------------------+
+| log_url                        | string  | URL from which log data   |
+|                                |         | for the feed can be       |
+|                                |         | obtained                  |
++--------------------------------+---------+---------------------------+
+| username                       | string  | Username the publisher    |
+|                                |         | uses to authenticate to   |
+|                                |         | Data Router               |
++--------------------------------+---------+---------------------------+
+| password                       | string  | Password the publisher    |
+|                                |         | uses to authenticate to   |
+|                                |         | Data Router               |
++--------------------------------+---------+---------------------------+
+| publisher_id                   | string  | Publisher id in Data      |
+|                                |         | Router                    |
++--------------------------------+---------+---------------------------+
+
+The –dmaap-file argument (to the component ``run`` or ``dev`` command),
+must minimally contain:
+
+.. code:: json
+
+    {
+        "type": "data_router",
+        "dmaap_info": {
+            "publish_url": "https://we-are-data-router.us/feed/xyz"
+        }
+    }
+
+Subscriber
+~~~~~~~~~~
+
+Here’s an example of what the generated ``Dmaap Connection Object`` for
+a Data Router Subscriber looks like: (This is what will be passed in
+application_configuration)
+
+.. code:: json
+
+    {
+        "type": "data_router",
+        "dmaap_info": {
+            "location": "mtc00",
+            "delivery_url": "https://my-subscriber-app.dcae:8080/target-path",
+            "username": "some-user",
+            "password": "some-password",
+            "subscriber_id": "789012"
+        } 
+    }
+
+At the top-level:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| type                           | string  | *Required as input*. Must |
+|                                |         | be ``data_router`` for    |
+|                                |         | data router feeds         |
++--------------------------------+---------+---------------------------+
+| dmaap_info                     | JSON    | *Required as input*.      |
+|                                | object  | Contains the feed         |
+|                                |         | connection details        |
++--------------------------------+---------+---------------------------+
+
+The ``dmaap_info`` object contains:
+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| location                       | string  | DCAE location for the     |
+|                                |         | subscriber, used to set   |
+|                                |         | up routing                |
++--------------------------------+---------+---------------------------+
+| delivery_url                   | string  | URL to which the Data     |
+|                                |         | Router should deliver     |
+|                                |         | files                     |
++--------------------------------+---------+---------------------------+
+| username                       | string  | Username Data Router uses |
+|                                |         | to authenticate to the    |
+|                                |         | subscriber when           |
+|                                |         | delivering files          |
++--------------------------------+---------+---------------------------+
+| password                       | string  | Password Data Router uses |
+|                                |         | to authenticate to the    |
+|                                |         | subscriber when           |
+|                                |         | delivering files          |
++--------------------------------+---------+---------------------------+
+| subscriber_id                  | string  | Subscriber id in Data     |
+|                                |         | Router                    |
++--------------------------------+---------+---------------------------+
+
+The –dmaap-file argument (to the component ``run`` or ``dev`` command),
+must minimally contain:
+
+.. code:: json
+
+    {
+        "type": "data_router",
+        "dmaap_info": {
+        }
+    }
+
+It is the recommended security practice that ``username`` and
+``password`` are specified. You cannot provide the ``delivery_url`` in
+your dmaap-file, because it’s not constructed until deployment time.
+Therefore, after the test deployment, go back to the Data Router Feed
+and provide the delivery_url (in order to start receiving the feeds).
+
+Data Router Example
+~~~~~~~~~~~~~~~~~~~
+
+(After the Data Router feed has been manually provisioned)
+
+::
+
+    $ dcae_cli component run --dmaap-file $dmaap_file $component-name
+    DCAE.Run | WARNING | Your component is a data router subscriber. Here are the delivery urls:
+
+            some-sub-dr: http://135.205.226.128:32838/identity
+
+(Update the Data Router Feed to provide the delivery_url).
diff --git a/docs/sections/components/component-specification/docker-specification.rst b/docs/sections/components/component-specification/docker-specification.rst
index 38612e1..01e1153 100755
--- a/docs/sections/components/component-specification/docker-specification.rst
+++ b/docs/sections/components/component-specification/docker-specification.rst
@@ -23,58 +23,38 @@
 -----------------
 
 ``auxiliary`` contains Docker specific details like health check, port
-mapping, volume mapping, and policy reconfiguration script details.
+mapping, volume mapping and policy reconfiguration script details.
+(Policy reconfiguration is not yet supported).
 
-+-------------+----+----------+
-| Name        | Ty\| Descript\|
-|             | pe | ion      |
-+=============+====+==========+
-| healthcheck | JS\| *Require\|
-|             | ON | d*.      |
-|             | ob\| Health   |
-|             | je\| check    |
-|             | ct | definiti\|
-|             |    | on       |
-|             |    | details  |
-+-------------+----+----------+
-| ports       | JS\| each     |
-|             | ON | array    |
-|             | ar\| item     |
-|             | ra\| maps a   |
-|             | y  | containe\|
-|             |    | r        |
-|             |    | port to  |
-|             |    | the host |
-|             |    | port.    |
-|             |    | See      |
-|             |    | example  |
-|             |    | below.   |
-+-------------+----+----------+
-| volume      | JS\| each     |
-|             | ON | array    |
-|             | ar\| item     |
-|             | ra\| contains |
-|             | y  | a host   |
-|             |    | and      |
-|             |    | containe\|
-|             |    | r        |
-|             |    | object.  |
-|             |    | See      |
-|             |    | example  |
-|             |    | below.   |
-+-------------+----+----------+
-| policy      | JS\| *Require\|
-|             | ON | d*.      |
-|             | ar\| Policy   |
-|             | ra\| script   |
-|             | y  | details  |
-+-------------+----+----------+
++--------------------------------+---------+---------------------------+
+| Name                           | Type    | Description               |
++================================+=========+===========================+
+| healthcheck                    | JSON    | *Required*. Health check  |
+|                                | object  | definition details        |
++--------------------------------+---------+---------------------------+
+| ports                          | JSON    | each array item maps a    |
+|                                | array   | container port to the     |
+|                                |         | host port. See example    |
+|                                |         | below.                    |
++--------------------------------+---------+---------------------------+
+| volume                         | JSON    | each array item contains  |
+|                                | array   | a host and container      |
+|                                |         | object. See example       |
+|                                |         | below.                    |
++--------------------------------+---------+---------------------------+
+| *Planned for 1806*             |         |                           |
++--------------------------------+---------+---------------------------+
+| policy                         | JSON    | *Required*. Policy        |
+|                                | array   | reconfiguration script    |
+|                                |         | details                   |
++--------------------------------+---------+---------------------------+
 
 Health Check Definition
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 The platform uses Consul to perform periodic health check calls. Consul
-provides different types of `check definitions <https://www.consul.io/docs/agent/checks.html>`_. The
+provides different types of `check
+definitions <https://www.consul.io/docs/agent/checks.html>`__. The
 platform currently supports http and docker health checks.
 
 When choosing a value for interval, consider that too frequent
@@ -85,47 +65,28 @@
 
 When choosing a value for timeout, consider that too small a number will
 result in increasing timeout failures, and too large a number will
-result in a delay in the notification of resource problem. A suggestion
-is to start with 5s and workd from there.
+result in a delay in the notification of the resource problem. A
+suggestion is to start with 5s and work from there.
 
 http
 ^^^^
 
-+-------------+----+----------+
-| Property    | Ty\| Descript\|
-| Name        | pe | ion      |
-+=============+====+==========+
-| type        | st\| *Require\|
-|             | ri\| d*.      |
-|             | ng | ``http`` |
-+-------------+----+----------+
-| interval    | st\| Interval |
-|             | ri\| duration |
-|             | ng | in       |
-|             |    | seconds  |
-|             |    | i.e.     |
-|             |    | ``60s``  |
-+-------------+----+----------+
-| timeout     | st\| Timeout  |
-|             | ri\| in       |
-|             | ng | seconds  |
-|             |    | i.e.     |
-|             |    | ``5s``   |
-+-------------+----+----------+
-| endpoint    | st\| *Require\|
-|             | ri\| d*.      |
-|             | ng | GET      |
-|             |    | endpoint |
-|             |    | provided |
-|             |    | by the   |
-|             |    | componen\|
-|             |    | t        |
-|             |    | for      |
-|             |    | Consul   |
-|             |    | to call  |
-|             |    | to check |
-|             |    | health   |
-+-------------+----+----------+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| type                           | string  | *Required*. ``http``      |
++--------------------------------+---------+---------------------------+
+| interval                       | string  | Interval duration in      |
+|                                |         | seconds i.e. ``60s``      |
++--------------------------------+---------+---------------------------+
+| timeout                        | string  | Timeout in seconds i.e.   |
+|                                |         | ``5s``                    |
++--------------------------------+---------+---------------------------+
+| endpoint                       | string  | *Required*. GET endpoint  |
+|                                |         | provided by the component |
+|                                |         | for Consul to call to     |
+|                                |         | check health              |
++--------------------------------+---------+---------------------------+
 
 Example:
 
@@ -143,43 +104,25 @@
 docker script example
 ^^^^^^^^^^^^^^^^^^^^^
 
-+-------------+----+------------+
-| Property    | Ty\| Descript\  |
-| Name        | pe | ion        |
-+=============+====+============+
-| type        | st\| *Require\  |
-|             | ri\| d*.        |
-|             | ng | ``docker`` |
-+-------------+----+------------+
-| interval    | st\| Interval   |
-|             | ri\| duration   |
-|             | ng | in         |
-|             |    | seconds    |
-|             |    | i.e.       |
-|             |    | ``15s``    |
-+-------------+----+------------+
-| timeout     | st\| Timeout    |
-|             | ri\| in         |
-|             | ng | seconds    |
-|             |    | i.e.       |
-|             |    | ``1s``     |
-+-------------+----+------------+
-| script      | st\| *Require\  |
-|             | ri\| d*.        |
-|             | ng | Full       |
-|             |    | path of    |
-|             |    | script     |
-|             |    | that       |
-|             |    | exists     |
-|             |    | in the     |
-|             |    | Docker     |
-|             |    | containe\  |
-|             |    | r          |
-|             |    | to be      |
-|             |    | executed   |
-+-------------+----+------------+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| type                           | string  | *Required*. ``docker``    |
++--------------------------------+---------+---------------------------+
+| interval                       | string  | Interval duration in      |
+|                                |         | seconds i.e. ``15s``      |
++--------------------------------+---------+---------------------------+
+| timeout                        | string  | Timeout in seconds i.e.   |
+|                                |         | ``1s``                    |
++--------------------------------+---------+---------------------------+
+| script                         | string  | *Required*. Full path of  |
+|                                |         | script that exists in the |
+|                                |         | Docker container to be    |
+|                                |         | executed                  |
++--------------------------------+---------+---------------------------+
 
-Consul will use the `Docker exec API <https://docs.docker.com/engine/api/v1.29/#tag/Exec>`_ to
+Consul will use the `Docker exec
+API <https://docs.docker.com/engine/api/v1.29/#tag/Exec>`__ to
 periodically call your script in your container. It will examine the
 script result to identify whether your component is healthy. Your
 component is considered healthy when the script returns ``0`` otherwise
@@ -201,6 +144,13 @@
 Ports
 ~~~~~
 
+This method of exposing/mapping a local port to a host port is NOT
+RECOMMENDED because of the possibility of port conflicts. If multiple
+instances of a docker container will be running, there definitely will
+be port conflicts. Use at your own risk. (The preferred way to expose a
+port is to do so in the Dockerfile as described
+:any:`here <dcae-cli-docker-ports>`).
+
 .. code:: json
 
     "auxilary": {
@@ -238,19 +188,19 @@
 
 The ``container`` object contains:
 
-+----------------------+----------------------+----------------------+
-| Property Name        | Type                 | Description          |
-+======================+======================+======================+
-| bind                 | string               | path to the          |
-|                      |                      | container volume     |
-+----------------------+----------------------+----------------------+
-| mode                 | string               | “ro” - indicates     |
-|                      |                      | read-only volume     |
-|                      |                      | “” - indicates that  |
-|                      |                      | the container can    |
-|                      |                      | write into the bind  |
-|                      |                      | mount                |
-+----------------------+----------------------+----------------------+
++-----------------------+-----------------------+-----------------------+
+| Property Name         | Type                  | Description           |
++=======================+=======================+=======================+
+| bind                  | string                | path to the container |
+|                       |                       | volume                |
++-----------------------+-----------------------+-----------------------+
+| mode                  | string                | “ro” - indicates      |
+|                       |                       | read-only volume      |
++-----------------------+-----------------------+-----------------------+
+|                       | “” - indicates that   |
+|                       | the contain can write |
+|                       | into the bind mount   |
++-----------------------+-----------------------+-----------------------+
 
 The ``host`` object contains:
 
@@ -280,39 +230,24 @@
 In the example above, the container volume “/tmp/docker.sock” maps to
 host volume “/var/run/docker.sock”.
 
-Policy
-~~~~~~
+
+Policy (not yet supported)
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Policy changes made in the Policy UI will be provided to the Docker
 component by triggering a script that is defined here.
 
-+-------------+----+------------+
-| Property    | Ty\| Descript\  |
-| Name        | pe | ion        |
-+=============+====+============+
-| reconfigure | st\| *Require\  |
-| _type       | ri\| d*.        |
-|             | ng | Current    |
-|             |    | value      |
-|             |    | supporte   |
-|             |    | d          |
-|             |    | is         |
-|             |    | ``policy`` |
-+-------------+----+------------+
-| script_path | st\| *Require\  |
-|             | ri\| d*.        |
-|             | ng | Current    |
-|             |    | value      |
-|             |    | for        |
-|             |    | ‘policy’   |
-|             |    | reconfig\  |
-|             |    | ure_type   |
-|             |    | must be    |
-|             |    | “/opt/ap\  |
-|             |    | p/reconf\  |
-|             |    | igure.sh   |
-|             |    | ”          |
-+-------------+----+------------+
++--------------------------------+---------+---------------------------+
+| Property Name                  | Type    | Description               |
++================================+=========+===========================+
+| reconfigure_type               | string  | *Required*. Current value |
+|                                |         | supported is ``policy``   |
++--------------------------------+---------+---------------------------+
+| script_path                    | string  | *Required*. Current value |
+|                                |         | for ‘policy’              |
+|                                |         | reconfigure_type must be  |
+|                                |         | “/opt/app/reconfigure.sh” |
++--------------------------------+---------+---------------------------+
 
 Example:
 
@@ -328,59 +263,22 @@
 The docker script interface is as follows: \`/opt/app/reconfigure.sh
 $reconfigure_type {“updated policies”: , “application config”: }
 
-+-----+----+---------------------------+
-| Na\ | Ty\| Descript\                 |
-| me  | pe | ion                       |
-+=====+====+===========================+
-| re\ | st\| “policy”                  |
-| co\ | ri\|                           |
-| nf\ | ng |                           |
-| ig\ |    |                           |
-| ur\ |    |                           |
-| e_t\|    |                           |
-| y\  |    |                           |
-| pe\ |    |                           |
-+-----+----+---------------------------+
-| up\ | js\| TBD                       |
-| da\ | on |                           |
-| te\ |    |                           |
-| d_p\|    |                           |
-| o\  |    |                           |
-| li\ |    |                           |
-| ci\ |    |                           |
-| es  |    |                           |
-+-----+----+---------------------------+
-| up\ | js\| complete                  |
-| da\ | on | generate\                 |
-| te\ |    | d                         |
-| d_a\|    | app_conf\                 |
-| p\  |    | ig,                       |
-| pl\ |    | not                       |
-| _c\ |    | fully-re\                 |
-| on\ |    | solved,                   |
-| fi\ |    | but                       |
-| g   |    | ``policy-enabled``        |
-|     |    | paramete\                 |
-|     |    | rs                        |
-|     |    | have                      |
-|     |    | been                      |
-|     |    | updated.                  |
-|     |    | In order                  |
-|     |    | to get                    |
-|     |    | the                       |
-|     |    | complete                  |
-|     |    | updated                   |
-|     |    | app_conf\                 |
-|     |    | ig,                       |
-|     |    | the                       |
-|     |    | componen\                 |
-|     |    | t                         |
-|     |    | would                     |
-|     |    | have to                   |
-|     |    | call                      |
-|     |    | ``config-binding-service``|
-|     |    | .                         |
-+-----+----+---------------------------+
++--------------+--------------+----------------------------------------+
+| Name         | Type         | Description                            |
++==============+==============+========================================+
+| reconfigure_ | string       | “policy”                               |
+| type         |              |                                        |
++--------------+--------------+----------------------------------------+
+| updated_poli | json         | TBD                                    |
+| cies         |              |                                        |
++--------------+--------------+----------------------------------------+
+| updated_appl | json         | complete generated app_config, not     |
+| _config      |              | fully-resolved, but ``policy-enabled`` |
+|              |              | parameters have been updated. In order |
+|              |              | to get the complete updated            |
+|              |              | app_config, the component would have   |
+|              |              | to call ``config-binding-service``.    |
++--------------+--------------+----------------------------------------+
 
 Docker Component Spec - Complete Example
 ----------------------------------------
@@ -390,7 +288,7 @@
     {
         "self": {
             "version": "1.0.0",
-            "name": "asimov.component.kpi_anomaly",
+            "name": "yourapp.component.kpi_anomaly",
             "description": "Classifies VNF KPI data as anomalous",
             "component_type": "docker"
         },
@@ -402,7 +300,7 @@
                 "type": "http"
             }],
             "publishes": [{
-                "format": "asimov.format.integerClassification",
+                "format": "yourapp.format.integerClassification",
                 "version": "1.0.0",
                 "config_key": "prediction",
                 "type": "http"
@@ -427,7 +325,7 @@
                     "version": "1.0.0"
                     },
                 "response": {
-                    "format": "asimov.format.integerClassification",
+                    "format": "yourapp.format.integerClassification",
                     "version": "1.0.0"
                     }
             }]
@@ -448,7 +346,7 @@
             }
         },
         "artifacts": [{
-            "uri": "fake.nexus.com/dcae/kpi_anomaly:1.0.0",
+            "uri": "fake.nexus.att.com/dcae/kpi_anomaly:1.0.0",
             "type": "docker image"
         }]
     }
diff --git a/docs/sections/components/component-specification/generated-configuration.rst b/docs/sections/components/component-specification/generated-configuration.rst
deleted file mode 100755
index ba5ae4a..0000000
--- a/docs/sections/components/component-specification/generated-configuration.rst
+++ /dev/null
@@ -1,114 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _generated-configuration:
-
-Generated configuration
-=======================
-
-The DCAE platform relies on the component specification to generate the
-component’s application configuration JSON at deployment time. The
-component developer should expect to use this configuration JSON in
-their application to provision themselves.
-
-Pro-tip: As you build your component specification, you can use the
-:any:`dcae-cli dev command <walkthrough-dev>` to view what
-the resulting application configuration will look like.
-
-Streams and services
---------------------
-
-For both Docker and CDAP, when your component is deployed, any
-``streams`` and ``services/calls`` you specified will be injected into
-your configuration under the following well known structure. Your
-component is required to parse this information if you have any
-connectivity to DMaaP or are calling another DCAE component.
-
-More details about the DMaaP connection objects are found
-:doc:`here <../dcae-cli/dmaap-connection-objects>`.
-
-This is best served with an example.
-
-The following component spec snippet (from String Matching):
-
-::
-
-    "streams":{  
-        "subscribes": [{
-          "format": "VES_specification",  
-          "version": "4.27.2",    
-          "type": "message_router",
-          "config_key" : "mr_input"
-        }],
-        "publishes": [{
-          "format": "VES_specification",  
-          "version": "4.27.2",    
-          "config_key": "mr_output",
-          "type": "message_router"
-         }]
-      },
-      "services":{  
-        "calls": [{
-          "config_key" : "aai_broker_handle",
-          "verb": "GET",
-          "request": {
-            "format": "get_with_query_params",
-            "version": "1.0.0"
-          },
-          "response": {
-            "format": "aai_broker_response",
-            "version": "3.0.0"
-          } 
-        }],
-        "provides": []
-      },
-
-Will turn into the following top level keys in your configuration (for
-CDAP, this will be under AppConfig)
-
-::
-
-       "streams_publishes":{  
-          "mr_output":{                // notice the config key above
-             "aaf_password":"XXX",
-             "type":"message_router",
-             "dmaap_info":{  
-                "client_role": null,
-                "client_id": null,
-                "location": null,
-                "topic_url":"XXX"
-             },
-             "aaf_username":"XXX"
-          }
-       },
-       "streams_subscribes":{  
-          "mr_input":{                 // notice the config key above
-             "aaf_password":"XXX",
-             "type":"message_router",
-             "dmaap_info":{  
-                "client_role": null,
-                "client_id": null,
-                "location": null,
-                "topic_url":"XXX"
-             },
-             "aaf_username":"XXX"
-          }
-       },
-       "services_calls":{  
-          "aai_broker_handle":[        // notice the config key above
-             "SOME_IP:32768"   // based on deployment time, just an example
-          ]
-       }
-
-These keys will always be populated regardless of whether they are
-empty. So the minimal you will get, in the case of a component that
-provides an HTTP service and does not call any services and has no
-streams, is:
-
-::
-
-        "streams_publishes":{},
-        "streams_subscribes":{},
-        "services_calls":{}
-
-Thus your component should expect these well-known top level keys.
diff --git a/docs/sections/components/component-specification/start-here.rst b/docs/sections/components/component-specification/start-here.rst
deleted file mode 100755
index d3f5a12..0000000
--- a/docs/sections/components/component-specification/start-here.rst
+++ /dev/null
@@ -1 +0,0 @@
-
