Book a Demo

Author Topic: Port in sequence diagrams  (Read 5677 times)

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Port in sequence diagrams
« on: April 30, 2013, 10:23:47 pm »
In V10 there is a leading slash at ports shown in sequence diagrams. This slash does not appear in 9.3. Is that intentional or a bug?

q.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Port in sequence diagrams
« Reply #1 on: May 07, 2013, 07:12:05 am »
Nothing to say?

q.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Port in sequence diagrams
« Reply #2 on: May 07, 2013, 09:19:42 am »
It's the rolename. See the section on StructuredClassifier in the UML specification.
The Sparx Team
[email protected]

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Port in sequence diagrams
« Reply #3 on: May 07, 2013, 09:55:04 am »
So I suppose this is rather a correction than a bug.

q.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Port in sequence diagrams
« Reply #4 on: May 07, 2013, 10:58:52 pm »
Neil, I have now looked into the specs. Indeed the role is displayed with a slash. But actually this is not the role, but the classifier. I have a class with a port and create an instance. Like the object is classified with the class, the port instance must be the instance of the class' port. So: not a slash, but a colon must be displayed here. Please correct me if I'm wrong.

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Port in sequence diagrams
« Reply #5 on: May 08, 2013, 09:24:53 am »
You're wrong.

A port is a property, not a classifier. Therefore it can't be the classifier of another port. Any property when represented on an instance (which a lifeline generally is) is a Slot. This is a the value that corresponds to the variable specified by the property. The original property is the role that is being filled by the slot. You can name the value, and the name for the property and its type still exist. So, for a full display you some something like:

valueName / propertyName : typeName.
« Last Edit: May 08, 2013, 09:26:08 am by simonm »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Port in sequence diagrams
« Reply #6 on: May 08, 2013, 05:36:48 pm »
Thanks. I'm not a reader of the UML Daily :-) So I appreciate your explanation. According to that my assumption seems to be true: the previous EA versions were wrong in displaying a port instance as they did not show the role with a leading slash.

Just for curiosity: If a port is a property, how can a port have a port (like this is done in SysML)?  SuperStructures states "A property represents a set of instances that are owned by a containing classifier instance." But a port is a property rather than a classifier instance. And thus can not contain ports. Am I wrong here?

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Port in sequence diagrams
« Reply #7 on: May 09, 2013, 08:33:08 am »
Quote
how can a port have a port
This makes sense when the type of a port has ports. In that case, what you are saying is that you have a structured type. You can then display that structure in the form of nested ports.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Port in sequence diagrams
« Reply #8 on: May 09, 2013, 08:55:44 am »
Ah, I see. And you can do it with EA :)

Well one glitch: I had the typed port right of the class. Then I selected to show the structural elements. Namely the port of the type. This appeared on top of the port, so also on the border of the class. This looked very strange. Then I discovered that it was possible to move the embedded port. However, I'd say it should be moveable only on either the in- or outside of the class, not at that side of the embedding port which  stretches over the class' border.

q.