10.Subsystem Control
Subsystem Control implements exclusive control of the subsystem. The client is required to gain control of the Subsystem before it can obtain the exclusive control of the services provided by the components of the subsystem.
Require: none
Inherit from: none
10.1 Service Behavior
10.1.1 State Diagram
Figure 9 Platform State Diagram
10.1.2 State Actions
State | Actions |
---|---|
NOT CONTROLLED |
|
UNDER CONTROL |
|
10.1.3 Internal Events
Event | Parameters | Purpose |
---|---|---|
ieReceiveMessage | Process messages |
10.1.4 Transitions
Transition | Trigger | Condition | Action |
---|---|---|---|
A | Request Subsystem Control is received and certificates of the client are verified. | Certificate of the client is verified. | Save the controlling client and sends Confirm Subsystem Control. |
B | Release Subsystem Control is received. | Sender is the controlling client | Clear the controlling client and sends Reject Subsystem Control. |
B | Subsystem Control timeout. | Does not receive Request Subsystem Control from the client | Clear the controlling client and sends Reject Subsystem Control. |
C | Request Subsystem Control is received within timeout. | Sender is the controlling client and certificate of the client is verified |
10.2 Protocol
10.2.1 Incoming Message Set
# | ID | Message |
---|---|---|
1 |
H:0x00000001 L: 0x0000011F |
Query Subsystem Control |
2 |
H:0x00000001 L: 0x00000121 |
Request Subsystem Control |
3 |
H:0x00000001 L: 0x00000122 |
Release Subsystem Control |
4 |
H:0x00000001 L: 0x00000123 |
Request Handover |
10.2.2 Outgoing Message Set
# | ID | Message |
---|---|---|
1 |
H:0x00000001 L: 0x00000120 |
Report Subsystem Control |
2 |
H:0x00000001 L: 0x00000125 |
Confirm Subsystem Control |
3 |
H:0x00000001 L: 0x00000126 |
Set Session Uuid |
4 |
H:0x00000001 L: 0x00000127 |
Request Release |
5 |
H:0x00000001 L: 0x00000128 |
Reject Subsystem Control |
6 |
H:0x00000001 L: 0x00000129 |
Confirm Handover |
10.3 Parameters
- CYCLEINTERVAL double, time interval in seconds of each cycle, default=0.1.
- SUBSYSTEMCONTROLTIMEOUT double, timeout in seconds not receiving request subsystem control messages from the controlling client, default=2.0.
- DEFAULTAUTHORITY uint8, the lowest authority that requesting client needs to have in order to have control, default=1.
- SETSESSIONINTERVAL double, time interval in seconds to broadcast the session uuid to all components in the subsystem, default=1.0.