Hi,
This was a good question! I had to play around a bit a see how the legacy tooling behaves, including going back one older generation to RoseRT. Before going into the details how it looks like, I need to point out an important difference between RSARTE and RoseRT and its meta-models. Especially this question about where the primary context for editing a port and its properties are made, i.e. on the "outside" or on the "inside". RoseRT is based on UML 1.x and ports on capsule parts is handled differently, and so is the terminology. In RoseRT you have capsule roles on which you have port roles. The capsule role is typed by the capsule and the port roles are "typed" by, i.e. references, the ports on the corresponding capsule. So what you see on the outside are not the ports themselves, but port roles, and the properties presented in the properties dialog are basically a read-only subset of the properties of the port. This is rather different in RSARTE (and Papyrus-RT) based on UML 2.x where you see the actual ports directly on the outside on the capsule part. So yes, in RoseRT you *have* to go inside to to see, and edit, all properties of a port. But in RSARTE/Papyrus-RT you directly see all the properties, and can edit them, on the outside as well. So you don't have to go inside in the corresponding way as you had to in RoseRT. Just clarifying a (rather fundamental) conceptual difference between those two different generations of legacy tooling.
So, I made a similar model as what Christian made, but also extended it a bit to show a redefinition case as well. We have three inheritance chains Capsule1 <- Capsule2 <- Capsule3 and CapsuleA <- CapuleB <- CapsuleC. In CapsuleA have port "protocol1", CapsuleB adds port "protocol1_2" and CapsuleC adds port "protocol1_3" and redefines port protocol1.

As can be seen, the legacy tooling in RSARTE consistently visualizes the ports on the outside the same as on the inside. I assume that this makes most sense considering the fact that you can see and edit all the properties of a port, both on the outside as well as on the inside. Some things to be noted on the redefinition cases in Capsule3. Both the capsule part and the port have their labels in bold to indicate that they redefines their types. But only the capsule part have the redefinition annotation (filled arrow) in the top right corner. The port does not have it (it would probably make the port to be too cluttered). The redefinition annotation is shown on the port on the inside though as expected.
But what if we compare with an earlier generation of legacy tooling and check how this looks like in RoseRT?
As you can see, this is now more in line with what Christian proposes. But since we have this (rather fundamental) conceptual difference as explained above, I really think that the way RSARTE is doing it, i.e. the port is visualized the same on the inside as on the outside, makes more sense, since they *are* the same, and not as it actually was in RoseRT where it was a port role that you saw on the outside.
Regarding the connector, it should as Ernesto pointed out, and as can be seen above, be shown as "washed out" as well. We have concluded that there is an oversight in the UML-RT profile and profile document regarding the exclusion/redefinition of connectors. This is tracked by
bug 507968. Bran have confirmed that this a fault in the profile document.
Basically I would only expect to connectors to be excluded, which is just the special case of redefining it with nothing. To "redefine" and inherited connector by re-orient/re-route it feels strange and overly complex. I actually tried it in the legacy tooling and it behaved really strange and the semantic model and the diagrams got out of synch. When re-routing the inherited connector in the specialized context, the connector in the general context was updated, but not its diagram. The connector end lost it reference to port on part, just ending up in a big inconsistency. So not even the legacy tooling handles this in a good way (I guess the re-routing of the connector should have been blocked in the specializing context).
I think that the absolutely most easy is to simply state that connectors can basically only be excluded. So if you want to "re-route" an inherited connector you basically first exclude it, i.e. basically remove it in the inheriting context, and then draw a new connector. From user perspective this is probably the most simple and straight-forward way of doing it.
Regarding adding additional connectors for inherited ports, I would say that it feels like something that you would like to do. Of course the replication factor of the inherited port and existing connectors in the general context must allow for additional connectors to be added in the specializing context. But I guess this must checked so that the code-generator and run-time can handle it properly. Ernesto, any comments regarding this?
/Peter Cigéhn