diff options
Diffstat (limited to 'docs/clamp/acm/plantuml/states')
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 |