...
PlantUML Macro | ||||
---|---|---|---|---|
| ||||
@startuml [*] --> UNINITIALIZED: Created by\nACM Runtime UNINITIALIZED --> PASSIVE: Initialize (Success) UNINITIALIZED --> UNINITIALIZED_ERROR: Initialize (Error) UNINITIALIZED_ERROR PASSIVE --> UNINITIALIZED: UnitializeResetUninitialize (Success) UNINITIALIZED_ERRORPASSIVE --> UNINITIALIZEDPASSIVE_ERROR: UnitializeResetUninitialize (Error) PASSIVE_ERROR --> UNINITIALIZED: Uninitialize (Success) PASSIVE_ERROR --> PASSIVE_ERROR: Uninitialize (Error) PASSIVEUNINITIALIZED_ERROR --> PASSIVEUNINITIALIZED: PassiveResetUnitializeReset (Success) PASSIVEUNINITIALIZED_ERROR --> PASSIVEUNINITIALIZED_ERROR: PassiveResetUnitializeReset (FailureError) PASSIVE_ERROR --> UNINITIALIZEDRUNNING: UninitializeActivate (Success) PASSIVE_ERROR --> UNINITIALIZEDPASSIVE_ERROR: UninitializeActivate (ErrorFailure) PASSIVE_ERROR --> RUNNINGPASSIVE: ActivatePassiveReset (Success) PASSIVE_ERROR --> PASSIVE_ERROR: ActivatePassiveReset (Failure) PASSIVE_ERROR --> UNINITIALIZED_ERROR: ForceUninitialize RUNNING --> PASSIVE: Passivate (Success) RUNNING --> RUNNING_ERROR: Passivate (Error) RUNNING_ERROR --> PASSIVE: Passivate (Success) RUNNING_ERROR --> PASSIVE_ERROR: RuntimeErrorPassivate (Error) RUNNING_ERROR --> RUNNING_ERROR: RuntimeResetRuntimeError RUNNING_ERROR --> RUNNING: ClearRuntimeError RUNNING_ERROR --> PASSIVERUNNING: Passivate (Success) RUNNINGRuntimeReset RUNTIME_ERROR --> PASSIVE_ERROR: Passivate (Error)ForcePassive @enduml |
Then, a Control Loop Element can be running a number of operations, each of which has an operational state:
Operational State | From State | To | Result | Triggered | Description |
---|---|---|---|---|---|
No_Operation | None | None | N/A | None | No operation in progress |
Initialize | UNINITIALIZED UNINITIALIZED | PASSIVE UNINITIALIZED_ERROR | Success Fail |
ACM Runtime |
Makes an ACM Element ready for operation | ||
Uninitialize | PASSIVE PASSIVE PASSIVE_ERROR PASSIVE_ERROR | UNINITIALIZED PASSIVE_ERROR UNINITIALIZED PASSIVE_ERROR |
Success Fail Success Fail | ACM Runtime | Takes an ACM Element out of operation | |
UnitializeReset | UNINITIALIZED_ERROR UNINITIALIZED_ERROR | UNINITIALIZED UNINITIALIZED_ERROR |
Success Fail | ACM Runtime |
Clear an uninitialization error on an ACM Element for operation |
Activate | PASSIVE PASSIVE | RUNNING PASSIVE_ERROR | Success Fail | Participant | Bring an ACM element into service |
PassiveReset | PASSIVE_ERROR PASSIVE_ERROR | PASSIVE PASSIVE_ERROR | Success Fail | ACM Runtime | Clear an error on an ACM Element that is passive |
ForceUninitialize | PASSIVE_ERROR | UNINITIALIZED_ERROR | N/A | ACM Runtime | Force a participant out of operation |
Passivate | RUNNING RUNNING RUNNING_ERROR RUNNING_ERROR | PASSIVE RUNNING_ERROR PASSIVE RUNNING_ERROR | Success Fail | ACM Runtime Participant | Bring an ACM element out of service |
RuntimeError | RUNNING | RUNNING_ERROR | N/A | Participant | Participant flags a runtime error |
ClearRuntimeError | RUNNING_ERROR | RUNNING | N/A | pariticpant | Participant clears a runtime error flag |
ForcePassive | PASSIVE_ERROR | UNINITIALIZED_ERROR | N/A | ACM Runtime | Force a participant out of runtime state |
A Control Loop Element has a status indicator
...