Component Allocation to a physical path in the Physical Architecture

When working at the physical level in Capella I have an external actor with a component exchange to a behaviour within our system. This behaviour is deployed to a physical node.

I have a physical path that does from the actor through another physical component and finally to the component with the deployed behaviour. When trying to allocate the Component exchange to the Physical Path, the transfer dialog is empty (see image below).

If there is a physical path between the PA 2 and PC 1 this shows the component exhange correctly. If I also create the same representation at the Logical level (using 2 actors and a physical path to the logical system) it also shows the component exhange correctly.

Can anyone advise if I am using this function incorrectly or is this a bug in Capella 6.0.0?

It may be a bug (or not) but to make it work, you should create a Behavior PC inside your actor and have the Component exchange to start from it.

Stephane

Thanks @StephaneLacrampe for the input.

I can add a behaviour to all our actors at the physical level but this seems to go against the general intent of the external actor (not to mention that based on the number of actors, functions and exchanges we have this is not a small task to perform as all functions will also need to be re-allocated).

This solution also loses some traceability back to the logical elements and requires me to duplicate the realisation link from the new behaviour to the logical actor.

I am happy to raise a bug for this but just wanted to confirm what the intended behaviour is.

I cannot really answer your question. To me if you can create a component exchange that depart directly from you Actor (and not its behaviour component), then you should be able to allocate the component exchange to the Physical Path, so it sounds like a bug, but maybe the bug is that you should not be able to create the component exchange departing from the actor in the first place.

So I suppose that before going into a large task, it would be interesting to have some input from someone who knows. Or maybe someone may suggest a better alternative that what I suggested.

In case you do have to do all these changes to make this work, Python4Capella may be worth it for automating the changes, that would depend how familiar you are with coding with Python.

Stephane

Yes, unfortunately this is a problem in Capella because an external actor is involved.

As Capella allows us to create both physical links and component exchanges from actors, and mostly to allocate directly functions inside them, it kindly considers an actor both as a Node and a Behavior, to prevent us from being obliged to add unnecessary behavior PC inside, which would be very annoying…
So it should work also with physical paths, but unfortunately this is not the case yet…

To confirm what I previously said, this is an extract from Capella on-line help (Thematic Highlights/Enhancements of the implementation of Actors):

So I have discussed this topic with the Capella team @ Thales and this is indeed something that should be working. We’re going to see if we can find the resources to fix it for the next release.

Thanks @StephaneLacrampe,
Out of interest I have created an associated issue as below

Allocation of component exchanges to a Physical Path in PA does not work when using an Actor (without a behaviour) · Issue #2673 · eclipse/capella (github.com)