MasterarbeitLaTeX/uml/plugin_connectivity.puml
2023-06-07 00:32:35 +02:00

45 lines
1.1 KiB
Plaintext

@startuml plugin_connectivity
skinparam fixCircleLabelOverlapping true
skinparam SequenceLifeLineBorderColor #B0B0B0
skinparam SequenceDividerBorderColor Gray
skinparam SequenceGroupBorderColor Gray
skinparam sequenceMessageAlign Center
skinparam ArrowColor #404040
participant "ROS ActionClient" as client
participant ActorServer as server
participant ActorPlugin as plugin
note left of client: Protocol:
/note left of server: ros_action
/note left of plugin: MessageQueue
==Goal==
activate server
activate plugin
[-> client: create ActionClient
activate client
client -> server: goal request
server -->> client: goal response
alt goal accepted
server ->> plugin: set state and target
plugin -->> server: state change
== Feedback==
group opt par [abort of current action]
client->server: abort request
server->plugin: set state to Idle
server-->>client: abort response
end
loop until action is completed or aborted
plugin -->> server: feedback
server -->> client: feedback callback
end
==Result==
plugin -->> server: state change
server -->> client: result callback
end
destroy client
@enduml