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,

Indeed, the significance of the ConnectorEnd is that it has not only a reference to the Port that it connects (via the ‘role’ attribute) but optionally also a part that presents this port “on the outside” in the case of connection to a port on a part (the ‘partWithPort’) attribute.  So, a port P “on the inside” of a capsule C is the same element (strictly speaking in the UML structure) as the port P “on the outside” of a part of type C, but the port isn’t enough to understand the meaning in the second case without also the part-with-port.

So, the different visualization that I proposed initially for the two presentations of the same port element distinguishes this nuance of the part-with-port.  Does that strengthen the case for RoseRT-ish colouring over RSARTE-ish colouring?

cW

On 30 November, 2016 at 11:42:04, Ernesto Posse (eposse@xxxxxxxxxxxxx) wrote:

Hi,

On Wed, Nov 30, 2016 at 3:37 AM Peter Cigéhn <peter.cigehn@xxxxxxxxx> wrote:
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. 

[epp] It sounds that your definition of "port on the outside", i.e. "port role" in RoseRT corresponds to a UML ConnectorEnd. Although, a "port on the inside", that is, the port as defined in the capsule, also has a ConnectorEnd, when the port is a relay port.
 

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

[epp] I think this is a bit confusing. Unless I completely misunderstood your definitions of "on the inside" and "on the outside". The port-on-a-part ("on the outside") cannot be the exact same object as the port in its definition context (the capsule that owns the port, "on the inside"), because the capsule that owns the port can be used in several different contexts: If we have capsule A with port p, we can have capsule B with part a:A and capsule C with part a:A as well, but then the occurrence of A.p in B is B.a.p, is definitely not the same as the occurrence of A.p in C, that is, C.a.p. As I understand it, the A.p is the port "on the inside" while B.a.p and C.a.p are the ports "on the outside". Of course, you can click on any these and they show the same contents and you can edit their properties, but they are not the exact same object. Strictly speaking, when the port occurs in a context (on the outside), what you get in the UML model is a ConnectorEnd with a reference (called "role" in UML) to the actual UML Port that it represents, i.e. the port in its definition context (inside). 

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).

[epp] I am not proposing to change the UML 2 meta-model, and I cannot do it, anyway. I'm just stating that the meta-model already is like what you are describing with RoseRT. I may be misunderstanding things here as well, but to me, it looks like a ConnectorEnd is the same as a "port role". If not, what is the difference? 



/Peter Cigéhn
_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev
_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev

Back to the top