At the time of this writing *1.6.4* is the latest version.
 
 The *onap/policy-pdpd-cl* image extends the *onap/policy-drools* image with
-the *frankfurt* controller that realizes the *control loop* application.
+the *usecases* controller that realizes the *control loop* application.
 
-Frankfurt Controller
+Usecases Controller
 ====================
 
-The `frankfurt <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt>`__
+The `usecases <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases>`__
 controller is the *control loop* application in ONAP.
 
 There are three parts in this controller:
 
-* The `drl rules <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/frankfurt.drl>`__.
-* The `kmodule.xml <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/META-INF/kmodule.xml>`__.
-* The `dependencies <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/pom.xml>`__.
+* The `drl rules <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/usecases.drl>`__.
+* The `kmodule.xml <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/META-INF/kmodule.xml>`__.
+* The `dependencies <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/pom.xml>`__.
 
 The `kmodule.xml` specifies only one session, and declares in the *kbase* section the two operational policy types that
 it supports.
 
-The Frankfurt controller relies on the new Actor framework to interact with remote
+The Usecases controller relies on the new Actor framework to interact with remote
 components, part of a control loop transaction.   The reader is referred to the
 *Policy Platform Actor Development Guidelines* in the documentation for further information.
 
 Operational Policy Types
 ========================
 
-The *frankfurt* controller supports the two Operational policy types:
+The *usecases* controller supports the two Operational policy types:
 
 - *onap.policies.controlloop.Operational*.
 - *onap.policies.controlloop.operational.common.Drools*.
 - **lifecycle**: enables the lifecycle APIs.
 - **controlloop-trans**: control loop transaction tracking.
 - **controlloop-management**: generic controller capabilities.
-- **controlloop-frankfurt**: new *controller* introduced in the frankfurt release to realize the ONAP use cases.
+- **controlloop-usecases**: new *controller* introduced in the guilin release to realize the ONAP use cases.
 
 The following features are installed but disabled:
 
-- **controlloop-usecases**: *controller* used pre-frankfurt releases.
+- **controlloop-frankfurt**: *controller* used in the frankfurt release.
+- **controlloop-tdjam**: experimental java-only *controller* to be deprecated post guilin.
 - **controlloop-utils**: *actor* simulators.
 
 Control Loops Transaction (controlloop-trans)
 telemetry API extensions.   *Actor* configurations are packaged in this
 feature.
 
-Frankfurt Controller (controlloop-frankfurt)
+Usecases Controller (controlloop-usecases)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-It is the *frankfurt* release implementation of the ONAP use cases.
+It is the *guilin* release implementation of the ONAP use cases.
 It relies on the new *Actor* model framework to carry out a policy's
 execution.
 
