Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [papyrus-rt-dev] Visuals of Inherited Ports on Parts

Hi,

On 29 November 2016 at 19:07, Ernesto Posse <eposse@xxxxxxxxxxxxx> wrote:
[epp] I'm not entirely sure what you mean by visualizing a port "on the inside" and "on the outside". Is this in reference to port protocol1_2 of part capsuleB in Capsule2? To me it is very counterintuitive to show it "as is" (i.e. as it is defined in CapsuleB) rather than washed-out.

Yes, with "on the inside" I mean the in the context of the capsule itself, and "on the outside" I mean in the context of a capsule part typed by that capsule. This terminology is so natural for me, so I have always assumed that this was clear. There is a rather fundamental navigation in legacy tooling referred to as "Go Outside...", see Bug 494554 regarding this feature, where you navigate from a capsule to any capsule part being typed by that capsule.

Regarding this being counter-intuitive or not, is what I (hope) that I tried to explain regarding the big conceptual difference between RoseRT and RSARTE. Yes, if you have the "mental model" that the ports on the capsule parts ("on the outside") is another "thing" than the port on the capsule itself ("in the inside"), i.e. exactly as it worked in RoseRT and its meta-model with "port roles" on the "capsule role" on the "outside" vs. the "ports" on the "capsule" on the "inside" then you probably feel that this is counter-intuitive. 

But in RSARTE (and Papyrus-RT) the port visualized on the capsule part ("on the outside") is exactly the same "thing" as the port visualized on the capsule ("on the inside"). In both contexts you get exactly the same contents in the properties view and if you navigate from the port on the capsule part, the port on the typing capsule is selected in the model explorer. Considering also that you do can edit all the properties of the port also from the "outside", including adding new ports (either using the new child menu or drag-and-drop). So this about that you edit a port, and redefine, in the context of the capsule ("on the inside") is not really true. It was true in RoseRT; but is not true in RSARTE (and not in Papyrus-RT either). 
I remember myself, that I had to "rethink" a lot regarding this conceptual difference when I made the transition from using RoseRT to using RSARTE.

Considering all this, I personally think it is pretty clear that we shall align with RSARTE and ensure that the port is visualized (washed out or not) in the same way both on the "outside" as on the "inside".

But if people still feel that this is counter-intuitive, then I have a feeling that the core problem is that you want the UML 2 meta-model to be more like the RoseRT meta-model, and that we need a concept of a "port role" on the capsule part. Bran should probably comment on why the "port role" never made its way into UML 2 (I do think that Bran have explained that there were a lot of discussions during the UML 2 standardization regarding these details, and the "port role" concept was "removed" as a simplification).

/Peter Cigéhn

Back to the top