@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 activate server activate plugin ==Goal== [-> client: neuer ActionClient activate client client -> server: Goal-Anfrage server -->> client: Antwort auf Anfrage alt Anfrage akzeptiert? server ->> plugin: neuen Status und Ziel setzen plugin -->> server: Zustandswechsel bei\nnächstem Simulationsschritt == Feedback== group opt par [Abbruch der Aktion] client->server: Cancel-Anfrage server->plugin: Status auf Idle setzen plugin -->> server: Zustandswechsel auf Idle server-->>client: positive Abbruchantwort end loop Bis Aktion vollständig ausgeführt oder abgebrochen ist plugin -->> server: Feedback server -->> client: Feedback end ==Result== plugin -->> server: Zustandswechsel auf Idle server -->> client: Result-Antwort end destroy client @enduml