-Usecases Controller (controlloop-usecases)
+Frankfurt Controller (controlloop-frankfurt)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is the frankfurt controller that will be deprecated after the
+guilin release.
+
+TDJAM Controller (controlloop-tdjam)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-This is the deprecated pre-frankfurt controller.
+This is an experimental, java-only controller that will be deprecated after the
+guilin release.
 
 Utilities (controlloop-utils)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Actor Properties
 """"""""""""""""
 
-In the *frankfurt* release, some *actors* configurations need to be overridden to support *http* for compatibility
+In the *guilin* release, some *actors* configurations need to be overridden to support *http* for compatibility
 with the *controlloop-utils* feature.
 
 AAI-http-client.properties
 
     docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry"
     > get /policy/pdp/engine/lifecycle/policies
-    > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops
+    > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops
 
 
 dcae.vdns.onset.json
 
     docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry"
     > get /policy/pdp/engine/lifecycle/policies
-    > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops
+    > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops
 
 
 dcae.vcpe.onset.json
 
     docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry"
     > get /policy/pdp/engine/lifecycle/policies
-    > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops
+    > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops
 
 
 dcae.vfw.onset.json
 
 defined in *<name>-controller.properties* files.
 
 For example, see the
-`frankfurt controller configuration <https://git.onap.org/policy/drools-applications/tree/controlloop/common/feature-controlloop-frankfurt/src/main/feature/config/frankfurt-controller.properties>`__.
+`usecases controller configuration <https://git.onap.org/policy/drools-applications/tree/controlloop/common/feature-controlloop-usecases/src/main/feature/config/usecases-controller.properties>`__.
 
 This configuration file has two sections: *a)* application maven coordinates, and *b)* endpoint references and coders.
 
 Maven Coordinates
 ~~~~~~~~~~~~~~~~~
 
-The coordinates section (*rules*) points to the *controller-frankfurt* *kjar* artifact.
+The coordinates section (*rules*) points to the *controller-usecases* *kjar* artifact.
 It is the *brain* of the control loop application.
 
 .. code-block:: bash
 
-    controller.name=frankfurt
+    controller.name=usecases
 
     rules.groupId=${project.groupId}
-    rules.artifactId=controller-frankfurt
+    rules.artifactId=controller-usecases
     rules.version=${project.version}
     .....
 
 This *kjar* contains the
-`frankfurt DRL <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/frankfurt.drl>`__ file (there may be more than one DRL file included).
+`usecases DRL <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/usecases.drl>`__ file (there may be more than one DRL file included).
 
 .. code-block:: bash
 
     ...
 
 The DRL in conjuction with the dependent java libraries in the kjar
-`pom <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/pom.xml>`__
+`pom <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/pom.xml>`__
 realizes the application's function.  For intance, it realizes the
 vFirewall, vCPE, and vDNS use cases in ONAP.
 
 Endpoints References and Coders
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The *frankfurt-controller.properties* configuration also contains a mix of
+The *usecases-controller.properties* configuration also contains a mix of
 source (of incoming controller traffic) and sink (of outgoing controller traffic)
 configuration.  This configuration also contains specific
 filtering and mapping rules for incoming and outgoing dmaap messages
 
 A minimum of one application *controller* that supports these capabilities
 must be installed in order to honor the *operational policy types*.
-One such controller is the *frankfurt* controller residing in the
+One such controller is the *usecases* controller residing in the
 `policy/drools-applications <https://git.onap.org/policy/drools-applications>`__
 repository.
 
     }
 
 The *controller* application could declare its supported policy types in the *kjar*.
-For example, the *frankfurt controller* packages this information in the
-`kmodule.xml <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/META-INF/kmodule.xml>`__.    One advantage of this approach is that the PDP-D would only
+For example, the *usecases controller* packages this information in the
+`kmodule.xml <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/META-INF/kmodule.xml>`__.    One advantage of this approach is that the PDP-D would only
 commit to execute policies against these policy types if a supporting controller is up and running.
 
 .. code-block:: bash
         <kbase name="onap.policies.controlloop.operational.common.Drools" default="false" equalsBehavior="equality"/>
         <kbase name="onap.policies.controlloop.Operational" equalsBehavior="equality"
                packages="org.onap.policy.controlloop" includes="onap.policies.controlloop.operational.common.Drools">
-            <ksession name="frankfurt"/>
+            <ksession name="usecases"/>
         </kbase>
     </kmodule>
 
 
     db-migrator -s ALL -o report
 
-For example in the official frankfurt delivery:
+For example in the official guilin delivery:
 
 .. code-block:: bash
 
     controlloop-management 1.6.4           enabled
     controlloop-utils      1.6.4           enabled
     controlloop-trans      1.6.4           enabled
-    controlloop-frankfurt  1.6.4           enabled
-    controlloop-usecases   1.6.4           disabled
+    controlloop-usecases   1.6.4           enabled
 
     [migration]
     pooling: OK @ 1811
     Server: Jetty(9.4.24.v20191120)
 
     [
-        "frankfurt"
+        "usecases"
     ]
 
     https://localhost:9696/policy/pdp/engine> exit