summaryrefslogtreecommitdiffstats
path: root/docs/clamp/acm/plantuml/states
diff options
context:
space:
mode:
authorsaul.gill <saul.gill@est.tech>2023-03-27 14:31:00 +0100
committersaul.gill <saul.gill@est.tech>2023-03-27 15:17:35 +0100
commitd405151fb7af327892e86cd5673809a231d2879b (patch)
tree2e5a542044e07cf41d9c26ab8f19667af4bcac4b /docs/clamp/acm/plantuml/states
parent4e26b8883b250a91ae90deaf5657dc00fbf03bcc (diff)
Adding new state and system diagrams/pages
Added images for state diagrams Added images for system level dialogues diagrams Added puml for state diagrams Added puml for system level dialogues diagrams Added page content with diagrams Updated page links Issue-ID: POLICY-4598 Change-Id: Ife009a94f6b0b378fb565bdc097dba251ea74596 Signed-off-by: saul.gill <saul.gill@est.tech>
Diffstat (limited to 'docs/clamp/acm/plantuml/states')
-rw-r--r--docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnPpnt.puml14
-rw-r--r--docs/clamp/acm/plantuml/states/AcElementInstanceStatesOnRuntime.puml22
-rw-r--r--docs/clamp/acm/plantuml/states/AcElementTypeStatesOnPpnt.puml7
-rw-r--r--docs/clamp/acm/plantuml/states/AcElementTypeStatesOnRuntime.puml12
-rw-r--r--docs/clamp/acm/plantuml/states/AcInstanceStates.puml22
-rw-r--r--docs/clamp/acm/plantuml/states/AcTypeStates.puml12
-rw-r--r--docs/clamp/acm/plantuml/states/DeregisterParticipant.puml20
-rw-r--r--docs/clamp/acm/plantuml/states/FullParticpantReport.puml11
-rw-r--r--docs/clamp/acm/plantuml/states/GetParticipantInformation.puml11
-rw-r--r--docs/clamp/acm/plantuml/states/ParticipantStates.puml10
-rw-r--r--docs/clamp/acm/plantuml/states/RegisterParticipant.puml16
-rw-r--r--docs/clamp/acm/plantuml/states/SuperviseParticipantsStatusUpdate.puml17
-rw-r--r--docs/clamp/acm/plantuml/states/SuperviseParticipantsTimeout.puml18
13 files changed, 192 insertions, 0 deletions
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