Update readme and docs with rapp instance 26/11526/3
authoraravind.est <aravindhan.a@est.tech>
Wed, 26 Jul 2023 15:41:57 +0000 (16:41 +0100)
committeraravind.est <aravindhan.a@est.tech>
Tue, 1 Aug 2023 10:21:01 +0000 (11:21 +0100)
Update readme and docs with the rapp instance details.

Issue-ID: NONRTRIC-897
Signed-off-by: aravind.est <aravindhan.a@est.tech>
Change-Id: I526609e9c1b98b7cd596ff66ad558a647ea6f0c3

14 files changed:
README.md
docs/drawio/rapp-manager.drawio [new file with mode: 0755]
docs/images/application-lifecycle.png [new file with mode: 0755]
docs/images/architecture.png [new file with mode: 0755]
docs/images/rapp-entity-relationship.png [new file with mode: 0755]
docs/images/rapp-flow.png [new file with mode: 0755]
docs/images/rapp-instance-flow.png [new file with mode: 0755]
docs/images/rapp-instance-states.png [new file with mode: 0755]
docs/images/rapp-state-events.png [new file with mode: 0755]
docs/images/rapp-states.png [new file with mode: 0755]
docs/ppt/rapp-manager.pptx [new file with mode: 0755]
docs/uml/application-lifecycle.puml [new file with mode: 0755]
docs/uml/rapp-flow.puml [new file with mode: 0755]
docs/uml/rapp-instance-flow.puml [new file with mode: 0755]

index fae2730..fa7818f 100755 (executable)
--- a/README.md
+++ b/README.md
@@ -3,13 +3,50 @@ Rapp manager is an application which lifecycle manages the Rapp.
 
 <mark>**Rapp packaging model used here is purely a prototype**</mark>
 
