Update Participant Simulator docs 02/137802/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Fri, 26 Apr 2024 08:53:55 +0000 (09:53 +0100)
committerFrancesco Fiora <francesco.fiora@est.tech>
Mon, 29 Apr 2024 08:52:12 +0000 (08:52 +0000)
Issue-ID: POLICY-4971
Change-Id: I4bb4ff00414ec1de935ed2bed3b50b4f7a0212d3
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
docs/clamp/acm/acm-participant-guide.rst
docs/clamp/acm/acm-user-guide.rst
docs/clamp/acm/design-impl/participants/participants.rst
docs/clamp/acm/design-impl/participants/sim-participant.rst [new file with mode: 0644]
docs/clamp/acm/design-impl/participants/swagger/participant-sim.json
docs/clamp/acm/draw.io/acm-participant-sim.drawio [new file with mode: 0644]
docs/clamp/acm/images/participants/sim-participant.png [new file with mode: 0644]

index a98e66b..b4ca885 100644 (file)
@@ -194,6 +194,108 @@ Any new functionality in the future will be wrapped by this class.
 Default implementation are supported for the methods: lock, unlock, update, migrate, delete, prime, deprime, handleRestartComposition and handleRestartInstance.
 
 
+Methods: deploy, undeploy, lock, unlock and delete
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  instanceElement:
+    ==============================  ===========================
+     **field**                       **description**
+    ==============================  ===========================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment    policies and policy types
+     inProperties                    instance in-properties
+      outProperties                  instance out-properties
+    ==============================  ===========================
+
+Method: update
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  instanceElement:
+    ==============================  ================================================
+     **field**                       **description**
+    ==============================  ================================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(before the update)**
+      outProperties                  instance out-properties
+    ==============================  ================================================
+  instanceElementUpdated:
+    ==============================  ======================================
+     **field**                       **description**
+    ==============================  ======================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(updated)**
+      outProperties                  instance out-properties
+    ==============================  ======================================
+
+Methods: prime, deprime
+  composition:
+    ======================  ===================================================================
+     **field**                       **description**
+    ======================  ===================================================================
+     compositionId           composition definition Id
+     inProperties            composition definition in-properties for each definition element
+     outProperties           composition definition out-properties for each definition element
+    ======================  ===================================================================
+
+Method: migrate
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  compositionElementTarget:
+    ======================  ==============================================
+     **field**                       **description**
+    ======================  ==============================================
+     compositionId           composition definition target Id
+     elementDefinitionId     composition definition target element Id
+     inProperties            composition definition target in-properties
+     outProperties           composition definition target out-properties
+    ======================  ==============================================
+  instanceElement:
+    ==============================  ===================================================
+     **field**                       **description**
+    ==============================  ===================================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(before the migration)**
+      outProperties                  instance out-properties
+    ==============================  ===================================================
+  instanceElementMigrate:
+    ==============================  ======================================
+     **field**                       **description**
+    ==============================  ======================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(updated)**
+      outProperties                  instance out-properties
+    ==============================  ======================================
+
 APIs to invoke
 --------------
 ParticipantIntermediaryApi:
@@ -665,4 +767,4 @@ error scenarios in the participant with the suitable approach.
 
 Tips:
 If the participant tries to undeploy an element which doesn’t exist in the system any more (due to various other external factors),
-it could update the element state to ‘undeployed’ using the Intermediary api.
\ No newline at end of file
+it could update the element state to ‘undeployed’ using the Intermediary api.
index faab7e6..3c56f90 100644 (file)
@@ -418,7 +418,7 @@ The Json below is an example of configuration:
 
 Update and send composition outProperites
 -----------------------------------------
-Data like useState operationalState and outProperites could be updated any time using the following endpoint:
+Composition Definition outProperites could be updated any time using the following endpoint:
 
 .. code-block:: bash
 
@@ -454,7 +454,7 @@ could be read using the following endpoint:
 
 Update and send useState operationalState and instance outProperites
 --------------------------------------------------------------------
-Data like useState operationalState and outProperites could be updated any time using the following endpoint:
+AC instance data like useState operationalState and outProperites could be updated any time using the following endpoint:
 
 .. code-block:: bash
 
