diff options
Diffstat (limited to 'docs')
109 files changed, 1023 insertions, 123 deletions
diff --git a/docs/clamp/acm/acm-states.rst b/docs/clamp/acm/acm-states.rst new file mode 100644 index 00000000..f6a10e66 --- /dev/null +++ b/docs/clamp/acm/acm-states.rst @@ -0,0 +1,52 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +.. _acm-states-label: + +ACM States +########## + +.. contents:: + :depth: 4 + +Automation Composition Management manages a number of states of various types to manage the lifecycle of compositions. Those states are described here. Please also see the ACM System Level Dialogues page to see the system dialogues that change states and how states interrelate in detail. Please also see ITU Recommendation X.731, which is reflected in the states of AC Element Instances. + +Participant State +================= +Participant states are NOT managed by ACM but the state of a participant is recorded and supervised by ACM. + +.. image:: images/acm-states/ParticipantStates.png + + +Automation Composition Type State +================================= +The states that an Automation Composition Type can have are shown in the diagram below. + +.. image:: images/acm-states/AcTypeStates.png + +Automation Composition Element Type State +========================================= +The states that an Automation Composition Element Type can have on ACM Runtime are shown in the diagram below. + +.. image:: images/acm-states/AcElementTypeStatesOnRuntime.png + +The states that an Automation Composition Element Type can have on a Participant are shown in the diagram below. + +.. image:: images/acm-states/AcElementTypeStatesOnPpnt.png + +Automation Composition Instance State +===================================== +The states that an Automation Composition Instance can have are shown in the diagram below. + +.. image:: images/acm-states/AcInstanceStates.png + +Automation Composition Element Instance State +============================================= +The states that an Automation Composition Element Instance can have on ACM Runtime are shown in the diagram below. + +.. image:: images/acm-states/AcElementInstanceStatesOnRuntime.png + +The states that an Automation Composition Element Instance can have on a Participant are shown in the diagram below. + +.. image:: images/acm-states/AcElementInstanceStatesOnPpnt.png + +End of Document diff --git a/docs/clamp/acm/api-protocol/system-level-dialogues.rst b/docs/clamp/acm/api-protocol/system-level-dialogues.rst index 6d3f82d6..4ffcbe69 100644 --- a/docs/clamp/acm/api-protocol/system-level-dialogues.rst +++ b/docs/clamp/acm/api-protocol/system-level-dialogues.rst @@ -2,200 +2,206 @@ .. _system-level-label: -System Level Dialogues -###################### +ACM System Level Dialogues +########################## +Priming The CLAMP Automation Composition Runtime Lifecycle Management uses the following system-level dialogues. These dialogues enable the CLAMP runtime capabilities described in Section 2 of TOSCA Defined Automation Compositions: Architecture and Design. Design Time dialogues will be described in future releases of the system. .. contents:: :depth: 4 -The CLAMP Automation Composition Runtime Lifecycle Management uses the following system level -dialogues. These dialogues enable the CLAMP runtime capabilities described in -:ref:`Section 2 of TOSCA Defined Automation Compositions: Architecture and Design <acm-capabilities>`. -Design Time dialogues will be described in future releases of the system. - +1 Dialogues on Participants +=========================== +1.1 Register a Participant +-------------------------- -1 Commissioning Dialogues -========================= +Participant Registration is performed by a Participant when it starts up. It registers its ID and the ACM Element Types it supports with the ACM runtime. -Commissioning dialogues are used to commission and decommission Automation Composition Type -definitions and to set the values of Common Parameters. +.. image:: ../images/system-dialogues/RegisterParticipant.png -Commissioning an Automation Composition Type is a three-step process: +1.2 Deregister a Participant +---------------------------- +Participant Deregistration is performed by a Participant when it shuts down. It deregisters its ID and type with the ACM runtime. The participant should already have cleared down all its ACM Element instances and set their states to "Not In Service". -#. The Automation Composition Type must be created, that is the Automation Composition Type - definition must be loaded and stored in the database. This step may be carried out over the - REST interface or using SDC distribution. +.. image:: ../images/system-dialogues/DeregisterParticipant.png -#. The Common Properties of the Automation Composition type must be assigned values and those - values must be stored in the database. This step is optional only if all mandatory common - properties have default values. The Common Property values may be set and amended over and - over again in multiple sessions until the Automation Composition Type is primed. +1.3 Supervise Participants +-------------------------- +Participant Supervision is performed periodically between participants and the ACM runtime server to ensure that registered participants are available over time. Participants send a heartbeat message to the ACM runtime at a configured interval. The heartbeat message contains updated status information for each AC Element Instance that has changed status since the last Heartbeat message sent by the participant. -#. The Automation Composition Type Definition and the Common Property values must be primed, - which is sent to the concerned participants. Once an Automation Composition Type is primed, - its Common Property values can no longer be changed. To change Common Properties on a primed - Automation Composition Type, all instances of the Automation Composition Type must be removed - and the Automation Composition Type must be de-primed. +.. image:: ../images/system-dialogues/SuperviseParticipantsStatusUpdate.png -1.1 Commissioning an Automation Composition Type Definition using the CLAMP GUI -------------------------------------------------------------------------------- +The ACM runtime regularly checks the heartbeat reports from participants and takes action if participants time out. If a heartbeat message is not received for a participant in the Timeout Interval, the participant is marked as timed out and its ACM element instances are informed. -This dialogue corresponds to a "File → Import" menu on the CLAMP GUI. The documentation of -future releases of the system will describe how the Design Time functionality interacts -with the Runtime commissioning API. +.. image:: ../images/system-dialogues/SuperviseParticipantsTimeout.png -.. image:: ../images/system-dialogues/comissioning-clamp-gui.png +1.4 Get Participant Information +------------------------------- +The information on participants is available over a REST endpoint. -1.2 Commissioning an Automation Composition Type Definition using SDC ---------------------------------------------------------------------- +.. image:: ../images/system-dialogues/GetParticipantInformation.png -.. image:: ../images/system-dialogues/comissioning-sdc.png +1.5 Order Full Participant Report +--------------------------------- -1.3 Setting Common Properties for an Automation Composition Type Definition ---------------------------------------------------------------------------- +.. image:: ../images/system-dialogues/FullParticipantReport.png -This dialogue sets the values of common properties. The values of the common properties -may be set, updated, or deleted at will, as this dialogue saves the properties to the -database but does not send the definitions or properties to the participants. However, -once an Automation Composition Type Definition and its properties are primed -(See :ref:`Section 1.4 <priming-acm-label>`), the properties cannot be changed until the -Automation Composition type definition is de-primed (See -:ref:`Section 1.5 <depriming-acm-label>`). +2 Dialogues on Automation Composition Types +=========================================== +Commissioning dialogues are used to commission and decommission Automation Composition Types and to set the values of Common Parameters. The values of common parameters are included in the TOSCA YAML file that defines the full Automation Composition Type. -.. image:: ../images/system-dialogues/common-properties-type-definition.png +2.1 Commission or Update an Automation Composition Type +------------------------------------------------------- +Create on a POST and update on a PUT. -.. _priming-acm-label: +.. image:: ../images/system-dialogues/CommissionUpdateAcType.png -1.4 Priming an Automation Composition Type Definition on Participants ---------------------------------------------------------------------- -The Priming operation sends Automation Composition Type definitions and common property values -to participants. Once an Automation Composition Type definition is primed, its property values -can on longer be changed until it is de-primed. +2.2 Commission an Automation Composition Type using SDC +------------------------------------------------------- -.. image:: ../images/system-dialogues/priming-acm-type-definition.png +.. image:: ../images/system-dialogues/CommissionAcTypeSDC.png -.. _depriming-acm-label: +2.3 Decommission an Automation Composition Type +----------------------------------------------- -1.5 De-Prime an Automation Composition Type Definition on Participants ----------------------------------------------------------------------- +.. image:: ../images/system-dialogues/DecommissionAcType.png -This dialogue allows an Automation Composition Type Definition to be de-primed so that it can be -deleted or its common parameter values can be altered. +2.4 Prime an Automation Composition Type on Participants +-------------------------------------------------------- +The Priming operation sends Automation Composition Types and common property values to participants for each Automation Composition Element Type in the Automation Composition Type. -.. image:: ../images/system-dialogues/depriming-acm-type-definition.png +.. image:: ../images/system-dialogues/PrimeAcTypeOnPpnts.png -1.6 Decommissioning an Automation Composition Type Definition in CLAMP ----------------------------------------------------------------------- +A participant should respond for each Automation Composition Element Type, thus causing the full Automation Composition Type to become primed. Note that if more than one participant can support an Automation Composition Element Type the ACM Runtime uses the participant in the first response it receives for that Automation Composition Element Type. -.. image:: ../images/system-dialogues/decommission-acm-type-definition.png +.. image:: ../images/system-dialogues/PrimeAcTypeMultiplePpnts.png -1.7 Reading Commissioned Automation Composition Type Definitions ----------------------------------------------------------------- +The ACM Runtime updates the priming information in the database. -.. image:: ../images/system-dialogues/read-commision-acm-type-definition.png +.. image:: ../images/system-dialogues/PrimeInfoUpdatedInDb.png +2.5 Deprime an Automation Composition Type on Participants +---------------------------------------------------------- +The Depriming operation removes Automation Composition Types and common property values on participants for each Automation Composition Element Type in the Automation Composition Type. -2. Instantiation Dialogues -========================== +.. image:: ../images/system-dialogues/DeprimeOnParticipants.png -Instantiation dialogues are used to create, set parameters on, instantiate, update, -and remove Automation Composition instances. +A participant should respond for each Automation Composition Element Type, thus causing the full Automation Composition Type to become deprimed. -Assume a suitable Automation Composition Definition exists in the Commissioned Automation -Composition Inventory. -To get an Automation Composition instance running one would, for example, execute dialogues -:ref:`2.1 <creating-acm-instance>`, :ref:`2.3 <updating-acm-instance-config>`, and -:ref:`2.4 <changing-acm-instance-state>`. +.. image:: ../images/system-dialogues/DeprimeElements.png -.. _creating-acm-instance: +The ACM Runtime updates the priming information in the database. -2.1 Creating an Automation Composition Instance ------------------------------------------------ +.. image:: ../images/system-dialogues/UpdateDeprimeInDb.png -.. image:: ../images/system-dialogues/create-acm-instance.png +2.6 Get Automation Composition Types +------------------------------------ +This dialogue allows an Automation Composition Type to be read. -.. note:: - This dialogue creates the Automation Composition Instance in the Instantiated Automation - Composition Inventory. The instance is sent to the participants using the process described - in the dialogue in :ref:`Section 2.3 <updating-acm-instance-config>`. +.. image:: ../images/system-dialogues/GetAcTypes.png -2.2 Updating Instance Specific Parameters on an Automation Composition Instance -------------------------------------------------------------------------------- +3. Instantiation Dialogues +========================== +Instantiation dialogues are used to create, set parameters on, instantiate, update, and remove Automation Composition instances. -.. image:: ../images/system-dialogues/update-instance-params-acm.png +3.1 Create an Automation Composition Instance +--------------------------------------------- -.. _updating-acm-instance-config: +.. image:: ../images/system-dialogues/CreateAcInstance.png -2.3 Updating an Automation Composition Instance with a Configuration on Participants ------------------------------------------------------------------------------------- +Note that this dialogue creates the Automation Composition Instance in the ACM database. The instance is sent to the participants using the process described in the dialogue in Section 3.3. -.. image:: ../images/system-dialogues/update-acm-instance-config-participants.png +3.2 Delete an Automation Composition Instance +--------------------------------------------- -.. _changing-acm-instance-state: +.. image:: ../images/system-dialogues/DeleteAcInstance.png -2.4 Changing the state of an Automation Composition Instance on Participants ----------------------------------------------------------------------------- +3.3 Deploy Automation Composition Instance +------------------------------------------ +The user requests the AC Instance to be deployed using a REST endpoint. The ACM Runtime orders the AC Instance to be deployed to Participants. -.. image:: ../images/system-dialogues/change-acm-instance-state-participants.png +.. image:: ../images/system-dialogues/DeployAcInstance.png -2.5 De-instantiating an Automation Composition Instance from Participants -------------------------------------------------------------------------- +Each participant deploys its AC Element Instances from the AC Instance. -.. image:: ../images/system-dialogues/deinstantiate-acm-from-participants.png +.. image:: ../images/system-dialogues/DeployAcInstanceElements.png -2.6 Deleting an Automation Composition Instance ------------------------------------------------ +The ACM Runtime receives and stores the responses. -.. image:: ../images/system-dialogues/delete-acm-instance.png +.. image:: ../images/system-dialogues/DeployResponseStored.png -2.7 Reading Automation Composition Instances +3.4 Undeploy Automation Composition Instance -------------------------------------------- +The user requests the AC Instance to be undeployed using a REST endpoint. The ACM Runtime orders the AC Instance to be undeployed. -.. image:: ../images/system-dialogues/read-acm-instance.png +.. image:: ../images/system-dialogues/UndeployInstance.png +Each participant undeploys its AC Element Instances from the AC Instance -3. Monitoring Dialogues -======================= +.. image:: ../images/system-dialogues/UndeployInstanceElements.png -Monitoring dialogues are used to monitor and to read statistics on Automation Composition Instances. +The ACM Runtime receives and stores the responses. -3.1 Reporting of Monitoring Information and Statistics by Participants ----------------------------------------------------------------------- +.. image:: ../images/system-dialogues/UndeployResponseStored.png -.. image:: ../images/system-dialogues/monitoring-by-participants.png +3.5 Read Automation Composition Instances +----------------------------------------- -3.2 Viewing of Monitoring Information -------------------------------------- +.. image:: ../images/system-dialogues/ReadAcInstances.png -.. image:: ../images/system-dialogues/view-monitoring-info.png +3.6 Unlock Automation Composition Instance +------------------------------------------ +The user requests the AC Instance to be unlocked using a REST endpoint. The ACM Runtime orders the AC Instance to be unlocked on Participants. -3.2 Viewing of Statistics -------------------------- +.. image:: ../images/system-dialogues/OrderInstanceUnlock.png -.. image:: ../images/system-dialogues/view-statistics.png +Each participant unlocks its AC Element Instances from the AC Instance. -3.3 Statistics Housekeeping ---------------------------- +.. image:: ../images/system-dialogues/UnlockInstanceElements.png -.. image:: ../images/system-dialogues/statistics-housekeeping.png +The ACM Runtime receives and stores the responses. +.. image:: ../images/system-dialogues/UnlockResponseStored.png -4. Supervision Dialogues -======================== +3.7 Lock Automation Composition Instance +---------------------------------------- +The user requests the AC Instance to be locked using a REST endpoint. The ACM Runtime orders the AC Instance to be locked on Participants. -Supervision dialogues are used to check the state of Automation Composition Instances and -Participants. +.. image:: ../images/system-dialogues/LockAcInstance.png -4.1 Supervise Participants --------------------------- +Each participant locks its AC Element Instances from the AC Instance. + +.. image:: ../images/system-dialogues/LockAcInstanceElements.png + +The ACM Runtime receives and stores the responses. + +.. image:: ../images/system-dialogues/LockResponseStored.png -.. image:: ../images/system-dialogues/supervise-participants.png +3.8 Update Operational State on Automation Composition Instance +--------------------------------------------------------------- -4.2 Supervise Automation Compositions -------------------------------------- +.. image:: ../images/system-dialogues/UpdateOperationalState.png -.. image:: ../images/system-dialogues/supervise-acms.png +3.9 Update Usage State on Automation Composition Instance +--------------------------------------------------------- + +.. image:: ../images/system-dialogues/UpdateUsageState.png End of Document + + + + + + + + + + + + + + + + diff --git a/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnPpnt.png b/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnPpnt.png Binary files differnew file mode 100644 index 00000000..baf9f770 --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnPpnt.png diff --git a/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnRuntime.png b/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnRuntime.png Binary files differnew file mode 100644 index 00000000..ca9b2c1e --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcElementInstanceStatesOnRuntime.png diff --git a/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnPpnt.png b/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnPpnt.png Binary files differnew file mode 100644 index 00000000..1aef2c8b --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnPpnt.png diff --git a/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnRuntime.png b/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnRuntime.png Binary files differnew file mode 100644 index 00000000..57c8abc1 --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcElementTypeStatesOnRuntime.png diff --git a/docs/clamp/acm/images/acm-states/AcInstanceStates.png b/docs/clamp/acm/images/acm-states/AcInstanceStates.png Binary files differnew file mode 100644 index 00000000..72dff824 --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcInstanceStates.png diff --git a/docs/clamp/acm/images/acm-states/AcTypeStates.png b/docs/clamp/acm/images/acm-states/AcTypeStates.png Binary files differnew file mode 100644 index 00000000..d1d7c55f --- /dev/null +++ b/docs/clamp/acm/images/acm-states/AcTypeStates.png diff --git a/docs/clamp/acm/images/acm-states/ParticipantStates.png b/docs/clamp/acm/images/acm-states/ParticipantStates.png Binary files differnew file mode 100644 index 00000000..64e7ffd2 --- /dev/null +++ b/docs/clamp/acm/images/acm-states/ParticipantStates.png diff --git a/docs/clamp/acm/images/system-dialogues/CommissionAcTypeSDC.png b/docs/clamp/acm/images/system-dialogues/CommissionAcTypeSDC.png Binary files differnew file mode 100644 index 00000000..fe8cd199 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/CommissionAcTypeSDC.png diff --git a/docs/clamp/acm/images/system-dialogues/CommissionUpdateAcType.png b/docs/clamp/acm/images/system-dialogues/CommissionUpdateAcType.png Binary files differnew file mode 100644 index 00000000..399413ea --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/CommissionUpdateAcType.png diff --git a/docs/clamp/acm/images/system-dialogues/CreateAcInstance.png b/docs/clamp/acm/images/system-dialogues/CreateAcInstance.png Binary files differnew file mode 100644 index 00000000..bde20a56 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/CreateAcInstance.png diff --git a/docs/clamp/acm/images/system-dialogues/DecommissionAcType.png b/docs/clamp/acm/images/system-dialogues/DecommissionAcType.png Binary files differnew file mode 100644 index 00000000..bd9a05b5 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DecommissionAcType.png diff --git a/docs/clamp/acm/images/system-dialogues/DeleteAcInstance.png b/docs/clamp/acm/images/system-dialogues/DeleteAcInstance.png Binary files differnew file mode 100644 index 00000000..ab6e2795 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeleteAcInstance.png diff --git a/docs/clamp/acm/images/system-dialogues/DeployAcInstance.png b/docs/clamp/acm/images/system-dialogues/DeployAcInstance.png Binary files differnew file mode 100644 index 00000000..6465f2d5 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeployAcInstance.png diff --git a/docs/clamp/acm/images/system-dialogues/DeployAcInstanceElements.png b/docs/clamp/acm/images/system-dialogues/DeployAcInstanceElements.png Binary files differnew file mode 100644 index 00000000..0b8cc2b4 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeployAcInstanceElements.png diff --git a/docs/clamp/acm/images/system-dialogues/DeployResponseStored.png b/docs/clamp/acm/images/system-dialogues/DeployResponseStored.png Binary files differnew file mode 100644 index 00000000..5f7ef3ba --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeployResponseStored.png diff --git a/docs/clamp/acm/images/system-dialogues/DeprimeElements.png b/docs/clamp/acm/images/system-dialogues/DeprimeElements.png Binary files differnew file mode 100644 index 00000000..b4b2338c --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeprimeElements.png diff --git a/docs/clamp/acm/images/system-dialogues/DeprimeOnParticipants.png b/docs/clamp/acm/images/system-dialogues/DeprimeOnParticipants.png Binary files differnew file mode 100644 index 00000000..28c5f546 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeprimeOnParticipants.png diff --git a/docs/clamp/acm/images/system-dialogues/DeregisterParticipant.png b/docs/clamp/acm/images/system-dialogues/DeregisterParticipant.png Binary files differnew file mode 100644 index 00000000..c37c5785 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/DeregisterParticipant.png diff --git a/docs/clamp/acm/images/system-dialogues/FullParticipantReport.png b/docs/clamp/acm/images/system-dialogues/FullParticipantReport.png Binary files differnew file mode 100644 index 00000000..cd6c7cf8 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/FullParticipantReport.png diff --git a/docs/clamp/acm/images/system-dialogues/GetAcTypes.png b/docs/clamp/acm/images/system-dialogues/GetAcTypes.png Binary files differnew file mode 100644 index 00000000..88025c96 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/GetAcTypes.png diff --git a/docs/clamp/acm/images/system-dialogues/GetParticipantInformation.png b/docs/clamp/acm/images/system-dialogues/GetParticipantInformation.png Binary files differnew file mode 100644 index 00000000..f3923c1e --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/GetParticipantInformation.png diff --git a/docs/clamp/acm/images/system-dialogues/LockAcInstance.png b/docs/clamp/acm/images/system-dialogues/LockAcInstance.png Binary files differnew file mode 100644 index 00000000..1e8bb4c3 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/LockAcInstance.png diff --git a/docs/clamp/acm/images/system-dialogues/LockAcInstanceElements.png b/docs/clamp/acm/images/system-dialogues/LockAcInstanceElements.png Binary files differnew file mode 100644 index 00000000..20bd92d4 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/LockAcInstanceElements.png diff --git a/docs/clamp/acm/images/system-dialogues/LockResponseStored.png b/docs/clamp/acm/images/system-dialogues/LockResponseStored.png Binary files differnew file mode 100644 index 00000000..f50b187c --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/LockResponseStored.png diff --git a/docs/clamp/acm/images/system-dialogues/OrderInstanceUnlock.png b/docs/clamp/acm/images/system-dialogues/OrderInstanceUnlock.png Binary files differnew file mode 100644 index 00000000..def21e54 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/OrderInstanceUnlock.png diff --git a/docs/clamp/acm/images/system-dialogues/PrimeAcTypeMultiplePpnts.png b/docs/clamp/acm/images/system-dialogues/PrimeAcTypeMultiplePpnts.png Binary files differnew file mode 100644 index 00000000..65a78340 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/PrimeAcTypeMultiplePpnts.png diff --git a/docs/clamp/acm/images/system-dialogues/PrimeAcTypeOnPpnts.png b/docs/clamp/acm/images/system-dialogues/PrimeAcTypeOnPpnts.png Binary files differnew file mode 100644 index 00000000..435e5e1a --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/PrimeAcTypeOnPpnts.png diff --git a/docs/clamp/acm/images/system-dialogues/PrimeInfoUpdatedInDb.png b/docs/clamp/acm/images/system-dialogues/PrimeInfoUpdatedInDb.png Binary files differnew file mode 100644 index 00000000..97e8f760 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/PrimeInfoUpdatedInDb.png diff --git a/docs/clamp/acm/images/system-dialogues/ReadAcInstances.png b/docs/clamp/acm/images/system-dialogues/ReadAcInstances.png Binary files differnew file mode 100644 index 00000000..b86a1746 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/ReadAcInstances.png diff --git a/docs/clamp/acm/images/system-dialogues/RegisterParticipant.png b/docs/clamp/acm/images/system-dialogues/RegisterParticipant.png Binary files differnew file mode 100644 index 00000000..674f56ef --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/RegisterParticipant.png diff --git a/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsStatusUpdate.png b/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsStatusUpdate.png Binary files differnew file mode 100644 index 00000000..82c15daa --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsStatusUpdate.png diff --git a/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsTimeout.png b/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsTimeout.png Binary files differnew file mode 100644 index 00000000..bc19943f --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/SuperviseParticipantsTimeout.png diff --git a/docs/clamp/acm/images/system-dialogues/UndeployInstance.png b/docs/clamp/acm/images/system-dialogues/UndeployInstance.png Binary files differnew file mode 100644 index 00000000..4feaaf86 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UndeployInstance.png diff --git a/docs/clamp/acm/images/system-dialogues/UndeployInstanceElements.png b/docs/clamp/acm/images/system-dialogues/UndeployInstanceElements.png Binary files differnew file mode 100644 index 00000000..23df88e6 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UndeployInstanceElements.png diff --git a/docs/clamp/acm/images/system-dialogues/UndeployResponseStored.png b/docs/clamp/acm/images/system-dialogues/UndeployResponseStored.png Binary files differnew file mode 100644 index 00000000..8fd2c438 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UndeployResponseStored.png diff --git a/docs/clamp/acm/images/system-dialogues/UnlockInstanceElements.png b/docs/clamp/acm/images/system-dialogues/UnlockInstanceElements.png Binary files differnew file mode 100644 index 00000000..ef54fb1a --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UnlockInstanceElements.png diff --git a/docs/clamp/acm/images/system-dialogues/UnlockResponseStored.png b/docs/clamp/acm/images/system-dialogues/UnlockResponseStored.png Binary files differnew file mode 100644 index 00000000..2d23d4d6 --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UnlockResponseStored.png diff --git a/docs/clamp/acm/images/system-dialogues/UpdateDeprimeInDb.png b/docs/clamp/acm/images/system-dialogues/UpdateDeprimeInDb.png Binary files differnew file mode 100644 index 00000000..63e1062b --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UpdateDeprimeInDb.png diff --git a/docs/clamp/acm/images/system-dialogues/UpdateOperationalState.png b/docs/clamp/acm/images/system-dialogues/UpdateOperationalState.png Binary files differnew file mode 100644 index 00000000..4c33957b --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UpdateOperationalState.png diff --git a/docs/clamp/acm/images/system-dialogues/UpdateUsageState.png b/docs/clamp/acm/images/system-dialogues/UpdateUsageState.png Binary files differnew file mode 100644 index 00000000..17c541ef --- /dev/null +++ b/docs/clamp/acm/images/system-dialogues/UpdateUsageState.png diff --git a/docs/clamp/acm/images/system-dialogues/change-acm-instance-state-participants.png b/docs/clamp/acm/images/system-dialogues/change-acm-instance-state-participants.png Binary files differdeleted file mode 100644 index 8c009dd4..00000000 --- a/docs/clamp/acm/images/system-dialogues/change-acm-instance-state-participants.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/comissioning-clamp-gui.png b/docs/clamp/acm/images/system-dialogues/comissioning-clamp-gui.png Binary files differdeleted file mode 100644 index 5237a7f6..00000000 --- a/docs/clamp/acm/images/system-dialogues/comissioning-clamp-gui.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/comissioning-sdc.png b/docs/clamp/acm/images/system-dialogues/comissioning-sdc.png Binary files differdeleted file mode 100644 index b28e4762..00000000 --- a/docs/clamp/acm/images/system-dialogues/comissioning-sdc.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/common-properties-type-definition.png b/docs/clamp/acm/images/system-dialogues/common-properties-type-definition.png Binary files differdeleted file mode 100644 index 9fac8555..00000000 --- a/docs/clamp/acm/images/system-dialogues/common-properties-type-definition.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/create-acm-instance.png b/docs/clamp/acm/images/system-dialogues/create-acm-instance.png Binary files differdeleted file mode 100644 index 4d732e8e..00000000 --- a/docs/clamp/acm/images/system-dialogues/create-acm-instance.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/decommission-acm-type-definition.png b/docs/clamp/acm/images/system-dialogues/decommission-acm-type-definition.png Binary files differdeleted file mode 100644 index 12c9d3a0..00000000 --- a/docs/clamp/acm/images/system-dialogues/decommission-acm-type-definition.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/deinstantiate-acm-from-participants.png b/docs/clamp/acm/images/system-dialogues/deinstantiate-acm-from-participants.png Binary files differdeleted file mode 100644 index 11b77994..00000000 --- a/docs/clamp/acm/images/system-dialogues/deinstantiate-acm-from-participants.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/delete-acm-instance.png b/docs/clamp/acm/images/system-dialogues/delete-acm-instance.png Binary files differdeleted file mode 100644 index 5043989d..00000000 --- a/docs/clamp/acm/images/system-dialogues/delete-acm-instance.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/depriming-acm-type-definition.png b/docs/clamp/acm/images/system-dialogues/depriming-acm-type-definition.png Binary files differdeleted file mode 100644 index b8b26f54..00000000 --- a/docs/clamp/acm/images/system-dialogues/depriming-acm-type-definition.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/monitoring-by-participants.png b/docs/clamp/acm/images/system-dialogues/monitoring-by-participants.png Binary files differdeleted file mode 100644 index 19723b30..00000000 --- a/docs/clamp/acm/images/system-dialogues/monitoring-by-participants.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/priming-acm-type-definition.png b/docs/clamp/acm/images/system-dialogues/priming-acm-type-definition.png Binary files differdeleted file mode 100644 index c5926f39..00000000 --- a/docs/clamp/acm/images/system-dialogues/priming-acm-type-definition.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/read-acm-instance.png b/docs/clamp/acm/images/system-dialogues/read-acm-instance.png Binary files differdeleted file mode 100644 index a2910c1f..00000000 --- a/docs/clamp/acm/images/system-dialogues/read-acm-instance.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/read-commision-acm-type-definition.png b/docs/clamp/acm/images/system-dialogues/read-commision-acm-type-definition.png Binary files differdeleted file mode 100644 index 411d8288..00000000 --- a/docs/clamp/acm/images/system-dialogues/read-commision-acm-type-definition.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/statistics-housekeeping.png b/docs/clamp/acm/images/system-dialogues/statistics-housekeeping.png Binary files differdeleted file mode 100644 index 0d3d169f..00000000 --- a/docs/clamp/acm/images/system-dialogues/statistics-housekeeping.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/supervise-acms.png b/docs/clamp/acm/images/system-dialogues/supervise-acms.png Binary files differdeleted file mode 100644 index 2634fa6a..00000000 --- a/docs/clamp/acm/images/system-dialogues/supervise-acms.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/supervise-participants.png b/docs/clamp/acm/images/system-dialogues/supervise-participants.png Binary files differdeleted file mode 100644 index 0a26180e..00000000 --- a/docs/clamp/acm/images/system-dialogues/supervise-participants.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/update-acm-instance-config-participants.png b/docs/clamp/acm/images/system-dialogues/update-acm-instance-config-participants.png Binary files differdeleted file mode 100644 index 7979cd80..00000000 --- a/docs/clamp/acm/images/system-dialogues/update-acm-instance-config-participants.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/update-instance-params-acm.png b/docs/clamp/acm/images/system-dialogues/update-instance-params-acm.png Binary files differdeleted file mode 100644 index e9217365..00000000 --- a/docs/clamp/acm/images/system-dialogues/update-instance-params-acm.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/view-monitoring-info.png b/docs/clamp/acm/images/system-dialogues/view-monitoring-info.png Binary files differdeleted file mode 100644 index e63d60bc..00000000 --- a/docs/clamp/acm/images/system-dialogues/view-monitoring-info.png +++ /dev/null diff --git a/docs/clamp/acm/images/system-dialogues/view-statistics.png b/docs/clamp/acm/images/system-dialogues/view-statistics.png Binary files differdeleted file mode 100644 index 099c5cd9..00000000 --- a/docs/clamp/acm/images/system-dialogues/view-statistics.png +++ /dev/null diff --git a/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnPpnt.puml b/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnPpnt.puml new file mode 100644 index 00000000..8c6e4302 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnPpnt.puml @@ -0,0 +1,14 @@ +@startuml + +[*] --> DEPLOYED: Deploy from ACM Runtime +DEPLOYED --> [*]: Undeploy from ACM Runtime + + +state DEPLOYED { + [*] --> LOCKED: Deploy + LOCKED --> [*]: Undeploy from\nACM Runtime + LOCKED --> UNLOCKED: Unlock from\nACM Runtime + UNLOCKED --> LOCKED: Lock from\nACM Runtime +} + +@enduml diff --git a/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnRuntime.puml b/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnRuntime.puml new file mode 100644 index 00000000..c27b320c --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnRuntime.puml @@ -0,0 +1,22 @@ +@startuml + +[*] --> UNDEPLOYED: Create +UNDEPLOYED --> [*]: Delete +UNDEPLOYED --> DEPLOYING: Deploy +DEPLOYING --> DEPLOYED: AC Element\nInstance DEPLOYED +DEPLOYING --> UNDEPLOYING: Undeploy +DEPLOYED --> UNDEPLOYING: Undeploy +UNDEPLOYING --> UNDEPLOYED: AC Element\nInstance UNDEPLOYED + + +state DEPLOYED { + [*] --> LOCKED: Deploy + LOCKED --> [*]: Undeploy + LOCKED --> UNLOCKING: Unlock + UNLOCKING --> UNLOCKED: AC Element\nInstance UNLOCKED + UNLOCKED --> LOCKING: Lock + UNLOCKING --> LOCKING: Lock + LOCKING --> LOCKED: AC Element\nInstance LOCKED +} + +@enduml diff --git a/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnPpnt.puml b/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnPpnt.puml new file mode 100644 index 00000000..f71da4cc --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnPpnt.puml @@ -0,0 +1,7 @@ +@startuml + +[*] --> PRIMED: Prime from\nACM Runtime +PRIMED --> PRIMED: Prime from ACM Runtime +PRIMED --> [*]: Deprime from\nACM Runtime + +@enduml diff --git a/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnRuntime.puml b/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnRuntime.puml new file mode 100644 index 00000000..b5e093e0 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcElementTypeStatesOnRuntime.puml @@ -0,0 +1,12 @@ +@startuml + +[*] --> COMMISSIONED: Commission +COMMISSIONED --> [*]: Decommission +COMMISSIONED --> PRIMING: Prime +PRIMED --> PRIMING: Prime +PRIMING --> PRIMED: AC Element Type Primed\nresponse from Participant +PRIMING --> DEPRIMING: Deprime +PRIMED --> DEPRIMING: Deprime +DEPRIMING --> COMMISSIONED: AC Element Type Deprimed\nresponse from Participant + +@enduml diff --git a/docs/clamp/acm/plantuml/states/AcInstanceStates.puml b/docs/clamp/acm/plantuml/states/AcInstanceStates.puml new file mode 100644 index 00000000..17958411 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcInstanceStates.puml @@ -0,0 +1,22 @@ +@startuml + +[*] --> UNDEPLOYED: Create +UNDEPLOYED --> [*]: Delete +UNDEPLOYED --> DEPLOYING: Deploy +DEPLOYING --> DEPLOYED: AC Element Instances\nall DEPLOYED +DEPLOYING --> UNDEPLOYING: Undeploy +DEPLOYED --> UNDEPLOYING: Undeploy +UNDEPLOYING --> UNDEPLOYED: AC Element Types\nall UNDEPLOYED + + +state DEPLOYED { + [*] --> LOCKED: Deploy + LOCKED --> [*]: Undeploy + LOCKED --> UNLOCKING: Unlock + UNLOCKING --> UNLOCKED: AC Element Types\nall UNLOCKED + UNLOCKED --> LOCKING: Lock + UNLOCKING --> LOCKING: Lock + LOCKING --> LOCKED: AC Element Types\nall LOCKED +} + +@enduml diff --git a/docs/clamp/acm/plantuml/states/AcTypeStates.puml b/docs/clamp/acm/plantuml/states/AcTypeStates.puml new file mode 100644 index 00000000..f255b040 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/AcTypeStates.puml @@ -0,0 +1,12 @@ +@startuml + +[*] --> COMMISSIONED: Commission +COMMISSIONED --> [*]: Decommission +COMMISSIONED --> PRIMING: Prime +PRIMED --> PRIMING: Prime +PRIMING --> PRIMED: AC Element Types\nall PRIMED +PRIMING --> DEPRIMING: Deprime +PRIMED --> DEPRIMING: Deprime +DEPRIMING --> COMMISSIONED: AC Element Types\nall DEPRIMED + +@enduml diff --git a/docs/clamp/acm/plantuml/states/DeregisterParticipant.puml b/docs/clamp/acm/plantuml/states/DeregisterParticipant.puml new file mode 100644 index 00000000..061dbea1 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/DeregisterParticipant.puml @@ -0,0 +1,20 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +Participant -> Participant: Uninitialize all ACM Element Instances running on Participant\n(See Instantiation Dialogues) +activate Participant +deactivate Participant + +Participant -> ACM_Runtime: [ASYNC] Deregister +ACM_Runtime -> ACM_Database: Delete Participant Registration +ACM_Runtime -> ACM_Database: Set Participant State as OFFLINE +Participant <- ACM_Runtime: [ASYNC] Deregistration Accepted + +ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as OFFLINE +activate ACM_Runtime +deactivate ACM_Runtime + +@enduml diff --git a/docs/clamp/acm/plantuml/states/FullParticpantReport.puml b/docs/clamp/acm/plantuml/states/FullParticpantReport.puml new file mode 100644 index 00000000..50943c8b --- /dev/null +++ b/docs/clamp/acm/plantuml/states/FullParticpantReport.puml @@ -0,0 +1,11 @@ +@startuml + +participant REST +participant ACM_Runtime +participant Participants + +REST -> ACM_Runtime: Order Participant Information +ACM_Runtime -> Participants: Issue immediate Heartbeat Report\n(See §1.3) +REST <- ACM_Runtime: Participant Information Ordered + +@enduml diff --git a/docs/clamp/acm/plantuml/states/GetParticipantInformation.puml b/docs/clamp/acm/plantuml/states/GetParticipantInformation.puml new file mode 100644 index 00000000..b7e288bd --- /dev/null +++ b/docs/clamp/acm/plantuml/states/GetParticipantInformation.puml @@ -0,0 +1,11 @@ +@startuml + +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Get Participant Information +ACM_Runtime -> ACM_Database: Read Participant Data +REST <- ACM_Runtime: Return Participant Information including\nsupported AC Element Types,\nAC Element Instances and their states\nand Heartbeat Information + +@enduml diff --git a/docs/clamp/acm/plantuml/states/ParticipantStates.puml b/docs/clamp/acm/plantuml/states/ParticipantStates.puml new file mode 100644 index 00000000..6bb77686 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/ParticipantStates.puml @@ -0,0 +1,10 @@ +@startuml + +[*] --> ONLINE: Register +ONLINE --> ONLINE: Heartbeat +ONLINE --> OFFLINE: Timeout +OFFLINE --> ONLINE: Heartbeat +ONLINE --> [*]: Deregister +OFFLINE --> [*]: Deregister + +@enduml diff --git a/docs/clamp/acm/plantuml/states/RegisterParticipant.puml b/docs/clamp/acm/plantuml/states/RegisterParticipant.puml new file mode 100644 index 00000000..0cf091c0 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/RegisterParticipant.puml @@ -0,0 +1,16 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +Participant -> ACM_Runtime: [ASYNC] Register +ACM_Runtime -> ACM_Database: Create or Update Participant Registration\nand store supported ACM element types +ACM_Runtime -> ACM_Database: Set Participant State as ONLINE +Participant <- ACM_Runtime: Registration Accepted + +ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as ONLINE +activate ACM_Runtime +deactivate ACM_Runtime + +@enduml diff --git a/docs/clamp/acm/plantuml/states/SuperviseParticipantsStatusUpdate.puml b/docs/clamp/acm/plantuml/states/SuperviseParticipantsStatusUpdate.puml new file mode 100644 index 00000000..e5748e86 --- /dev/null +++ b/docs/clamp/acm/plantuml/states/SuperviseParticipantsStatusUpdate.puml @@ -0,0 +1,17 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +loop Every Participant Supervision Interval + Participant -> ACM_Runtime: [ASYNC] Heartbeat message including\nstatus and states of AC Element Instances on Participant + ACM_Runtime -> ACM_Database: Update Participant Heartbeat data + ACM_Runtime -> ACM_Database: Set Participant State as ONLINE + + loop Every AC Element Instance in Heartbeat Message + ACM_Runtime -> ACM_Database: Mark AC Element Instance as ONLINE\nand Update AC Element Instance status + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/states/SuperviseParticipantsTimeout.puml b/docs/clamp/acm/plantuml/states/SuperviseParticipantsTimeout.puml new file mode 100644 index 00000000..89a7d16a --- /dev/null +++ b/docs/clamp/acm/plantuml/states/SuperviseParticipantsTimeout.puml @@ -0,0 +1,18 @@ +@startuml + +participant ACM_Runtime +database ACM_Database + +loop Every ACM_Runtime Supervision Interval + loop Over all Participants + ACM_Runtime -> Database: Read Participant Heartbeat Information + alt Participant Heartbeat not received in Timeout Interval + ACM_Runtime -> ACM_Database: Set Participant State as OFFLINE + ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as OFFLINE + activate ACM_Runtime + deactivate ACM_Runtime + end + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/CommissionAcTypeSDC.puml b/docs/clamp/acm/plantuml/system-dialogues/CommissionAcTypeSDC.puml new file mode 100644 index 00000000..c789598d --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/CommissionAcTypeSDC.puml @@ -0,0 +1,11 @@ +@startuml +participant SDC +participant Policy_Distribution +participant ACM_Runtime + +SDC -> Policy_Distribution: [ASYNC] CSAR containing Automation Composition Type Definition +Policy_Distribution -> ACM_Runtime: Commission Automation Composition Type\n(See Commissioning Sequence Diagram) +Policy_Distribution <- ACM_Runtime: Result of Commissioning +Policy_Distribution -> SDC: [ASYNC] Return result of Deployment + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/CommissionUpdateAcType.puml b/docs/clamp/acm/plantuml/system-dialogues/CommissionUpdateAcType.puml new file mode 100644 index 00000000..014b76c8 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/CommissionUpdateAcType.puml @@ -0,0 +1,15 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Commission Automation Composition Type +alt Automation Composition Type exists and has Instances + ACM_Runtime -> REST: Automation Composition Type Commissioning Failed +else + ACM_Runtime -> ACM_Database: Create and Store Automation Composition Type + ACM_Runtime -> ACM_Database: Set Automation Composition Type State to COMMISSIONED + ACM_Runtime -> REST: Automation Composition Type Commissioned +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/CreateAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/CreateAcInstance.puml new file mode 100644 index 00000000..e2864b0a --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/CreateAcInstance.puml @@ -0,0 +1,30 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Create Automation Composition Instance for\nspecified Automation Composition Type with\nspecified parameter values + +alt Automation Composition Instance exists + alt Automation Composition Instance is not in state UNDEPLOYED + ACM_Runtime -> REST: Automation Composition instance exists and is already deployed + else + note right of REST + Updates on "Not In Service" Automation Composition Instances are allowed + end note + end +end + +alt Specified Automation Composition Type Exists + alt Specified Automation Composition Type is in state PRIMED + ACM_Runtime -> ACM_Database: Store Automation Composition Instance + ACM_Runtime -> ACM_Database: Set Automation Composition Instance State to UNDEPLOYED + ACM_Runtime -> REST: Automation Composition Instance Created + else + ACM_Runtime -> REST: Automation Composition Type is not in state PRIMED + end +else + ACM_Runtime -> REST: Automation Composition Type is not found +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DecommissionAcType.puml b/docs/clamp/acm/plantuml/system-dialogues/DecommissionAcType.puml new file mode 100644 index 00000000..a9c29b99 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DecommissionAcType.puml @@ -0,0 +1,14 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Decommission Automation Composition Type +alt Automation Composition Type is not in state COMMISSIONED + ACM_Runtime -> REST: Automation Composition Type Decommissioning Failed +else + ACM_Runtime -> ACM_Database: Delete Automation Composition Type + ACM_Runtime -> REST: Automation Composition Type Decommissioned +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeleteAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/DeleteAcInstance.puml new file mode 100644 index 00000000..50231ecf --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeleteAcInstance.puml @@ -0,0 +1,19 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Delete Automation Composition Instance + +alt Automation Composition Instance exists + alt Automation Composition Instance is not in state UNDEPLOYED + ACM_Runtime -> REST: Automation Composition instance exists and is deployed + else + ACM_Runtime -> REST: Automation Composition instance does not exist + end +else + ACM_Runtime -> ACM_Database: Delete Automation Composition Instance + ACM_Runtime -> REST: Automation Composition Instance Deleted +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstance.puml new file mode 100644 index 00000000..21c61394 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstance.puml @@ -0,0 +1,22 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participants +database ACM_Database + +REST -> ACM_Runtime: Deploy Automation Composition Instance +ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information + +alt Automation Composition Instance exists + alt Automation Composition Instance is deployed + ACM_Runtime -> REST: Automation Composition instance is already deployed + else + ACM_Runtime -> Participants: [ASYNC] Deploy AC Element Instances for this AC Instance + ACM_Runtime -> ACM_Database: Set AC Instance and its AC Element Instances to state DEPLOYING + ACM_Runtime -> REST: Deployment of Automation Composition Instance has been requested + end +else + ACM_Runtime -> REST: Automation Composition instance does not exist +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstanceElements.puml new file mode 100644 index 00000000..ab0f7755 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeployAcInstanceElements.puml @@ -0,0 +1,31 @@ +@startuml +participant ACM_Runtime +participant Participant +participant Participant_API + +ACM_Runtime -> Participant: [ASYNC] Deploy AC Element Instances for this AC Instance + +loop over AC Element Instances in AC Instance + alt Does the primed Participant ID on this AC Element Instance\nmatch my Participant ID? + alt Is this AC Element Instance already deployed + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is already deployed + else + Participant -> Participant_API: Deploy AC Element Instance + activate Participant_API + Participant <- Participant_API: AC Element Instance Deploy Response + deactivate Participant_API + alt AC Element deployed successfully + Participant -> Participant: Set AC Element Instance administrative state to LOCKED + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been deployed + else + ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not deployed + end + end + else + note left of Participant + Ignore this AC Element instance as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml new file mode 100644 index 00000000..939f87ce --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml @@ -0,0 +1,17 @@ +@startuml + +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Deploy Automation Composition Element Instance Response +ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information + +alt Is AC Element Instance Deployed? + ACM_Runtime -> ACM_Database: Set AC Element Instance State as DEPLOYED + alt Are all the other AC Element Instances in this AC Instance in state DEPLOYED? + ACM_Runtime -> ACM_Runtime: Set AC Instance state as DEPLOYED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeprimeElements.puml b/docs/clamp/acm/plantuml/system-dialogues/DeprimeElements.puml new file mode 100644 index 00000000..274b30ce --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeprimeElements.puml @@ -0,0 +1,27 @@ +@startuml +participant ACM_Runtime +participant Participant + +ACM_Runtime -> Participant: [ASYNC] Deprime AC Element Types for this AC Type + +loop over AC Element Types in AC Type + alt Does the deprimed Participant ID on this AC Element Type\nmatch my Participant ID + alt Does this AC Element Type Exist + Participant -> Participant: Delete AC Element Type + activate Participant + deactivate Participant + note left of Participant + Deletion of an AC Element Type always returns success + end note + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element successfully primed + else + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element Type is already deprimed + end + else + note left of Participant + ignore this AC Element Type as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeprimeOnParticipants.puml b/docs/clamp/acm/plantuml/system-dialogues/DeprimeOnParticipants.puml new file mode 100644 index 00000000..07d5e934 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeprimeOnParticipants.puml @@ -0,0 +1,21 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participant +database ACM_Database + +alt Automation Composition Type has Instances + REST <- ACM_Runtime: Depriming of Automation Composition Type Failed +else AC Type State is PRIMED or PRIMING + REST -> ACM_Runtime: Deprime Automation Composition Type + + ACM_Runtime -> ACM_Database: Read Automation Composition Type + ACM_Runtime -> Participant: [ASYNC] Send Depriming Request to all Participants\nwith Automation Composition Type Definition + ACM_Runtime -> ACM_Database: Set Automation Composition Type State to DEPRIMING + + REST <- ACM_Runtime: Depriming of Automation Composition Type Ordered +else + REST <- ACM_Runtime: Depriming of Automation Composition Type Failed, invalid state +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml b/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml new file mode 100644 index 00000000..061dbea1 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml @@ -0,0 +1,20 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +Participant -> Participant: Uninitialize all ACM Element Instances running on Participant\n(See Instantiation Dialogues) +activate Participant +deactivate Participant + +Participant -> ACM_Runtime: [ASYNC] Deregister +ACM_Runtime -> ACM_Database: Delete Participant Registration +ACM_Runtime -> ACM_Database: Set Participant State as OFFLINE +Participant <- ACM_Runtime: [ASYNC] Deregistration Accepted + +ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as OFFLINE +activate ACM_Runtime +deactivate ACM_Runtime + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/FullParticipantReport.puml b/docs/clamp/acm/plantuml/system-dialogues/FullParticipantReport.puml new file mode 100644 index 00000000..50943c8b --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/FullParticipantReport.puml @@ -0,0 +1,11 @@ +@startuml + +participant REST +participant ACM_Runtime +participant Participants + +REST -> ACM_Runtime: Order Participant Information +ACM_Runtime -> Participants: Issue immediate Heartbeat Report\n(See §1.3) +REST <- ACM_Runtime: Participant Information Ordered + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/GetAcTypes.puml b/docs/clamp/acm/plantuml/system-dialogues/GetAcTypes.puml new file mode 100644 index 00000000..ced33f7e --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/GetAcTypes.puml @@ -0,0 +1,10 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Get Automation Composition Type Information +ACM_Runtime -> ACM_Database: Read Automation Composition Type Information +ACM_Runtime -> REST: Respond with Automation Composition Type information\nincluding ACM Element Type information and Priming Status + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/GetParticipantInformation.puml b/docs/clamp/acm/plantuml/system-dialogues/GetParticipantInformation.puml new file mode 100644 index 00000000..b7e288bd --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/GetParticipantInformation.puml @@ -0,0 +1,11 @@ +@startuml + +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Get Participant Information +ACM_Runtime -> ACM_Database: Read Participant Data +REST <- ACM_Runtime: Return Participant Information including\nsupported AC Element Types,\nAC Element Instances and their states\nand Heartbeat Information + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/LockAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/LockAcInstance.puml new file mode 100644 index 00000000..a742cbb5 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/LockAcInstance.puml @@ -0,0 +1,22 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participants +database ACM_Database + +REST -> ACM_Runtime: Lock Automation Composition Instance +ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information + +alt Automation Composition Instance exists + alt Automation Composition Instance administrative state is UNLOCKED + ACM_Runtime -> Participants: [ASYNC] Lock AC Element Instances for this AC Instance + ACM_Runtime -> ACM_Database: Mark AC Instance and its AC Element Instances as Locking + ACM_Runtime -> REST: Locking of Automation Composition Instance has been requested + else + ACM_Runtime -> REST: Automation Composition instance is not unlocked + end +else + ACM_Runtime -> REST: Automation Composition instance does not exist +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/LockAcInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/LockAcInstanceElements.puml new file mode 100644 index 00000000..4fbb9335 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/LockAcInstanceElements.puml @@ -0,0 +1,32 @@ +@startuml +participant ACM_Runtime +participant Participant +participant Participant_API + +ACM_Runtime -> Participant: [ASYNC] Lock AC Element Instances for this AC Instance + +loop over AC Element Instances in AC Instance + alt Does the primed Participant ID on this AC Element Instance\nmatch my Participant ID? + alt Is this AC Element Instance administrative state not UNLOCKED + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is not UNLOCKED + else + Participant -> Participant: Set AC Element Instance administrative state to SHUTTING_DOWN + Participant -> Participant_API: Lock AC Element Instance + activate Participant_API + Participant <- Participant_API: Lock AC Element Instance Response + deactivate Participant_API + alt AC Element locked successfully + Participant -> Participant: Set AC Element Instance administrative state to LOCKED + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been locked + else + ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not locked + end + end + else + note left of participant + Ignore this AC Element instance as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml new file mode 100644 index 00000000..0ffc51a6 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml @@ -0,0 +1,17 @@ +@startuml + +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Lock Automation Composition Element Instance Response +ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information + +alt Is AC Element Instance Locked? + ACM_Runtime -> ACM_Database: Set AC Element Instance administrative state as LOCKED + alt Have all the other AC Element Instances in this AC Instance been LOCKED? + ACM_Runtime -> ACM_Runtime: Set AC Instance administrative state as LOCKED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/OrderInstanceUnlock.puml b/docs/clamp/acm/plantuml/system-dialogues/OrderInstanceUnlock.puml new file mode 100644 index 00000000..9075bbab --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/OrderInstanceUnlock.puml @@ -0,0 +1,22 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participants +database ACM_Database + +REST -> ACM_Runtime: Unlock Automation Composition Instance +ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information + +alt Automation Composition Instance exists + alt Automation Composition Instance administrative state is LOCKED + ACM_Runtime -> Participants: [ASYNC] Unlock AC Element Instances for this AC Instance + ACM_Runtime -> ACM_Database: Mark AC Instance and its AC Element Instances as Unlocking + ACM_Runtime -> REST: Unlocking of Automation Composition Instance has been requested + else + ACM_Runtime -> REST: Automation Composition instance is not locked + end +else + ACM_Runtime -> REST: Automation Composition instance does not exist +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeMultiplePpnts.puml b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeMultiplePpnts.puml new file mode 100644 index 00000000..6f091f65 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeMultiplePpnts.puml @@ -0,0 +1,28 @@ +@startuml +participant ACM_Runtime +participant Participant + +ACM_Runtime -> Participant: [ASYNC] Prime AC Element Types for this AC Type + +loop over AC Element Types in AC Type + alt Does the primed Participant ID on this AC Element Type\nmatch my Participant ID + alt Does this AC Element Type already exist + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element Type already exists + else + Participant -> Participant: Create AC Element Type + activate Participant + deactivate Participant + alt AC Element successfully created + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element successfully primed + else + ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element priming failed + end + end + else + note left of participant + ignore this AC Element Type as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml new file mode 100644 index 00000000..0c36a18c --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml @@ -0,0 +1,28 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participant +database ACM_Database + +alt Automation Composition Type has Deployed Instances + REST <- ACM_Runtime: Priming of Automation Composition Type Failed, instances deployed +else Automation Composition Type is in state COMMISSIONED or PRIMED + REST -> ACM_Runtime: Prime Automation Composition Type + + ACM_Runtime -> ACM_Database: Read Automation Composition Type + ACM_Runtime -> ACM_Database: Read Participants + ACM_Runtime -> ACM_Runtime: Set suitable participant ID on each AC Element Type + + alt Was a sutable participant ID found for each AC Element Type? + ACM_Runtime -> Participant: [ASYNC] Send Priming Request to all Participants\nwith Automation Composition Type Definition + ACM_Runtime -> ACM_Database: Set Automation Composition Type State to PRIMING + + REST <- ACM_Runtime: Priming of Automation Composition Type Ordered + else + REST <- ACM_Runtime: Priming of Automation Composition Type Faield, no sutiable participant found + end +else + REST <- ACM_Runtime: Priming of Automation Composition Type Failed, invalid state +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml b/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml new file mode 100644 index 00000000..4a9f7d17 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml @@ -0,0 +1,15 @@ +@startuml +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Result of Priming of AC Element Type +ACM_Runtime -> ACM_Database: Record result of AC Element Type Priming + +alt Is AC Element Type Primed? + alt Have all the other AC Element Types in this AC Type been Primed? + ACM_Runtime -> ACM_Runtime: Set AC Type state as PRIMED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/ReadAcInstances.puml b/docs/clamp/acm/plantuml/system-dialogues/ReadAcInstances.puml new file mode 100644 index 00000000..3e188f10 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/ReadAcInstances.puml @@ -0,0 +1,10 @@ +@startuml +participant REST +participant ACM_Runtime +database ACM_Database + +REST -> ACM_Runtime: Get Automation Composition Instance Information +ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information +ACM_Runtime -> REST: Respond with Automation Composition Instance information\nincluding ACM Element Instance information\nand admin, operational, and usage state + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml b/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml new file mode 100644 index 00000000..0cf091c0 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml @@ -0,0 +1,16 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +Participant -> ACM_Runtime: [ASYNC] Register +ACM_Runtime -> ACM_Database: Create or Update Participant Registration\nand store supported ACM element types +ACM_Runtime -> ACM_Database: Set Participant State as ONLINE +Participant <- ACM_Runtime: Registration Accepted + +ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as ONLINE +activate ACM_Runtime +deactivate ACM_Runtime + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml new file mode 100644 index 00000000..e5748e86 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml @@ -0,0 +1,17 @@ +@startuml + +participant Participant +participant ACM_Runtime +database ACM_Database + +loop Every Participant Supervision Interval + Participant -> ACM_Runtime: [ASYNC] Heartbeat message including\nstatus and states of AC Element Instances on Participant + ACM_Runtime -> ACM_Database: Update Participant Heartbeat data + ACM_Runtime -> ACM_Database: Set Participant State as ONLINE + + loop Every AC Element Instance in Heartbeat Message + ACM_Runtime -> ACM_Database: Mark AC Element Instance as ONLINE\nand Update AC Element Instance status + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml new file mode 100644 index 00000000..89a7d16a --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml @@ -0,0 +1,18 @@ +@startuml + +participant ACM_Runtime +database ACM_Database + +loop Every ACM_Runtime Supervision Interval + loop Over all Participants + ACM_Runtime -> Database: Read Participant Heartbeat Information + alt Participant Heartbeat not received in Timeout Interval + ACM_Runtime -> ACM_Database: Set Participant State as OFFLINE + ACM_Runtime -> ACM_Runtime: Mark all ACM Element Instances\nrunning on Participant as OFFLINE + activate ACM_Runtime + deactivate ACM_Runtime + end + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UndeployInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/UndeployInstance.puml new file mode 100644 index 00000000..0066c69c --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UndeployInstance.puml @@ -0,0 +1,22 @@ +@startuml +participant REST +participant ACM_Runtime +participant Participants +database ACM_Database + +REST -> ACM_Runtime: Undeploy Automation Composition Instance +ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information + +alt Automation Composition Instance exists + alt Automation Composition Instance administrative state is not LOCKED + ACM_Runtime -> REST: Automation Composition instance exists and is not LOCKED + else + ACM_Runtime -> REST: Automation Composition instance does not exist + end +else + ACM_Runtime -> Participants: [ASYNC] Undeploy AC Element Instances for this AC Instance + ACM_Runtime -> ACM_Database: Mark this AC Instance and its AC Element Instances as UNDEPLOYING + ACM_Runtime -> REST: Undeployment of Automation Composition Instance has been requested +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UndeployInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/UndeployInstanceElements.puml new file mode 100644 index 00000000..43fa1bef --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UndeployInstanceElements.puml @@ -0,0 +1,31 @@ +@startuml +participant ACM_Runtime +participant Participant +participant Participant_API + +ACM_Runtime -> Participant: [ASYNC] Undeploy AC Element Instances for this AC Instance + +loop over AC Element Instances in AC Instance + alt Does the primed Participant ID on this AC Element Instance\nmatch my Participant ID? + alt Does this AC Element Instance exist? + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element does not exist + else Is this administrative state of this AC Element Instance LOCKED + Participant -> Participant_API: Undeploy AC Element Instance + activate Participant_API + Participant <- Participant_API: Undeploy AC Element Instance Response + deactivate Participant_API + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element undeployed successfully + note left of Participant + Undeploy always returns success + end note + else + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is already undeployed + end + else + note left of Participant + Ignore this AC Element instance as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml new file mode 100644 index 00000000..e44183d4 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml @@ -0,0 +1,17 @@ +@startuml + +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Undeploy Automation Composition Element Instance Response +ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information + +alt Is AC Element Instance undeployed? + ACM_Runtime -> ACM_Database: Mark AC Element Instance as UNDEPLOYED + alt Are all the other AC Element Instances in this AC Instance in state UNDEPLOYED? + ACM_Runtime -> ACM_Runtime: Set AC Instance state as UNDEPLOYED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UnlockInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/UnlockInstanceElements.puml new file mode 100644 index 00000000..fdcdc912 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UnlockInstanceElements.puml @@ -0,0 +1,31 @@ +@startuml +participant ACM_Runtime +participant Participant +participant Participant_API + +ACM_Runtime -> Participant: [ASYNC] Unlock AC Element Instances for this AC Instance + +loop over AC Element Instances in AC Instance + alt Does the primed Participant ID on this AC Element Instance\nmatch my Participant ID? + alt Is this AC Element Instance administrative state not LOCKED + ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is not LOCKED + else + Participant -> Participant_API: Unlock AC Element Instance + activate Participant_API + Participant <- Participant_API: Unlock AC Element Instance Response + deactivate Participant_API + alt AC Element unlocked successfully + Participant -> Participant: Set AC Element Instance administrative state to UNLOCKED + ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been unlocked + else + ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not unlocked + end + end + else + note left of participant + Ignore this AC Element instance as its for another participant + end note + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml new file mode 100644 index 00000000..44e7e906 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml @@ -0,0 +1,17 @@ +@startuml + +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Unlock Automation Composition Element Instance Response +ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information + +alt Is AC Element Instance Unlocked? + ACM_Runtime -> ACM_Database: Set AC Element Instance administrative state as UNLOCKED + alt Have all the other AC Element Instances in this AC Instance been UNLOCKED? + ACM_Runtime -> ACM_Runtime: Set AC Instance administrative state as UNLOCKED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml new file mode 100644 index 00000000..b52dc817 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml @@ -0,0 +1,15 @@ +@startuml +participant ACM_Runtime +participant Participant +database ACM_Database + +ACM_Runtime <- Participant: [ASYNC] Result of Depriming of AC Element Type +ACM_Runtime -> ACM_Database: Record result of AC Element Type Depriming + +alt Is AC Element Type Deprimed? + alt Have all the other AC Element Types in this AC Type been Deprimed? + ACM_Runtime -> ACM_Runtime: Set AC Type state as COMMISSIONED + end +end + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml new file mode 100644 index 00000000..538242ae --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml @@ -0,0 +1,16 @@ +@startuml +participant Participant_API +participant Participant +participant ACM_Runtime + +Participant_API -> Participant_API: Perform Operation that Updates Operational State +activate Participant_API +deactivate Participant_API + +Participant_API -> Participant: Operational State has been updated +Participant -> Participant: Update Operational State in ACM Element Instance + +== Periodically with Heartbeat == +Participant -> ACM_Runtime: [ASYNC] Heartbeat message including\nstatus and states of AC Element Instances on Participant + +@enduml diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateUsageState.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateUsageState.puml new file mode 100644 index 00000000..b8f922d5 --- /dev/null +++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateUsageState.puml @@ -0,0 +1,16 @@ +@startuml +participant Participant_API +participant Participant +participant ACM_Runtime + +Participant_API -> Participant_API: Perform Operation that Updates Usage State +activate Participant_API +deactivate Participant_API + +Participant_API -> Participant: Usage State has been updated +Participant -> Participant: Update Usage State in ACM Element Instance + +== Periodically with Heartbeat == +Participant -> ACM_Runtime: [ASYNC] Heartbeat message including\nstatus and states of AC Element Instances on Participant + +@enduml diff --git a/docs/clamp/clamp.rst b/docs/clamp/clamp.rst index 50384614..3c3b2407 100644 --- a/docs/clamp/clamp.rst +++ b/docs/clamp/clamp.rst @@ -12,6 +12,7 @@ described in TOSCA. :maxdepth: 2 acm/acm-architecture + acm/acm-states acm/defining-acms acm/api-protocol/api-protocol-tree acm/clamp-gui/policy-gui |