-# Integration of ONAP ACM
+## Architecture
+
+![Image](docs/images/architecture.png "Rapp Manager Architecture")
+
+### Rapp States
+
+![Image](docs/images/rapp-states.png "Rapp States")
+
+### Rapp Instance States
+
+![Image](docs/images/rapp-instance-states.png "Rapp Instance States")
+
+### Events responsible for Rapp Instance State Transition
+
+![Image](docs/images/rapp-state-events.png "Rapp Manager State Events")
+
+## Integrations
+
+### ONAP ACM
 
 ONAP ACM is used here as a backend of Rapp manager to lifecycle manage the deployment items as part of Rapp.
 
 ONAP ACM related details can be found [here](https://docs.onap.org/projects/onap-policy-parent/en/london/clamp/clamp.html).
 
 
+### Integration of SME (CAPIF)
+
+This integration is based on the CAPIF function developed as part of ORAN-SC. It is available [here](https://github.com/o-ran-sc/nonrtric-plt-sme/blob/master/capifcore/README.md)
+
+## Flow Diagrams
+
+### Application Lifecycle
+
+![Image](docs/images/application-lifecycle.png "Rapp Manager Application Lifecycle")
+
+### Rapp Flow
+
+![Image](docs/images/rapp-flow.png "Rapp Flow")
+
+### Rapp Instance Flow
+
+![Image](docs/images/rapp-instance-flow.png "Rapp Instance Flow")
+
+
 ## Maven Build
 
 This build supports Linux and Windows environments.
@@ -29,4 +66,4 @@ named "<strong>PATH</strong>". These paths can vary based on the git installatio
 ```
 C:\Program Files\Git\usr\bin
 C:\Program Files\Git\mingw64\libexec\git-core
-```
\ No newline at end of file
+```
diff --git a/docs/drawio/rapp-manager.drawio b/docs/drawio/rapp-manager.drawio
new file mode 100755 (executable)
index 0000000..25a2419
--- /dev/null
@@ -0,0 +1,439 @@
+<mxfile host="Electron" modified="2023-07-28T09:27:43.207Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="zI_o3S6yMMhHybAjjMN1" version="21.6.5" type="device" pages="5">
+  <diagram name="Architecture" id="17ScgUcGnw9kMPdYQ0jm">
+    <mxGraphModel dx="1438" dy="1058" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="KdB-_tFk0e3cPOdDlfYL-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;shadow=0;glass=0;dashed=1;dashPattern=1 2;" parent="1" vertex="1">
+          <mxGeometry x="260.5" y="100" width="279.5" height="265.5" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-10" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;shadow=0;glass=0;dashed=1;dashPattern=1 2;" parent="1" vertex="1">
+          <mxGeometry x="-350" y="100" width="535" height="264" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-1" value="ACM Runtime" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="-149" y="124" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-17" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="1" source="IMkn7QF7C7UZfDmJMlh3-2" target="IMkn7QF7C7UZfDmJMlh3-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="KdB-_tFk0e3cPOdDlfYL-4" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="1" source="IMkn7QF7C7UZfDmJMlh3-2" target="IMkn7QF7C7UZfDmJMlh3-22" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-2" value="rApp Manager" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="125" y="-100" width="122" height="63" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-3" value="Kubernetes Participant" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="-305" y="268" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-4" value="A1PMS Participant" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="-149" y="268" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-5" value="Kserve Participant" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="48" y="268" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="KdB-_tFk0e3cPOdDlfYL-5" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="1" source="IMkn7QF7C7UZfDmJMlh3-6" target="IMkn7QF7C7UZfDmJMlh3-2" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-6" value="API User" style="shape=umlActor;verticalLabelPosition=top;verticalAlign=bottom;html=1;outlineConnect=0;fontSize=16;labelPosition=center;align=center;" parent="1" vertex="1">
+          <mxGeometry x="-170" y="-97" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-7" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-141" y="184" as="sourcePoint" />
+            <mxPoint x="-245" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-8" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="IMkn7QF7C7UZfDmJMlh3-4" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-90" y="184" as="sourcePoint" />
+            <mxPoint x="-194" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-9" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.944;entryY=0.939;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="IMkn7QF7C7UZfDmJMlh3-5" target="IMkn7QF7C7UZfDmJMlh3-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="278" y="146" as="sourcePoint" />
+            <mxPoint x="174" y="227" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-11" value="ACM" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="125" y="100" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-13" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;dashPattern=1 2;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-16" y="301" as="sourcePoint" />
+            <mxPoint x="36" y="301" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-18" value="Keycloak" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="330" y="261.5" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-22" value="CAPIF" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="330" y="135.5" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-24" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="690" y="-280" width="298" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-25" value="SME" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="470" y="105.5" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="HdeRTKC2PSPPZ0eF_beT-1" value="Rapp Catalogue" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
+          <mxGeometry x="790" y="-120" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="IMkn7QF7C7UZfDmJMlh3-26" value="DME" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="690" y="-280" width="60" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="5WbYrmaVoOUk7OSHm8GO" name="rApp-States">
+    <mxGraphModel dx="650" dy="271" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="OlEAaxTOH4qE6BNT9p8g-16" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="1" source="kaBHNdDOut0HFUkxyrMo-2" target="OlEAaxTOH4qE6BNT9p8g-2" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kaBHNdDOut0HFUkxyrMo-2" value="PRIMING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="734" y="763" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="SM-95HUsG2i_VOHMoe33-1" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="1" source="kaBHNdDOut0HFUkxyrMo-3" target="OlEAaxTOH4qE6BNT9p8g-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="1153" y="850" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="kaBHNdDOut0HFUkxyrMo-3" value="DEPRIMING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="734" y="985" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="OlEAaxTOH4qE6BNT9p8g-15" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="1" source="OlEAaxTOH4qE6BNT9p8g-1" target="kaBHNdDOut0HFUkxyrMo-2" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="OlEAaxTOH4qE6BNT9p8g-1" value="COMMISSIONED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="1" vertex="1">
+          <mxGeometry x="726" y="659" width="136" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="OlEAaxTOH4qE6BNT9p8g-17" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="1" source="OlEAaxTOH4qE6BNT9p8g-2" target="kaBHNdDOut0HFUkxyrMo-3" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="OlEAaxTOH4qE6BNT9p8g-2" value="PRIMED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="1" vertex="1">
+          <mxGeometry x="734" y="874" width="120" height="60" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram name="rApp Instance States" id="4tHQkv6kBpBhb85iWkPI">
+    <mxGraphModel dx="650" dy="271" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-0" />
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-1" parent="TQWpiqcAljcXlIxfPDRo-0" />
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-4" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="TQWpiqcAljcXlIxfPDRo-1" source="TQWpiqcAljcXlIxfPDRo-5" target="TQWpiqcAljcXlIxfPDRo-12" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-5" value="DEPLOYED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="TQWpiqcAljcXlIxfPDRo-1" vertex="1">
+          <mxGeometry x="734" y="763" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="htJC7knH3mB6ENcDUvvf-0" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.997;entryY=0.62;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=12;startSize=8;endSize=8;" parent="TQWpiqcAljcXlIxfPDRo-1" source="TQWpiqcAljcXlIxfPDRo-6" target="TQWpiqcAljcXlIxfPDRo-9" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="1100" y="810" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-6" value="UNDEPLOYED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="TQWpiqcAljcXlIxfPDRo-1" vertex="1">
+          <mxGeometry x="734" y="985" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-7" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="TQWpiqcAljcXlIxfPDRo-1" source="TQWpiqcAljcXlIxfPDRo-9" target="TQWpiqcAljcXlIxfPDRo-5" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-9" value="DEPLOYING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="TQWpiqcAljcXlIxfPDRo-1" vertex="1">
+          <mxGeometry x="734" y="662" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-10" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="TQWpiqcAljcXlIxfPDRo-1" source="TQWpiqcAljcXlIxfPDRo-12" target="TQWpiqcAljcXlIxfPDRo-6" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="TQWpiqcAljcXlIxfPDRo-12" value="UNDEPLOYING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="TQWpiqcAljcXlIxfPDRo-1" vertex="1">
+          <mxGeometry x="734" y="874" width="120" height="60" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram name="rApp Instance Events" id="e8AQIz6e7eoNnJf5ZOEh">
+    <mxGraphModel dx="650" dy="271" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-0" />
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-1" parent="EyTT8lpdAKgMZ4VjWMC6-0" />
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-2" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="EyTT8lpdAKgMZ4VjWMC6-1" source="EyTT8lpdAKgMZ4VjWMC6-3" target="EyTT8lpdAKgMZ4VjWMC6-8" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="796" y="643" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-3" value="UNDEPLOYED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="733" y="530" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-4" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" parent="EyTT8lpdAKgMZ4VjWMC6-1" source="EyTT8lpdAKgMZ4VjWMC6-5" target="EyTT8lpdAKgMZ4VjWMC6-10" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-5" value="DEPLOYED" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="734" y="872" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="h__vrVu5-qu6cgSce-rx-6" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.087;entryY=0.478;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=12;startSize=8;endSize=8;" parent="EyTT8lpdAKgMZ4VjWMC6-1" source="EyTT8lpdAKgMZ4VjWMC6-8" target="EyTT8lpdAKgMZ4VjWMC6-3" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="496" y="649" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-8" value="DEPLOYING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="734" y="662" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="h__vrVu5-qu6cgSce-rx-4" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" parent="EyTT8lpdAKgMZ4VjWMC6-1" source="EyTT8lpdAKgMZ4VjWMC6-10" target="EyTT8lpdAKgMZ4VjWMC6-5" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="531" y="982" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-10" value="UNDEPLOYING" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="734" y="1008" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-12" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;DEPLOYING&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="740" y="600" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-13" value="" style="shape=link;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="100" relative="1" as="geometry">
+            <mxPoint x="726.75" y="808" as="sourcePoint" />
+            <mxPoint x="861.25" y="808" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="796" y="808" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-14" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="753" y="722" as="sourcePoint" />
+            <mxPoint x="753" y="805" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-15" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="832" y="722" as="sourcePoint" />
+            <mxPoint x="832" y="805" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-16" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;SMEDEPLOYED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="819" y="743" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-17" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;ACMDEPLOYED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="676" y="743" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-18" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" target="EyTT8lpdAKgMZ4VjWMC6-5" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="793.5" y="810" as="sourcePoint" />
+            <mxPoint x="793.5" y="861" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-19" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;ACMUNDEPLOYFAILED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="498" y="991" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-20" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;ACMDEPLOYFAILED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="481" y="579" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-21" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;UNDEPLOYING&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="751" y="948" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-23" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="854" y="1019" as="sourcePoint" />
+            <mxPoint x="1027" y="1019" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-25" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;SMEUNDEPLOYED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="885" y="1054" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-26" value="&lt;div style=&quot;background-color: rgb(255, 255, 255); font-size: 17px;&quot;&gt;&lt;span style=&quot;font-size: 17px;&quot;&gt;ACMUNDEPLOYED&lt;/span&gt;&lt;/div&gt;" style="text;whiteSpace=wrap;html=1;fontSize=17;fontStyle=1;fontFamily=Times New Roman;align=center;horizontal=1;fontColor=#CC00CC;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="885" y="986" width="99" height="38" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-28" value="&lt;span style=&quot;color: rgb(204, 0, 204); font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;SMEDEPLOYFAILED&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=16;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="439.99855398995555" y="655.0028397042412" width="199" height="42" as="geometry" />
+        </mxCell>
+        <mxCell id="EyTT8lpdAKgMZ4VjWMC6-29" value="&lt;span style=&quot;color: rgb(204, 0, 204); font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;SMEUNDEPLOYFAILED&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=16;" parent="EyTT8lpdAKgMZ4VjWMC6-1" vertex="1">
+          <mxGeometry x="444.0042682756698" y="910.9999825613841" width="223" height="42" as="geometry" />
+        </mxCell>
+        <mxCell id="h__vrVu5-qu6cgSce-rx-1" value="" style="shape=link;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="100" relative="1" as="geometry">
+            <mxPoint x="1029" y="985" as="sourcePoint" />
+            <mxPoint x="1029" y="1077" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="1029.25" y="985" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="h__vrVu5-qu6cgSce-rx-2" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="854" y="1055.41" as="sourcePoint" />
+            <mxPoint x="1026" y="1055" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="h__vrVu5-qu6cgSce-rx-3" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;entryX=1;entryY=0.5;entryDx=0;entryDy=0;dashed=1;" parent="EyTT8lpdAKgMZ4VjWMC6-1" target="EyTT8lpdAKgMZ4VjWMC6-3" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="1031" y="1038" as="sourcePoint" />
+            <mxPoint x="1114.5" y="899" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="1204" y="715" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="iqw_mrV9lKbJkvdqUL_S" name="Entity Relationship">
+    <mxGraphModel dx="1050" dy="1071" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-4" value="rApp Instance" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="646" y="140" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-5" value="rApp" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="188" y="140" width="105" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-6" value="ACM Composition" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#ffe6cc;strokeColor=#d79b00;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="421" y="-26" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-7" value="ACM Composition&lt;br&gt;Instance" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#ffe6cc;strokeColor=#d79b00;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="419" y="51" width="100" height="62" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-11" value="SME Provider" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="421" y="202" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-13" value="SME &lt;br&gt;Invoker" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="421" y="271" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-14" value="SME &lt;br&gt;Service Api" style="rounded=1;arcSize=10;whiteSpace=wrap;html=1;align=center;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;glass=0;shadow=0;" parent="1" vertex="1">
+          <mxGeometry x="421" y="348" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-15" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.006;entryY=0.384;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-7" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="310" y="250" as="sourcePoint" />
+            <mxPoint x="200" y="64" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-17" value="1..N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="MwSbNYkhp2zP1ZTl8Bha-15" vertex="1" connectable="0">
+          <mxGeometry x="0.0469" y="3" relative="1" as="geometry">
+            <mxPoint x="52" y="5" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-20" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-6" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="310" y="250" as="sourcePoint" />
+            <mxPoint x="410" y="150" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-21" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="358.9982392983694" y="1.0030393525859012" as="geometry">
+            <mxPoint x="1" y="-3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-22" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-11" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="253" y="150" as="sourcePoint" />
+            <mxPoint x="429" y="92" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-23" value="1..N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="MwSbNYkhp2zP1ZTl8Bha-22" vertex="1" connectable="0">
+          <mxGeometry x="0.0469" y="3" relative="1" as="geometry">
+            <mxPoint x="38" y="-2" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-24" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;startSize=8;endSize=8;curved=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-13" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="174" y="237" as="sourcePoint" />
+            <mxPoint x="352" y="348" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-25" value="1..N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="MwSbNYkhp2zP1ZTl8Bha-24" vertex="1" connectable="0">
+          <mxGeometry x="0.0469" y="3" relative="1" as="geometry">
+            <mxPoint x="68" y="-6" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-26" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-14" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="130.99999999999994" y="251.99999999999994" as="sourcePoint" />
+            <mxPoint x="372.21" y="421.2" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-27" value="1..N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="MwSbNYkhp2zP1ZTl8Bha-26" vertex="1" connectable="0">
+          <mxGeometry x="0.0469" y="3" relative="1" as="geometry">
+            <mxPoint x="102" y="-10" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-28" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERoneToMany;rounded=0;startSize=8;endSize=8;curved=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-5" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="310" y="250" as="sourcePoint" />
+            <mxPoint x="410" y="150" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-29" value="1..N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="382.9968503216668" y="228.00044469513193" as="geometry">
+            <mxPoint x="84" y="-70" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-30" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-6" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="561" y="46" as="sourcePoint" />
+            <mxPoint x="739" y="-100" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-31" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-7" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="543" y="78" as="sourcePoint" />
+            <mxPoint x="718" y="224" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-32" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-11" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="551" y="210" as="sourcePoint" />
+            <mxPoint x="728" y="268" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-33" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-13" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="569" y="296" as="sourcePoint" />
+            <mxPoint x="746" y="354" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-34" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;startSize=8;endSize=8;curved=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="MwSbNYkhp2zP1ZTl8Bha-14" target="MwSbNYkhp2zP1ZTl8Bha-4" edge="1">
+          <mxGeometry width="100" height="100" relative="1" as="geometry">
+            <mxPoint x="571" y="364" as="sourcePoint" />
+            <mxPoint x="690" y="184" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-35" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="587.9982392983694" y="5.003039352585901" as="geometry">
+            <mxPoint x="-13" y="-9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-36" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="587.9982392983694" y="91.0030393525859" as="geometry">
+            <mxPoint x="-13" y="-9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-37" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="587.9982392983694" y="228.00303935258592" as="geometry">
+            <mxPoint x="-13" y="-9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-38" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="587.9982392983694" y="295.0030393525859" as="geometry">
+            <mxPoint x="-13" y="-9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="MwSbNYkhp2zP1ZTl8Bha-39" value="1..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="587.9982392983694" y="368.0030393525859" as="geometry">
+            <mxPoint x="-13" y="-9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/docs/images/application-lifecycle.png b/docs/images/application-lifecycle.png
new file mode 100755 (executable)
index 0000000..583143a
Binary files /dev/null and b/docs/images/application-lifecycle.png differ
diff --git a/docs/images/architecture.png b/docs/images/architecture.png
new file mode 100755 (executable)
index 0000000..e76519b
Binary files /dev/null and b/docs/images/architecture.png differ
diff --git a/docs/images/rapp-entity-relationship.png b/docs/images/rapp-entity-relationship.png
new file mode 100755 (executable)
index 0000000..8bd6918
Binary files /dev/null and b/docs/images/rapp-entity-relationship.png differ
diff --git a/docs/images/rapp-flow.png b/docs/images/rapp-flow.png
new file mode 100755 (executable)
index 0000000..56e2ffa
Binary files /dev/null and b/docs/images/rapp-flow.png differ
diff --git a/docs/images/rapp-instance-flow.png b/docs/images/rapp-instance-flow.png
new file mode 100755 (executable)
index 0000000..3f1796f
Binary files /dev/null and b/docs/images/rapp-instance-flow.png differ
diff --git a/docs/images/rapp-instance-states.png b/docs/images/rapp-instance-states.png
new file mode 100755 (executable)
index 0000000..c9ee762
Binary files /dev/null and b/docs/images/rapp-instance-states.png differ
diff --git a/docs/images/rapp-state-events.png b/docs/images/rapp-state-events.png
new file mode 100755 (executable)
index 0000000..a429add
Binary files /dev/null and b/docs/images/rapp-state-events.png differ
diff --git a/docs/images/rapp-states.png b/docs/images/rapp-states.png
new file mode 100755 (executable)
index 0000000..191da4e
Binary files /dev/null and b/docs/images/rapp-states.png differ
diff --git a/docs/ppt/rapp-manager.pptx b/docs/ppt/rapp-manager.pptx
new file mode 100755 (executable)
index 0000000..a6516f8
Binary files /dev/null and b/docs/ppt/rapp-manager.pptx differ
diff --git a/docs/uml/application-lifecycle.puml b/docs/uml/application-lifecycle.puml
new file mode 100755 (executable)
index 0000000..3a13740
--- /dev/null
@@ -0,0 +1,18 @@
+@startuml
+participant "rApp Manager"
+participant "ACM Runtime"
+participant "CAPIF"
+
+autonumber
+
+group Application Startup
+"rApp Manager"->"CAPIF": Create "rApp Manager" as AMF
+end
+
+autonumber
+
+group Application Stop
+"rApp Manager"->"CAPIF": Delete "rApp Manager" as AMF
+end
+
+@enduml
\ No newline at end of file
diff --git a/docs/uml/rapp-flow.puml b/docs/uml/rapp-flow.puml
new file mode 100755 (executable)
index 0000000..758a786
--- /dev/null
@@ -0,0 +1,35 @@
+@startuml
+autonumber
+
+actor "API User"
+participant "rApp Manager"
+collections "File System"
+participant "ACM Runtime"
+
+group Create rApp
+"API User"->"rApp Manager": Create rApp
+"rApp Manager"->"rApp Manager": Validate rApp
+"rApp Manager"->"File System": Store rApp Package
+"rApp Manager"->"API User": Onboard rApp Status
+"API User"->"rApp Manager": Prime rApp
+"rApp Manager"->"ACM Runtime": Create ACM composition
+"ACM Runtime"->"rApp Manager": Create ACM composition Status
+"rApp Manager"->"ACM Runtime": Prime ACM composition
+"ACM Runtime"->"rApp Manager": Prime ACM composition Status
+end
+
+autonumber
+group Delete rApp
+"API User"->"rApp Manager": Deprime rApp
+"rApp Manager"->"ACM Runtime": Deprime ACM composition
+"ACM Runtime"->"rApp Manager": Deprime ACM composition Status
+"rApp Manager"->"ACM Runtime": Delete ACM composition
+"ACM Runtime"->"rApp Manager": Delete ACM composition Status
+"API User"->"rApp Manager": Delete rApp
+"rApp Manager"->"rApp Manager": Validate rApp Instances
+"rApp Manager"->"API User": Delete rApp Status
+
+end
+
+
+@enduml
\ No newline at end of file
diff --git a/docs/uml/rapp-instance-flow.puml b/docs/uml/rapp-instance-flow.puml
new file mode 100755 (executable)
index 0000000..1f3bc7c
--- /dev/null
@@ -0,0 +1,73 @@
+@startuml
+autonumber
+
+actor "API User"
+participant "rApp Manager"
+collections "File System"
+participant "ACM Runtime"
+participant "A1PMS Participant"
+participant "Kserve Participant"
+participant "K8s Participant"
+participant "CAPIF"
+
+autonumber
+group Create rApp Instance
+"API User"->"rApp Manager": Create rApp Instance
+"rApp Manager"->"API User": Create rApp Instance response
+end
+
+autonumber
+group Deploy rApp Instance
+"API User"->"rApp Manager": Deploy rApp Instance
+"rApp Manager"->"File System": Fetch rApp Package and Instance details
+    group ACM Deploy
+        "rApp Manager"->"ACM Runtime": Instantiate and Deploy ACM Instance
+        "ACM Runtime"->"A1PMS Participant": Deploy ACM Instance
+        "ACM Runtime"<--"A1PMS Participant": Response
+        "ACM Runtime"->"Kserve Participant": Deploy ACM Instance
+        "ACM Runtime"<--"Kserve Participant": Response
+        "ACM Runtime"->"K8s Participant": Deploy ACM Instance
+        "ACM Runtime"<--"K8s Participant": Response
+        "rApp Manager"->"ACM Runtime": ACM Deployment Status
+    end
+
+    group SME Deploy
+    "rApp Manager"->"CAPIF": Create CAPIF entities
+    "CAPIF"->"CAPIF": Create the entities as provided
+    "rApp Manager"<-"CAPIF": Response of CAPIF entities creation
+    end
+"API User"<-"rApp Manager": Deploy rApp Instance Status
+end
+
+autonumber
+group Undeploy rApp Instance
+"API User"->"rApp Manager": Undeploy rApp Instance
+"rApp Manager"->"File System": Fetch rApp Package and Instance details
+    group ACM Undeploy
+        "rApp Manager"->"ACM Runtime": Undeploy ACM Instance
+        "ACM Runtime"->"A1PMS Participant": Undeploy ACM Instance
+        "ACM Runtime"<--"A1PMS Participant": Response
+        "ACM Runtime"->"Kserve Participant": Undeploy ACM Instance
+        "ACM Runtime"<--"Kserve Participant": Response
+        "ACM Runtime"->"K8s Participant": Undeploy ACM Instance
+        "ACM Runtime"<--"K8s Participant": Response
+        "rApp Manager"->"ACM Runtime": ACM Undeployment Status
+        "rApp Manager"->"ACM Runtime": Delete ACM Instance
+        "rApp Manager"<-"ACM Runtime": Delete ACM Instance response
+    end
+
+    group SME Undeploy
+    "rApp Manager"->"CAPIF": Delete CAPIF entities
+    "CAPIF"->"CAPIF": Delete the entities as provided
+    "rApp Manager"<-"CAPIF": Response of CAPIF entities Deletion
+    end
+"API User"<-"rApp Manager": Undeploy rApp Instance Status
+end
+
+autonumber
+group Delete rApp Instance
+"API User"->"rApp Manager": Delete rApp Instance
+"rApp Manager"->"API User": Delete rApp Instance response
+end
+
+@enduml