@startuml package "simulator" { component engine [ engine - engine.py - dynamicloader.py - Interface.ui ] 'package "plugins" { package plugins(SW) { component p1 [ plugin-1 - interface.ui - loader.py ] component p2[ plugin-1 - interface.ui - loader.py ] } package plugins(VV) { component p3 [ plugin-3 - interface.ui - loader.py ] component p4 [ plugin-4 - interface.ui - loader.py ] } '} } package "dialin" { component ui [ ui ] CAN - [protocols] component protocols [ protocols ] component common [ common ] component utils [ utils ] } [engine] ..> [plugins(SW)] [engine] ..> [plugins(VV)] [p1] <--> [dialin] [p3] --> [dialin] [ui] -> [protocols] @enduml