Missing Ports/Exchanges on New Diagrams

Hello everyone! I’ve been using Capella for about half a year, and this is my first post here - hurray!

I’m running into this odd issue. I’m running Capella 5.1.0 I’m creating a series of PABs, and I’m noticing that sometimes Capella doesn’t pull in all the ports on an object when added to a new diagram. I’ve see this with Physical Ports on Node PCs, Component Ports on Behavioral PCs, and Function Ports on Physical Functions. The associated exchange/link will also be missing.

Here’s an example below where one component port is missing and one physical port is missing, along with their associated exchange/link. (My apologies - I know the covered up names makes the example more questionable.)

Any idea why one of my PABs seem to be missing some ports? I’ve tried refreshing the diagram, hiding/unhiding (the missing ports show up as not hidden), closing/reopening the project, and closing/reopening Capella. The one thing that seems to work is to edit the model itself. If (in a diagram where they are displayed) I move the ports to another object and move them back, they suddenly show up on the diagram with the problem. This is not a good workaround in my mind, as I don’t want to inadvertently change the model by accident or mess up port allocations as I’m doing this.

Thank you!

Hi Nate,
This looks weird. Would you be able to copy your project, remove most of its content and obfuscate it to share it so that we can have a look at what’s going on?

Hi Nate,

This bug has been around for a while. I follow this workaround procedure:

  1. Selecting the insert/remove physical link/component exchange/functional exchange and clicking on one of the source/end node/component/function of the missing link/exchange to get the insert/remove wizard dialogue
  2. The missing link should be indicating as present (right hand side of the window) - select it and move it to the left (i.e. try and remove it from the diagram) then click OK

This should force the removal and re-insertion (assuming it is a synchronised diagram) of the link and clear up the issue.


Thank you for the fast responses! I have tried out Dave’s suggestion a couple times with some success, but wanted to get more evaluation in for some feedback. Unfortunately this post turned into a bit of a read.

The short read is that hiding everything and showing everything fixed the problem, but left me with some cleanup work to hide all the things that I don’t want visible (like port labels which are hidden by default).

Dave, your workaround worked for me most of the time, BUT there were at least two cases where it did not work - one I’m experiencing right now. In fact, it seems like I’m experiencing this issue in two different ways in the same diagram:

Case #1: When I open the component exchange wizard, it shows the component exchange on the left-hand side. If I move it to the right side and press “OK”, nothing happens on the diagram. If I open up the wizard again, the component exchange shows up back on the left side. This situation is a little different than my original post, because both components have the component ports for the exchange - in my original post, both the ports and the exchange were missing.

(One additional comment here after getting success with the hide-all-show-all solution below, I did an couple undos to get back to this state. I then searched the list in the hide/show dialog and found that two of the component exchanges where I was having this Case #1 issue were in fact unchecked, meaning hidden. If I checked them, they then would show up. Now, I did look through the dialogue box initially before doing the solution below - both searching and manually browsing - and I did not find the component exchanges. Maybe they were actually missing then, or maybe I didn’t look hard enough. I’ll need to prove it to myself next time to be convinced that it wasn’t just user error this time.)

Case #2: For another component exchange in this diagram, it does show up on the right side in the component exchange wizard. I move it to the left side and click “OK”, but nothing changing in the diagram. When I open up the component exchange wizard again, it appears on the right side. This situation is also different than the original post - both components have the port for this exchange.

A similar, and maybe related, issue I’ve experienced is not being able to get a port to display. In this case, I had yet to attach an exchanged to the port (I was reshuffling some things, including moving some objects into a library and into RECs).

Here is one solution I’ve found.

  1. I open the show/hide window (Diagram elements visibility), I hide everything (with the uncheck all button) and click “OK”. This removes everything from my diagram.
  2. Next, I open the show/hide window and show everything (check all button) and click “OK”. Now both the missing exchanges from case #1 and case #2 show up!

The problem with this solution is now there’s a bunch of stuff on my diagram that I don’t want, such as labels on every port. Question: Is there way to revert to a default show/hide setup, so that then I can just change the couple elements where I want to deviate from the default?

I should also mention that these diagrams are getting somewhat complex. They fit on one screen, but I do some filtering/un-filtering and hiding/showing to 1) facilitate working on the diagram and then 2) for the final shareable diagram. I wonder if a certain order of filtering/showing get some of these elements into these odd states where they don’t want to show up again.

Stephane, if there is still something you’d like to look into, I can try to scrub the project and get you a copy.