...
Control Loop Update handles creation, change, and deletion of control loops on participants. Change of control loops uses a semantic versioning approach and follow the semantics described on the page TOSCA Defined Control LoopLoops: Architecture and DesignDesign#4.1ControlLoopVersionManagement.
The handling of a ControlLoopUpdate message in each participant is as shown below.
...
Message | Source | Target | Purpose | Important Fields | Field Descriptions |
---|---|---|---|---|---|
ParticipantRegister | Participant | CLAMP Runtime | Participant registers with the CLAMP runtime | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
ParticipantRegisterAck | CLAMP Runtime | Participant | Acknowledgement of Participant Registration | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
Result | Success/Fail | ||||
Message | Message indicating reason for failure | ||||
ParticipantUpdate | CLAMP Runtime | Participant | CLAMP Runtime sends Control Loop Element Definitions and Common Parameter Values to Participants | ParticipantDefinitionUpdateMap | Map with Participant ID as its key, each value on the map is a ControlLoopElementDefintionMap |
ControlLoopElementDefintionMap | List of ControlLoopElementDefinition values for a particular participant, keyed by its Control Loop Element Definition ID | ||||
ControlLoopElementDefinition | A ControlLoopElementToscaServiceTemplate containing the definition of the Control Loop Element and a CommonPropertiesMap with the values of the common property values for Control Loop Elements of this type | ||||
ControlLoopElementToscaServiceTemplate | The definition of the Control Loop Element in TOSCA | ||||
CommonPropertiesMap | A <String, String> map indexed by the property name. Each map entry is the serialized value of the property, which can be deserialized into an instance of the type of the property. | ||||
ParticipantUpdateAck | Participant | CLAMP Runtime | Acknowledgement of Participant Update | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
Result | Success/Fail | ||||
Message | Message indicating reason for failure | ||||
ParticipantDeregister | Participant | CLAMP Runtime | Participant deregisters with the CLAMP runtime | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
ParticipantDeregisterAck | CLAMP Runtime | Participant | Acknowledgement of Participant Deegistration | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
Result | Success/Fail | ||||
Message | Message indicating reason for failure | ||||
ControlLoopUpdate | CLAMP Runtime | Participant | CLAMP Runtime sends Control Loop Element instances and Instance Specific Parameter Values for a Control Loop Instance to Participants | ControlLoopId | The name and version of the Control Loop |
ParticipantUpdateMap | Map with Participant ID as its key, each value on the map is a ControlLoopElementList | ||||
ControlLoopElementList | List of ControlLoopElement values for the Control Loop | ||||
ControlLoopElement | A ControlLoopElement, which contains among other things a PropertiesMap with the values of the the property values for this Control Loop Element instance | ||||
PropertiesMap | A <String, String> map indexed by the property name. Each map entry is the serialized value of the property, which can be deserialized into an instance of the type of the property. | ||||
ControlLoopUpdateAck | Participant | CLAMP Runtime | Acknowledgement of Control Loop Update | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
ControlLoopId | The name and version of the Control Loop | ||||
ControlLoopResult | Holds a Result and Message for the overall operation on the participant and a map of Result and Message fields for each Control Loop Element of the control loop on this participant | ||||
Result | Success/Fail | ||||
Message | Message indicating reason for failure | ||||
ControlLoopStateChange | CLAMP Runtime | Participant | CLAMP Runtime asks Participants to change the state of a Control Loop | ControlLoopId | The name and version of the Control Loop |
currentState | The current state of the Control Loop | ||||
orderedState | The state that the Control Loop should transition to | ||||
ControlLoopStateChangeAck | Participant | CLAMP Runtime | Acknowledgement of Control Loop State Change | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
ControlLoopId | The name and version of the Control Loop | ||||
ControlLoopResult | Holds a Result and Message for the overall operation on the participant and a map of Result and Message fields for each Control Loop Element of the control loop on this participant | ||||
Result | Success/Fail | ||||
Message | Message indicating reason for failure | ||||
ParticipantStatusReq | CLAMP Runtime | Participant | Request that the specified participants return a ParticipantStatus message immediately | ParticipantId | The ID of this participant, if not specified, all participants respond. |
ParticipantStatus | Participant | CLAMP Runtime | Periodic or on-demand report for heartbeat, Participant Status, Control Loop Status, and Control Loop Statistics | ParticipantId | The ID of this participant |
ParticipantType | The type of the participant, maps to the capabilities of the participant in Control Loop Type Definitions | ||||
ParticipantDefinitionUpdateMap (returned in repsonse to ParticipantStatusReq only) | See ParticipantUpdate message above for definition of this field | ||||
ParticipantStatus | The current status of the participant for monitoring | ||||
ParticipantStatistics | Statistics on the participant such as up time, or messages processed. Can include participant specific data in a string blob that is opaque to CLAMP | ||||
ControlLoopInfoMap | A map of ControlLoopInfo types indexed by ControlLoopId, one entry for each control loop running on the participant | ||||
ControlLoopInfo | The ControlLoopStatus and ControlLoopStatistics for a given control loop | ||||
ControlLoopStatus | The current status of the control loop for monitoring | ||||
ControlLoopStatistics | Statistics on the control loop such as up time, or messages processed. Can include participant specific data in a string blob that is opaque to CLAMP |