Port delegation

I have a question about Port delegation
The automatic showing of sub function ports on parent functions in system and logical flow diagrams is a feature of Capella that I appreciate. I notice though that there is not a similar functionality for component ports. For them it appears the delegation mechanism is provided. Thus when I put a port « SP » on a sub component and a port « PP » on a parent component, I can connect SP to PP with a delegation connector. I can now connect an external component with port « XP » to the nested components with an exchange between XP and PP, « XP PP ». That is OK.
Now when I allocate a function « F » with a port « FP » to the sub component and a function « G » with a port « GP » to the external component; I would like to allocate the flow between « F » and « G » to the component links. The allocation management proposes the exchange « XP PP » which I select. The result shows port allocation of the functional port FP to the parent component port PP. The port SP is thus effectively delegated to PP and bypassed in the graphical presentation. Graphically it is not pretty. It also means that SP is useless, I could have the same result, cleaner, deleting SP and not using delegation. In addition, if I try to patch it up by directly allocating the port FP to SP I just get additional lines as if there were multiple flows.
Is this a bug? If not what is the philosophy implemented here?

I agree with you, this is probably not a bug but a misunderstanding in Capella design.
If you define a component port on an inner component, such as SP on S, this is because the inner component has to exist by its own (for example for reuse purpose). So its definition should be self-sufficient; so a functional port of an inner component should only be allocated to a port of this inner component itself (port FP on port SP here).
In my opinion, the design of the ‘functional exchange to component exchange allocation’ should be revisited and corrected accordingly.

I agree the current behavior of Capella is not the right one, and it should be fixed (feel free to report that in the Capella bugzilla).
There is a workaround though: delete these Port Allocations, and create the correst ones from the diagram palette. Annoying, but that does the job…

Regarding port delegation, I would like to know if there are any changes for functions allocation.
As mentionned by Arun, I use port delegation with my Logical components as follows:
(1) Definition of my logical components
(2) Definition of their flows
(3) Adding delegation connectors for some of them
(4) Allocation of the functions to these logical components.
(5) Allocation of the functional exchanges to the logical flows
But I still have this issue mentionned by Arun. Meaning that the graphical presentation is limited to the flow and not the sub-flow (delegation).
How could I fix it and what is the right process to allocate functional exchanges through delegation.
Thanks in advance.
Romain D.

Copyright © Eclipse Capella, the Eclipse Capella logo, Eclipse and the Eclipse logo are Trademarks of The Eclipse Foundation.