@startuml skinparam BackgroundColor F0F0F0 actor Driver participant "System Manager" as sysmgr participant "Dependency Graph" as graph participant Service as srv Driver -> sysmgr: Pass a list\nof services sysmgr -> graph **: create ||| sysmgr -> graph: addServices() ||| sysmgr -> graph: topologicalSort() ||| activate graph graph --> sysmgr: sorted services deactivate graph destroy graph ||| loop for each service in sorted services sysmgr -> srv: Start srv --> sysmgr: Confirmation end ||| @enduml