summaryrefslogtreecommitdiffstats
path: root/docs/clamp/acm/plantuml/states
diff options
context:
space:
mode:
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