If you want to model communication channel which crosses part of the system but does not affect it you can use delegation connector. This would allow to send signal from one system part forward it through intermediate one and receive it at target system part.
Video demonstrating sample
Let’s take rocket model sample. Our rocket has 3 stages (Fig 1).
Stage 3 has flight control computer which shall send engine ignite signal to stage 3 engines. Signal shall go through wire which is crossing stage 2 (Fig 2).
Note that connector connecting stage 2 ports kind is delegation. Other connectors in this diagrams are assembly.
How to create delegation connector?
Connector kind is derived property. Its value (assembly or delegation) is based on what connector connects. To create delegation connector for stage 2 follow these steps:
- Create IBD for Stage 2 block (Fig 3)
- Connect ports with connector in created IBD (Fig 3)
- Go to your Rocket IBD select stage 2 part ports and show created connector. Delegation connector will be displayed. (Fig
Next send ignite signal and using model execution with animation verify it passing to stage 1 (Fig 5).
Used MagicDraw project file: delegation connector.mdzip
“A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the internal realization of that behavior by the component’s parts. It represents the forwarding of signals (operation requests and events): a signal that arrives at a port that has a delegation connector to a part or to another port will be passed on to that target for handling.” Source: OMG, OMG. “Unified modeling language (omg uml).” Superstructure (2009).