aboutsummaryrefslogtreecommitdiffstats
path: root/docs/clamp/acm/plantuml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/clamp/acm/plantuml')
-rw-r--r--docs/clamp/acm/plantuml/states/AcInstanceSubStates.puml18
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/DeleteResponseStored.puml19
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml16
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml21
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/FailedAcmResult.puml21
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml16
-rw-r--r--[-rwxr-xr-x]docs/clamp/acm/plantuml/system-dialogues/MigrateAcElementsResponse.puml6
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstance.puml18
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstanceElements.puml25
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckResponseStored.puml19
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstance.puml18
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstanceElements.puml25
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/PrepareResponseStored.puml19
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml24
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml14
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml30
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstance.puml18
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstanceElements.puml25
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/ReviewResponseStored.puml19
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/SuccessAcmResult.puml21
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusOutPropertiesUpdate.puml12
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml13
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml17
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml16
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml16
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/UpdateAcElementsResponse.puml19
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml14
-rw-r--r--docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml21
28 files changed, 412 insertions, 108 deletions
diff --git a/docs/clamp/acm/plantuml/states/AcInstanceSubStates.puml b/docs/clamp/acm/plantuml/states/AcInstanceSubStates.puml
new file mode 100644
index 00000000..918a03b3
--- /dev/null
+++ b/docs/clamp/acm/plantuml/states/AcInstanceSubStates.puml
@@ -0,0 +1,18 @@
+@startuml
+
+UNDEPLOYED --> DEPLOYING: Deploy
+DEPLOYING --> DEPLOYED: AC Instance Elements\nall DEPLOYED
+
+state UNDEPLOYED {
+ NONE:UNDEPLOYED --> PREPARING: Prepare
+ PREPARING --> NONE:UNDEPLOYED: Completed
+}
+
+state DEPLOYED {
+ NONE:DEPLOYED --> REVIEWING: Review
+ REVIEWING --> NONE:DEPLOYED: Completed
+ NONE:DEPLOYED --> MIGRATION_PRECHECKING: Migrate precheck
+ MIGRATION_PRECHECKING --> NONE:DEPLOYED: Completed
+}
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeleteResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/DeleteResponseStored.puml
new file mode 100644
index 00000000..91be80b0
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/DeleteResponseStored.puml
@@ -0,0 +1,19 @@
+@startuml
+
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Delete Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
+
+alt Is AC Element Instance Deleted?
+ "ACM Runtime" -> "ACM Database": Set AC Element Instance State as DELETED
+ alt Are all the other AC Element Instances in this AC Instance in state DELETED?
+ "ACM Runtime" -> "ACM Database": Delete AC Instance
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+ end
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml
index 939f87ce..cb40d355 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/DeployResponseStored.puml
@@ -1,16 +1,18 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Deploy Automation Composition Element Instance Response
-ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Deploy Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
alt Is AC Element Instance Deployed?
- ACM_Runtime -> ACM_Database: Set AC Element Instance State as 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
+ "ACM Runtime" -> "ACM Database": Set AC Instance state as DEPLOYED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml b/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml
index 061dbea1..78689689 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/DeregisterParticipant.puml
@@ -1,20 +1,11 @@
@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
+participant "ACM Runtime"
+database "ACM Database"
+Participant -> "ACM Runtime": [ASYNC] Deregister
+"ACM Runtime" -> "ACM Database": Set Participant Replica State as OFF_LINE
+Participant <- "ACM Runtime": [ASYNC] Deregistration Accepted
+Participant -> Participant: Shutdown Participant
@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/FailedAcmResult.puml b/docs/clamp/acm/plantuml/system-dialogues/FailedAcmResult.puml
new file mode 100644
index 00000000..cb11012a
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/FailedAcmResult.puml
@@ -0,0 +1,21 @@
+@startuml
+participant "ACM Runtime"
+participant "Participant Replica 1"
+participant "Participant API Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" -> "Participant Replica 1": [ASYNC] Trigger an ACM operation for this AC Instance
+alt Does the primed Participant ID on this AC Element Instance match my Participant ID?
+ alt Does this AC Element Instance exist?
+ "Participant Replica 1" -> "ACM Runtime": [ASYNC] AC Element does not exist
+ end
+ "Participant Replica 1" -> "Participant API Replica 1": Perform ACM operation
+ "Participant API Replica 1" -> "Participant Replica 1": ACM operation failed Response
+ "Participant Replica 1" -> "ACM Runtime": [ASYNC] INFO: ACM operation failed
+ note left of "Participant Replica 1"
+ This returns the response message with StateChangeResult 'FAILED'
+ end note
+"ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml
index 0ffc51a6..111a5726 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/LockResponseStored.puml
@@ -1,16 +1,18 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Lock Automation Composition Element Instance Response
-ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Lock Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
alt Is AC Element Instance Locked?
- ACM_Runtime -> ACM_Database: Set AC Element Instance administrative state as 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
+ "ACM Runtime" -> "ACM Database": Set AC Instance administrative state as LOCKED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/MigrateAcElementsResponse.puml b/docs/clamp/acm/plantuml/system-dialogues/MigrateAcElementsResponse.puml
index 3ba0410f..80693aef 100755..100644
--- a/docs/clamp/acm/plantuml/system-dialogues/MigrateAcElementsResponse.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/MigrateAcElementsResponse.puml
@@ -1,10 +1,12 @@
@startuml
participant "ACM Runtime"
participant "ACM Database"
-participant Participant
+participant "Participant Replica 1"
+participant "Participant Replica 2"
alt "instance Id and Composition Ids exist"
- Participant -> "ACM Runtime" : [ASYNC] Migration completed
+ "Participant Replica 1" -> "ACM Runtime" : [ASYNC] Migration completed
"ACM Runtime" -> "ACM Database" : instance and AC Element will be set in a final state (DEPLOYED)\n and Comp Def IDs change for instance and AC Element
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstance.puml
new file mode 100644
index 00000000..14252f22
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstance.puml
@@ -0,0 +1,18 @@
+@startuml
+participant REST
+participant "ACM Runtime"
+participant Participants
+database "ACM Database"
+
+REST -> "ACM Runtime": Migration Precheck Automation Composition Instance
+"ACM Runtime" -> "ACM Database": Read Automation Composition Instance Information
+
+alt Automation Composition Instance exists
+ "ACM Runtime" -> Participants: [ASYNC] Migration Precheck AC Element Instances for this AC Instance
+ "ACM Runtime" -> "ACM Database": Set AC Instance and its AC Element Instances to subState MIGRATION_PRECHECKING
+ "ACM Runtime" -> REST: Migration Precheck of Automation Composition Instance has been requested
+else
+ "ACM Runtime" -> REST: Automation Composition instance does not exist
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstanceElements.puml
new file mode 100644
index 00000000..39d71b69
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckAcInstanceElements.puml
@@ -0,0 +1,25 @@
+@startuml
+participant "ACM Runtime"
+participant Participant
+participant "Participant API"
+
+"ACM Runtime" -> Participant: [ASYNC] Migration Precheck 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?
+ Participant -> "Participant API": Migration Precheck AC Element Instance
+ activate "Participant API"
+ Participant <- "Participant API": AC Element Instance Migration Precheck Response
+ deactivate "Participant API"
+ alt AC Element Migration Precheck completed
+ Participant -> Participant: Set AC Element Instance administrative subState to NONE
+ "ACM Runtime" <- Participant: [ASYNC] INFO: Migration Precheck AC Element has been completed
+ 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/MigrationPrecheckResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckResponseStored.puml
new file mode 100644
index 00000000..cc63e9dd
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/MigrationPrecheckResponseStored.puml
@@ -0,0 +1,19 @@
+@startuml
+
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Migration Precheck Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
+
+alt Is Migration Precheck AC Element Instance Completed?
+ "ACM Runtime" -> "ACM Database": Set AC Element Instance SubState as NONE
+ alt Are all the other AC Element Instances in this AC Instance in state NONE?
+ "ACM Runtime" -> "ACM Database": Set AC Instance SubState as NONE
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+ end
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstance.puml
new file mode 100644
index 00000000..dd7cc7ee
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstance.puml
@@ -0,0 +1,18 @@
+@startuml
+participant REST
+participant "ACM Runtime"
+participant Participants
+database "ACM Database"
+
+REST -> "ACM Runtime": Prepare Automation Composition Instance
+"ACM Runtime" -> "ACM Database": Read Automation Composition Instance Information
+
+alt Automation Composition Instance exists
+ "ACM Runtime" -> Participants: [ASYNC] Prepare AC Element Instances for this AC Instance
+ "ACM Runtime" -> "ACM Database": Set AC Instance and its AC Element Instances to subState PREPARING
+ "ACM Runtime" -> REST: Prepare of Automation Composition Instance has been requested
+else
+ "ACM Runtime" -> REST: Automation Composition instance does not exist
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstanceElements.puml
new file mode 100644
index 00000000..5c5fbcee
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/PrepareAcInstanceElements.puml
@@ -0,0 +1,25 @@
+@startuml
+participant "ACM Runtime"
+participant Participant
+participant "Participant API"
+
+"ACM Runtime" -> Participant: [ASYNC] Prepare 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?
+ Participant -> "Participant API": Prepare AC Element Instance
+ activate "Participant API"
+ Participant <- "Participant API": AC Element Instance Prepare Response
+ deactivate "Participant API"
+ alt AC Element Prepare completed
+ Participant -> Participant: Set AC Element Instance administrative subState to NONE
+ "ACM Runtime" <- Participant: [ASYNC] INFO: Prepare AC Element has been completed
+ 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/PrepareResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/PrepareResponseStored.puml
new file mode 100644
index 00000000..51ff03b1
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/PrepareResponseStored.puml
@@ -0,0 +1,19 @@
+@startuml
+
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Prepare Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
+
+alt Is Prepare AC Element Instance Completed?
+ "ACM Runtime" -> "ACM Database": Set AC Element Instance SubState as NONE
+ alt Are all the other AC Element Instances in this AC Instance in state NONE?
+ "ACM Runtime" -> "ACM Database": Set AC Instance SubState as NONE
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+ end
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml
index 0c36a18c..c7a8a5e9 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/PrimeAcTypeOnPpnts.puml
@@ -1,28 +1,28 @@
@startuml
participant REST
-participant ACM_Runtime
+participant "ACM Runtime"
+database "ACM Database"
participant Participant
-database ACM_Database
alt Automation Composition Type has Deployed Instances
- REST <- ACM_Runtime: Priming of Automation Composition Type Failed, instances deployed
+ REST <- "ACM Runtime": Priming of Automation Composition Type Failed, \ninstances deployed
else Automation Composition Type is in state COMMISSIONED or PRIMED
- REST -> ACM_Runtime: Prime Automation Composition Type
+ 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
+ "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
+ "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
+ REST <- "ACM Runtime": Priming of Automation Composition Type Ordered
else
- REST <- ACM_Runtime: Priming of Automation Composition Type Faield, no sutiable participant found
+ REST <- "ACM Runtime": Priming of Automation Composition Type Faield, \nno sutiable participant found
end
else
- REST <- ACM_Runtime: Priming of Automation Composition Type Failed, invalid state
+ REST <- "ACM Runtime": Priming of Automation Composition Type Failed, \ninvalid state
end
@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml b/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml
index 4a9f7d17..27075ca9 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/PrimeInfoUpdatedInDb.puml
@@ -1,14 +1,16 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Result of Priming of AC Element Type
-ACM_Runtime -> ACM_Database: Record result of AC Element Type Priming
+"ACM Runtime" <- "Participant Replica 1": [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
+ "ACM Runtime" -> "ACM Database": Set AC Type state as PRIMED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml b/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml
index 0cf091c0..54be2af4 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/RegisterParticipant.puml
@@ -1,16 +1,24 @@
@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
+participant "ACM Runtime"
+database "ACM Database"
+activate Participant
+ Participant -> "ACM Runtime": [ASYNC] Register
+activate "ACM Runtime"
+deactivate Participant
+ "ACM Runtime" -> "ACM Database": Create a Participant Replica Registration,\n store supported ACM element types \n and set Replica State as ON_LINE
+ loop ACM Definition
+ "ACM Runtime" -> Participant: [ASYNC] Sync message\n send Common Property Values\n and Instance Elements of this Participant
+activate Participant
+ Participant -> Participant: Store Common Property Values and Instance Elements
+ end loop
+ alt
+ "ACM Runtime" -> Participant: [ASYNC] Registration Accepted
+deactivate "ACM Runtime"
+Participant -> Participant: set participant as registered
+Participant -> "ACM Runtime": [ASYNC] Status message
+deactivate Participant
+end
@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstance.puml b/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstance.puml
new file mode 100644
index 00000000..ce40a003
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstance.puml
@@ -0,0 +1,18 @@
+@startuml
+participant REST
+participant "ACM Runtime"
+participant Participants
+database "ACM Database"
+
+REST -> "ACM Runtime": Review Automation Composition Instance
+"ACM Runtime" -> "ACM Database": Read Automation Composition Instance Information
+
+alt Automation Composition Instance exists
+ "ACM Runtime" -> Participants: [ASYNC] Review AC Element Instances for this AC Instance
+ "ACM Runtime" -> "ACM Database": Set AC Instance and its AC Element Instances to subState REVIEWING
+ "ACM Runtime" -> REST: Review of Automation Composition Instance has been requested
+else
+ "ACM Runtime" -> REST: Automation Composition instance does not exist
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstanceElements.puml b/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstanceElements.puml
new file mode 100644
index 00000000..45454e6a
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/ReviewAcInstanceElements.puml
@@ -0,0 +1,25 @@
+@startuml
+participant "ACM Runtime"
+participant Participant
+participant "Participant API"
+
+"ACM Runtime" -> Participant: [ASYNC] Review 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?
+ Participant -> "Participant API": Review AC Element Instance
+ activate "Participant API"
+ Participant <- "Participant API": AC Element Instance Review Response
+ deactivate "Participant API"
+ alt AC Element Review completed
+ Participant -> Participant: Set AC Element Instance administrative subState to NONE
+ "ACM Runtime" <- Participant: [ASYNC] INFO: Review AC Element has been completed
+ 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/ReviewResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/ReviewResponseStored.puml
new file mode 100644
index 00000000..13287e61
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/ReviewResponseStored.puml
@@ -0,0 +1,19 @@
+@startuml
+
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Review Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
+
+alt Is Review AC Element Instance Completed?
+ "ACM Runtime" -> "ACM Database": Set AC Element Instance SubState as NONE
+ alt Are all the other AC Element Instances in this AC Instance in state NONE?
+ "ACM Runtime" -> "ACM Database": Set AC Instance SubState as NONE
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+ end
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuccessAcmResult.puml b/docs/clamp/acm/plantuml/system-dialogues/SuccessAcmResult.puml
new file mode 100644
index 00000000..69fde3bb
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/SuccessAcmResult.puml
@@ -0,0 +1,21 @@
+@startuml
+participant "ACM Runtime"
+participant "Participant Replica 1"
+participant "Participant API Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" -> "Participant Replica 1": [ASYNC] Trigger an ACM operation for this AC Instance
+alt Does the primed Participant ID on this AC Element Instance match my Participant ID?
+ alt Does this AC Element Instance exist?
+ "Participant Replica 1" -> "ACM Runtime": [ASYNC] AC Element does not exist
+ end
+ "Participant Replica 1" -> "Participant API Replica 1": Perform ACM operation
+ "Participant API Replica 1" -> "Participant Replica 1": ACM operation success Response
+ "Participant Replica 1" -> "ACM Runtime": [ASYNC] INFO: ACM operation completed successfully
+ note left of "Participant Replica 1"
+ This returns the response message with StateChangeResult 'NO_ERROR'
+ end note
+"ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusOutPropertiesUpdate.puml b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusOutPropertiesUpdate.puml
new file mode 100644
index 00000000..cc6a198d
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusOutPropertiesUpdate.puml
@@ -0,0 +1,12 @@
+@startuml
+
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+participant "ACM Runtime"
+database "ACM Database"
+
+"Participant Replica 1" -> "ACM Runtime": [ASYNC] Status message including outProperties update
+"ACM Runtime" -> "ACM Database": Update Participant Replica \nas 'ON_LINE' and outProperties
+"ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+"Participant Replica 2" -> "Participant Replica 2": Update memory from sync message
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml
index e5748e86..483692f0 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsStatusUpdate.puml
@@ -1,17 +1,12 @@
@startuml
participant Participant
-participant ACM_Runtime
-database ACM_Database
+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
+ Participant -> "ACM Runtime": [ASYNC] Heartbeat message including\nreplica ID and participant ID
+ "ACM Runtime" -> "ACM Database": Update Participant Replica as 'ON_LINE'
end
@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml
index 89a7d16a..0032b839 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/SuperviseParticipantsTimeout.puml
@@ -1,16 +1,13 @@
@startuml
-participant ACM_Runtime
-database ACM_Database
+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
+loop Every ACM Runtime Supervision Interval
+ loop Over all Participant replicas
+ "ACM Runtime" -> "ACM Database": Read Participant Replica Heartbeat Information
+ alt Participant Replica Heartbeat not received in Timeout Interval
+ "ACM Runtime" -> "ACM Database": Set Participant Replica State as OFFLINE
end
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml
index e44183d4..7ab7e5f3 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/UndeployResponseStored.puml
@@ -1,16 +1,18 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Undeploy Automation Composition Element Instance Response
-ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Undeploy Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
alt Is AC Element Instance undeployed?
- ACM_Runtime -> ACM_Database: Mark AC Element Instance as 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
+ "ACM Runtime" -> "ACM Database": Set AC Instance state as UNDEPLOYED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml b/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml
index 44e7e906..0f7ce94f 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/UnlockResponseStored.puml
@@ -1,16 +1,18 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Unlock Automation Composition Element Instance Response
-ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Unlock Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
alt Is AC Element Instance Unlocked?
- ACM_Runtime -> ACM_Database: Set AC Element Instance administrative state as 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
+ "ACM Runtime" -> "ACM Database": Set AC Instance administrative state as UNLOCKED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateAcElementsResponse.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateAcElementsResponse.puml
new file mode 100644
index 00000000..ed161745
--- /dev/null
+++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateAcElementsResponse.puml
@@ -0,0 +1,19 @@
+@startuml
+
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
+
+"ACM Runtime" <- "Participant Replica 1": [ASYNC] Update Automation Composition Element \nInstance Response
+"ACM Runtime" -> "ACM Database": Store Automation Composition Element Instance \nResponse Information
+
+alt Is AC Element Instance Updated?
+ "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 Database": Set AC Instance state as DEPLOYED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
+ end
+end
+
+@enduml
diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml
index b52dc817..a75908bb 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateDeprimeInDb.puml
@@ -1,14 +1,16 @@
@startuml
-participant ACM_Runtime
-participant Participant
-database ACM_Database
+participant "ACM Runtime"
+database "ACM Database"
+participant "Participant Replica 1"
+participant "Participant Replica 2"
-ACM_Runtime <- Participant: [ASYNC] Result of Depriming of AC Element Type
-ACM_Runtime -> ACM_Database: Record result of AC Element Type Depriming
+"ACM Runtime" <- "Participant Replica 1": [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
+ "ACM Runtime" -> "ACM Database": Set AC Type state as COMMISSIONED
+ "ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
end
end
diff --git a/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml b/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml
index 538242ae..47e0ea34 100644
--- a/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml
+++ b/docs/clamp/acm/plantuml/system-dialogues/UpdateOperationalState.puml
@@ -1,16 +1,19 @@
@startuml
-participant Participant_API
-participant Participant
-participant ACM_Runtime
+participant "Participant API Replica 1"
+participant "Participant Replica 1"
+participant "ACM Runtime"
+participant "Participant Replica 2"
-Participant_API -> Participant_API: Perform Operation that Updates Operational State
-activate Participant_API
-deactivate Participant_API
+"Participant API Replica 1" -> "Participant API Replica 1": Perform Operation that Updates \nOperational State, Use State and outProperties
+activate "Participant API Replica 1"
+deactivate "Participant API Replica 1"
-Participant_API -> Participant: Operational State has been updated
-Participant -> Participant: Update Operational State in ACM Element Instance
+"Participant API Replica 1" -> "Participant Replica 1": Operational State, Use State and outProperties \nhas been updated
+"Participant Replica 1" -> "Participant Replica 1": Update Operational State, Use State and outProperties \nin ACM Element Instance
+"Participant Replica 1" -> "ACM Runtime": [ASYNC] Send message including states and outProperties \nof AC Element Instances on Participant
+"ACM Runtime" -> "Participant Replica 2": [ASYNC] Send sync message
== Periodically with Heartbeat ==
-Participant -> ACM_Runtime: [ASYNC] Heartbeat message including\nstatus and states of AC Element Instances on Participant
+"Participant Replica 1" -> "ACM Runtime": [ASYNC] Heartbeat message including status
@enduml