@@ -466,7 +466,7 @@ The Json below is an example of update, where {{instanceId}} is the UUID of the
 
   {
         "outProperties": {
-            "Opresult": true,
+            "result": true,
             "list": [
                 {"id": 1 },
                 {"id": 2 }
index 6b12b7c..254d80c 100644 (file)
@@ -38,3 +38,4 @@ The detailed implementation of the CLAMP Participant ecosystem is described on t
    a1pms-participant
    kserve-participant
    policy-framework-participant
+   sim-participant
diff --git a/docs/clamp/acm/design-impl/participants/sim-participant.rst b/docs/clamp/acm/design-impl/participants/sim-participant.rst
new file mode 100644 (file)
index 0000000..96683a6
--- /dev/null
@@ -0,0 +1,42 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+.. _clamp-acm-sim-participant:
+
+Simulator Participant
+#####################
+
+This can be used for simulation testing purpose when there are no actual frameworks or a full deployment.
+Typically the Simulator Participant can be used with other Simulator participants with different supported element types.
+Once the microservice is up, the Simulator participants can be used to test CLAMP runtime and intermediary library.
+It supports the message Broker Kafka.
+
+.. image:: ../../images/participants/sim-participant.png
+
+Supported Element Types
+-----------------------
+Supported Element Types for Simulator participant will be used to define a whatever participant Element Definition Types in tosca template.
+Participant Supported Element Types is defined in Simulator participant application.yaml.
+The example below shows how to mock the HTTP participant:
+
+.. code-block:: YAML
+
+    participantSupportedElementTypes:
+      -
+        typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+        typeVersion: 1.0.0
+
+Supported participant Interactions:
+-----------------------------------
+The Simulator participant interacts with ACM Runtime on the northbound via Message Broker. It interacts with tester via Rest Api.
+
+The communication for the Automation Composition updates and state change requests are sent from the ACM Runtime to the participant via Message Broker.
+The tester can invoke the appropriate endpoint of the participant to change the behavior of how the participant should replay to ACM runtime.
+
+Participant Simulator API
+=========================
+
+This API allows a Participant Simulator to be started and run for test purposes.
+
+:download:`Download Policy Participant Simulator API Swagger  <swagger/participant-sim.json>`
+
+.. swaggerv2doc:: swagger/participant-sim.json
index b258f85..3be2d34 100644 (file)
 {
-    "swagger": "2.0",
+    "openapi": "3.0.1",
     "info": {
-        "description": "Api Documentation",
-        "version": "1.0",
-        "title": "Api Documentation",
-        "termsOfService": "urn:tos",
-        "contact": {},
+        "title": "ACM Mock Participant",
+        "description": "CLAMP Mock Participant API",
         "license": {
             "name": "Apache 2.0",
             "url": "http://www.apache.org/licenses/LICENSE-2.0"
         }
     },
+    "externalDocs": {
+        "description": "CLAMP Automation Composition Management Documentation",
+        "url": "https://docs.onap.org/projects/onap-policy-parent/en/latest/clamp/clamp.html"
+    },
+    "servers": [
+        {
+            "url": "http://localhost:8084/onap/policy/clamp/acm/simparticipant",
+            "description": "Generated server url"
+        }
+    ],
     "paths": {
-        "/onap/participantsim/v2/elements": {
-            "put": {
+        "/v2/parameters": {
+            "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Updates simulated automation composition elements",
-                "description": "Updates simulated automation composition elements, returning the updated automation composition definition IDs",
-                "operationId": "updateUsingPUT",
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Return all Parameters",
+                "description": "Return all the parameters configured in the Simulator Participant",
+                "operationId": "getConfig",
                 "parameters": [
                     {
-                        "in": "body",
-                        "name": "body",
-                        "description": "Body of a automation composition element",
-                        "required": true,
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
                         "schema": {
-                            "$ref": "#/definitions/AutomationCompositionElementReq",
-                            "originalRef": "AutomationCompositionElementReq"
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK, reutrns a serialised instance of [SimConfig](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/SimConfig.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
                         }
                     },
+                    "401": {
+                        "description": "Authorization Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
+                        }
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            },
+            "put": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "change the parameters",
+                "description": "Change the parameters the behaviour of the Simulator Participant",
+                "operationId": "setConfig",
+                "parameters": [
                     {
                         "name": "X-ONAP-RequestID",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/SimConfig"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/SimConfig"
+                            }
+                        }
+                    },
+                    "required": true
+                },
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "$ref": "#/definitions/TypedSimpleResponse«AutomationCompositionElement»",
-                            "originalRef": "TypedSimpleResponse«AutomationCompositionElement»"
-                        }
+                        "description": "OK, the parameters has been saved"
                     },
-                    "201": {
-                        "description": "Created"
+                    "400": {
+                        "description": "Bad Request"
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            }
+        },
+        "/v2/datas": {
+            "get": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "Query details of the requested internal datas",
+                "description": "Query details of the requested internal datas",
+                "operationId": "getDatas",
+                "parameters": [
+                    {
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Serialised instance of [InternalDatas](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/InternalDatas.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "403": {
+                    "401": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
+                ]
+            },
+            "put": {
+                "tags": [
+                    "Simulator-participant-controller"
                 ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
+                "summary": "change the parameters",
+                "description": "Change the data of the Simulator Participant",
+                "operationId": "setData",
+                "parameters": [
+                    {
+                        "name": "X-ONAP-RequestID",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        }
+                    },
+                    "required": true
+                },
+                "responses": {
+                    "200": {
+                        "description": "OK, the data has been saved"
+                    },
+                    "400": {
+                        "description": "Bad Request"
+                    },
+                    "401": {
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
             }
         },
-        "/onap/participantsim/v2/elements/{name}/{version}": {
+        "/v2/compositiondatas": {
             "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Query details of the requested simulated automation composition elements",
-                "description": "Queries details of the requested simulated automation composition elements, returning all automation composition element details",
-                "operationId": "elementsUsingGET",
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Query details of the requested internal composition datas",
+                "description": "Query details of the requested internal composition datas",
+                "operationId": "getCompositionDatas",
                 "parameters": [
                     {
-                        "name": "name",
-                        "in": "path",
-                        "description": "Automation Composition element name",
-                        "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "version",
-                        "in": "path",
-                        "description": "Automation Composition element version",
-                        "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "X-ONAP-RequestID",
+                        "name": "X-onap-RequestId",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "type": "object",
-                            "additionalProperties": {
-                                "$ref": "#/definitions/AutomationCompositionElementRes",
-                                "originalRef": "AutomationCompositionElementRes"
+                        "description": "Serialised instance of [InternalDatas](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/InternalDatas.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
-                            }
-                        }
-                    },
-                    "403": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
-            }
-        },
-        "/onap/participantsim/v2/participants": {
+                ]
+            },
             "put": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Updates simulated participants",
-                "description": "Updates simulated participants, returning the updated automation composition definition IDs",
-                "operationId": "updateUsingPUT_1",
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "change the parameters",
+                "description": "Change the data of the Simulator Participant",
+                "operationId": "setCompositionData",
                 "parameters": [
-                    {
-                        "in": "body",
-                        "name": "body",
-                        "description": "Body of a participant",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/ParticipantReq",
-                            "originalRef": "ParticipantReq"
-                        }
-                    },
                     {
                         "name": "X-ONAP-RequestID",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        }
+                    },
+                    "required": true
+                },
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "$ref": "#/definitions/TypedSimpleResponse«Participant»",
-                            "originalRef": "TypedSimpleResponse«Participant»"
-                        }
+                        "description": "OK, the data has been saved"
                     },
-                    "201": {
-                        "description": "Created"
+                    "400": {
+                        "description": "Bad Request"
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            }
+        },
+        "/v2/instances": {
+            "get": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "Query details of the requested automation composition instances",
+                "description": "Query details of the requested automation composition instances for the given automation composition definition ID, returning details of all its automation composition instances",
+                "operationId": "getAutomationCompositions",
+                "parameters": [
+                    {
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Serialised instance of [AutomationCompositions](https://github.com/onap/policy-clamp/blob/master/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositions.java) containing a list of automation composition instances found",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     },
-                    "403": {
+                    "401": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
+                ]
             }
         },
-        "/onap/participantsim/v2/participants/{name}/{version}": {
+        "/v2/instances/{instanceId}": {
             "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Query details of the requested simulated participants",
-                "description": "Queries details of the requested simulated participants, returning all participant details",
-                "operationId": "participantsUsingGET",
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Get automation composition instance details.",
+                "description": "Get details of the requested automation composition instance.",
+                "operationId": "getAutomationComposition",
                 "parameters": [
                     {
-                        "name": "name",
+                        "name": "instanceId",
                         "in": "path",
-                        "description": "Participant name",
+                        "description": "The UUID of the automation composition instance to get",
                         "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "version",
-                        "in": "path",
-                        "description": "Participant version",
-                        "required": true,
-                        "type": "string"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     },
                     {
-                        "name": "X-ONAP-RequestID",
+                        "name": "X-onap-RequestId",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "type": "array",
-                            "items": {
-                                "$ref": "#/definitions/ParticipantRes",
-                                "originalRef": "ParticipantRes"
+                        "description": "Serialised instance of [AutomationComposition](https://github.com/onap/policy-clamp/blob/master/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java) containing the automation composition instance",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
-                            }
-                        }
-                    },
-                    "403": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
+                ]
+            }
+        }
+    },
+    "components": {
+        "schemas": {
+            "SimConfig": {
+                "type": "object",
+                "properties": {
+                    "deploySuccess": {
+                        "type": "boolean"
+                    },
+                    "undeploySuccess": {
+                        "type": "boolean"
+                    },
+                    "lockSuccess": {
+                        "type": "boolean"
+                    },
+                    "unlockSuccess": {
+                        "type": "boolean"
+                    },
+                    "deleteSuccess": {
+                        "type": "boolean"
+                    },
+                    "updateSuccess": {
+                        "type": "boolean"
+                    },
+                    "migrateSuccess": {
+                        "type": "boolean"
+                    },
+                    "primeSuccess": {
+                        "type": "boolean"
+                    },
+                    "deprimeSuccess": {
+                        "type": "boolean"
+                    },
+                    "deployTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "undeployTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "lockTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "unlockTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "updateTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "migrateTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "deleteTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "primeTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "deprimeTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    }
+                }
+            },
+            "InternalData": {
+                "type": "object",
+                "properties": {
+                    "intProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "outProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "compositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionDefinitionElementId": {
+                        "$ref": "#/components/schemas/ToscaConceptIdentifier"
+                    },
+                    "automationCompositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "automationCompositionElementId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "useState": {
+                        "type": "string"
+                    },
+                    "operationalState": {
+                        "type": "string"
+                    }
+                }
+            },
+            "ToscaConceptIdentifier": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    }
+                }
+            },
+            "AutomationComposition": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    },
+                    "derivedFrom": {
+                        "type": "string"
+                    },
+                    "metadata": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "description": {
+                        "type": "string"
+                    },
+                    "instanceId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionTargetId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "restarting": {
+                        "type": "boolean"
+                    },
+                    "deployState": {
+                        "type": "string",
+                        "enum": [
+                            "DEPLOYED",
+                            "DEPLOYING",
+                            "UNDEPLOYED",
+                            "UNDEPLOYING",
+                            "DELETING",
+                            "DELETED",
+                            "UPDATING",
+                            "MIGRATING"
+                        ]
+                    },
+                    "lockState": {
+                        "type": "string",
+                        "enum": [
+                            "LOCKED",
+                            "LOCKING",
+                            "UNLOCKED",
+                            "UNLOCKING",
+                            "NONE"
+                        ]
+                    },
+                    "elements": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "$ref": "#/components/schemas/AutomationCompositionElement"
+                        }
+                    },
+                    "stateChangeResult": {
+                        "type": "string",
+                        "enum": [
+                            "NO_ERROR",
+                            "FAILED",
+                            "TIMEOUT"
+                        ]
+                    },
+                    "definedName": {
+                        "type": "string"
+                    },
+                    "definedVersion": {
+                        "type": "string"
+                    },
+                    "typeVersion": {
+                        "type": "string"
+                    },
+                    "key": {
+                        "$ref": "#/components/schemas/ToscaEntityKey"
+                    },
+                    "type": {
+                        "type": "string"
+                    }
+                }
+            },
+            "AutomationCompositionElement": {
+                "type": "object",
+                "properties": {
+                    "id": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "definition": {
+                        "$ref": "#/components/schemas/ToscaConceptIdentifier"
+                    },
+                    "participantId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "restarting": {
+                        "type": "boolean"
+                    },
+                    "deployState": {
+                        "type": "string",
+                        "enum": [
+                            "DEPLOYED",
+                            "DEPLOYING",
+                            "UNDEPLOYED",
+                            "UNDEPLOYING",
+                            "DELETING",
+                            "DELETED",
+                            "UPDATING",
+                            "MIGRATING"
+                        ]
+                    },
+                    "lockState": {
+                        "type": "string",
+                        "enum": [
+                            "LOCKED",
+                            "LOCKING",
+                            "UNLOCKED",
+                            "UNLOCKING",
+                            "NONE"
+                        ]
+                    },
+                    "operationalState": {
+                        "type": "string"
+                    },
+                    "useState": {
+                        "type": "string"
+                    },
+                    "description": {
+                        "type": "string"
+                    },
+                    "message": {
+                        "type": "string"
+                    },
+                    "properties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "outProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    }
+                }
+            },
+            "AutomationCompositions": {
+                "type": "object",
+                "properties": {
+                    "automationCompositionList": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/components/schemas/AutomationComposition"
+                        }
+                    }
+                }
+            },
+            "ToscaEntityKey": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    }
+                }
+            },
+            "InternalDatas": {
+                "type": "object",
+                "properties": {
+                    "list": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/components/schemas/InternalData"
+                        }
+                    }
                 }
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/docs/clamp/acm/draw.io/acm-participant-sim.drawio b/docs/clamp/acm/draw.io/acm-participant-sim.drawio
new file mode 100644 (file)
index 0000000..5bcab9c
--- /dev/null
@@ -0,0 +1,305 @@
+<mxfile host="app.diagrams.net" modified="2024-04-25T08:32:23.823Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" etag="aqt378V_5LFppGlvXt5Y" version="24.3.0" type="device" pages="2">
+  <diagram name="A1PMS" id="EQz7CeIsnqjb-CRsskzZ">
+    <mxGraphModel dx="2634" dy="738" 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="BEZJXQmxWPO11OeoHs-X-2" value="ACM Runtime" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="44" y="28" width="156" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-3" value="Kafka" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
+          <mxGeometry x="-175" y="201" width="602" height="39" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-4" value="Participant Simulator" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;verticalAlign=top;" parent="1" vertex="1">
+          <mxGeometry x="12" y="333" width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-5" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Automation Composition Element A&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;size=15;" parent="1" vertex="1">
+          <mxGeometry x="-558" y="257" width="220" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-10" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-5" target="BEZJXQmxWPO11OeoHs-X-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-8" y="7" as="sourcePoint" />
+            <mxPoint x="37" y="-45.75" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-11" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.318;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.586;exitY=0.057;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-8" edge="1" source="TKIm4hqrSRE_Ot67SPcm-1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-669" y="337" as="sourcePoint" />
+            <mxPoint x="-608.2950000000001" y="156.002" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-8" value="Tester (CSIT, Performance Test, User)" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="-647" y="25" width="151" height="97" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-14" value="Automation Composition Element A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="27" y="378" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-15" value="Automation Composition Element B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="27" y="450" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-37" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-39" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="109" as="sourcePoint" />
+            <mxPoint x="156" y="151" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-38" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-39" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="201" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-39" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="149" y="150" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-40" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-42" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="240" as="sourcePoint" />
+            <mxPoint x="87" y="282" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="85" y="273" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-41" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-42" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-42" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-43" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-45" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="240" as="sourcePoint" />
+            <mxPoint x="159" y="282" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-44" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-45" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-45" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="152" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-46" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-48" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="110" as="sourcePoint" />
+            <mxPoint x="87" y="152" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-47" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-48" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="202" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-48" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="151" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-50" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=-0.009;exitY=0.617;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.993;entryY=0.905;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-15" target="BEZJXQmxWPO11OeoHs-X-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="256" y="426" as="sourcePoint" />
+            <mxPoint x="413" y="416" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-51" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-461.5" y="105" width="61" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-52" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="143" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-53" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="274" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-54" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="159" y="139.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-55" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="162" y="270.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="rvGSiY4AJXrMUw3_xQ0a-1" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-14" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="250" y="484" as="sourcePoint" />
+            <mxPoint x="-497" y="111" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-1" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Automation Composition Element B&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;size=14;" vertex="1" parent="1">
+          <mxGeometry x="-830" y="257" width="220" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-3" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" edge="1" parent="1" target="BEZJXQmxWPO11OeoHs-X-8">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="42" y="68" as="sourcePoint" />
+            <mxPoint x="-511" y="64" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-4" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="-469.5" y="40" width="61" height="31" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="7EV7rOq7FkkVQS_sMw84" name="Kserve">
+    <mxGraphModel dx="2397" dy="1412" 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="yh-L3AtmC00XoUG_2nvY-11" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;dashed=1;dashPattern=12 12;" vertex="1" parent="1">
+          <mxGeometry x="-261" y="-213" width="1024" height="778" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-1" value="CLAMP-ACM&lt;br&gt;GUI" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#b1ddf0;strokeColor=#10739e;" parent="1" vertex="1">
+          <mxGeometry x="47" y="-103" width="153" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-2" value="Automation Composition Runtime (CLAMP-ACM)" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="44" y="28" width="156" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-3" value="Kafka" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
+          <mxGeometry x="-232" y="201" width="760" height="39" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-5" value="Kserve Participant Automation Composition Element Configuration for Automation Composition A&lt;br&gt;&lt;br&gt;- Define Inference Service Entities&lt;br&gt;&amp;nbsp; + Sequence of Inference Services&lt;br&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Name&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Namespace&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Payload&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="-553" y="-227" width="273" height="224" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-6" value="Kserve Participant Automation Composition Element Configuration for Automation Composition B&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;- Define Inference Service Entities&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&amp;nbsp; + Sequence of Inference Services&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;- Name&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Namespace&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Payload&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="-556" y="24" width="274" height="204" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-7" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.996;exitY=0.278;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-5" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2" y="-30" as="sourcePoint" />
+            <mxPoint x="52" y="-80" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-8" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=1.022;exitY=0.288;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.015;entryY=0.632;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-6" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-293" y="-157" as="sourcePoint" />
+            <mxPoint x="54" y="-73" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-9" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-2" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="67" y="28" as="sourcePoint" />
+            <mxPoint x="117" y="-22" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-11" value="Inference Service for Automation Composition A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="430" y="352" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-12" value="Inference Service for Automation Composition B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="591" y="352" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-15" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-17" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="109" as="sourcePoint" />
+            <mxPoint x="156" y="151" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-16" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-17" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="201" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-17" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="149" y="150" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-18" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-20" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="240" as="sourcePoint" />
+            <mxPoint x="87" y="282" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="85" y="273" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-19" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-20" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-20" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-21" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-23" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="240" as="sourcePoint" />
+            <mxPoint x="159" y="282" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-22" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-23" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-23" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="152" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-24" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-26" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="110" as="sourcePoint" />
+            <mxPoint x="87" y="152" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-25" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-26" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="202" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-26" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="151" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-29" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="143" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-30" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="274" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-31" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="159" y="139.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-32" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="162" y="270.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-6" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-36" target="hDoWaCIZZ_nO79t9Hxqc-12">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-7" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.545;entryY=0.979;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-36" target="hDoWaCIZZ_nO79t9Hxqc-11">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-36" value="Kserve" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="511" y="453" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-2" value="" style="group" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="8" y="333" width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-38" value="Kserve Paricipant" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="45" width="143" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-13" value="Kserve Automation Composition Element for Automation Composition A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="15" y="31" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-14" value="Kserve Automation Composition Element for Automation Composition B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="15.5" y="103" width="210.5" height="62" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-5" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-36">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="388" y="423" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-3" value="K8s API" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=api;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="299" y="377" width="122" height="83" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-9" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-4">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="322" y="425" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-10" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="252" y="393" width="61" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-12" value="K8s Cluster" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="646" y="-200" width="101" height="31" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/docs/clamp/acm/images/participants/sim-participant.png b/docs/clamp/acm/images/participants/sim-participant.png
new file mode 100644 (file)
index 0000000..8ceabb1
Binary files /dev/null and b/docs/clamp/acm/images/participants/sim-participant.png differ