@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 [-> client: neuer ActionClient activate client client -> server: Zielvorgabe server -->> client: Antwort auf Zielvorgabe alt Zielvorgabe akzeptiert? server ->> plugin: neuen Status und Ziel setzen plugin -->> server: Zustandswechsel bei\nnächstem Simulationsschritt group opt par [Abbruch der Aktion] client->server: Abbruchanfrage 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 plugin -->> server: Zustandswechsel auf Idle server -->> client: Endnachricht end destroy client @enduml