Book a Demo

Author Topic: Support for nested ports ... SysML1.3  (Read 7932 times)

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Support for nested ports ... SysML1.3
« on: May 27, 2014, 12:08:30 am »
is there anyway to create nested ports (a SysML1.3 construct).  if not, what is the expectation that a particular modelling feature is supported or not by EA

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #1 on: May 27, 2014, 09:12:57 am »
If your port is typed by a block that owns a port, you can right-click -> Structural Elements, click "Show Owned/Inherited" and choose the port to show nested.
The Sparx Team
[email protected]

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #2 on: May 27, 2014, 02:09:55 pm »
thanks ... unfortunately this is completely non-intuitive to me ... i was able to get a port nested into another following your instructions this way:
1. add a class to diagram
2. add a port (3) to the class - set the type of the port to the class it is attached to
3. expose inherited/owned elements and select the port i added (1) ... the port is now nested to itself ... i want a different port nested to port 1\

i've tried many permutations and get no where ... lacking basic understanding of what is going on obviously
:-/

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #3 on: May 27, 2014, 03:04:08 pm »
What is going on is that port is effectively a member variable with a specified type. It can't actually hold additional variables.

What SysML specified was that it should also be possible to display the member variables that are part of the port type, and that is exactly what EA provides.

In terms of a concrete example; Take two classes ComplexNumber and Equation.
A complex number is made up of two Real typed members. The real value and the imaginary value.

The equation class has a port that takes a ComplexNumber, but we may want to connect the real and imaginary portions of that variable to different sources. As a result we need to be able to show them in order to connect them up. To do that we show the class, the port for the ComplexNumber and both of the ports that ComplexNumber provides.

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #4 on: May 27, 2014, 03:34:12 pm »
 :)

very clear explanation ... this is not easy to grasp (for me at least)

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #5 on: May 28, 2014, 11:03:01 pm »
Ok, so I am still demonstrating general ignorance on how the tool works.  This time, I tried to create a port with a flow direction indicated.
1. create a block
2. add a flow property to block [newchildelement->flowproperty]
3. set the flowproperty to out
4. added another block
5. added a port to the block
6. selected the port and [advanced->set property type]
7. selected the block created in step 1.
8. nothing happens

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #6 on: May 29, 2014, 09:27:52 am »
Quote
Ok, so I am still demonstrating general ignorance on how the tool works.  This time, I tried to create a port with a flow direction indicated.
1. create a block
2. add a flow property to block [newchildelement->flowproperty]
3. set the flowproperty to out
4. added another block
5. added a port to the block
6. selected the port and [advanced->set property type]
7. selected the block created in step 1.
8. nothing happens
It appears that in step 2, if the block on the diagram isn't big enough to contain the flow property, it doesn't get automatically nested. In the project browser, drag the flow property into the block and it should work.
The Sparx Team
[email protected]

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #7 on: May 29, 2014, 12:58:21 pm »
I don't think that is the problem.  The property added in step two show up in the project browser as owned by the block.  When I move the block around, the property follows along.  The port added in step 5 remains unchanged visibly.

Side question, should I be able to inspect either the flowproperty or the block to tell that the former is owned by the latter?


RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1297
  • Karma: +21/-4
  • Read The Help!
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #8 on: May 29, 2014, 02:08:36 pm »
I'm a bit out of my depth here, but this is what I have seen:

If you use the deprecated SysML Flow Port element, everything works smoothly. The Flow Port shows up as a nested Port on the block/port created in your steps 4 and 5.  Same thing with every other type of Port in the SysML Block Definition Toolbox.

I'm not sure what you should see using a Flow Property element.

If you follow THIS procedure:

http://www.sparxsystems.com/enterprise_architect_user_guide/10/systems_engineering/sysml_ports_direction.html

it all works as described, with the Port created in your step 5 showing an arrow depicting the 'out' flow. If on the FIRST block I change the direction of the Flow Property, that change in direction is represented by the corrsponding arrow on the Port on the SECOND block.

Is that all just more confusion to disentangle?
Best Regards, Roy

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #9 on: May 29, 2014, 03:13:22 pm »
The deprecated feature works as expected.  Beautiful  :)... no idea why it was deprecated.

My 8 step description was my interpretation of how to follow the link you provided.  Either one or more of my 8 steps is wrong or the description in the link does not work. :-/

UML needs a 'smiley' element

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #10 on: May 29, 2014, 03:35:37 pm »
Quote
I don't think that is the problem.  The property added in step two show up in the project browser as owned by the block.  When I move the block around, the property follows along.  The port added in step 5 remains unchanged visibly.

I'm stuck now. I followed your instructions, apart from step 2 as mentioned, and got the arrows to appear on the ports, so there must be something else we're doing differently to each other. It may be time to get in touch with Support (use the Report a Bug link at the bottom of the page) and they will be able to ask for things like screen shots or sample models to get to the bottom of things.

One last thought: how are you setting the flow property to "out"? Are you using the tagged value?
« Last Edit: May 29, 2014, 03:41:25 pm by KP »
The Sparx Team
[email protected]

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #11 on: May 29, 2014, 04:23:10 pm »
I set the tag that appears in the SysML1.3 properties GUI that comes up when I edit the properties of the flow property part.

I'll report the bug as you recommend.  I predict  :-[

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #12 on: May 29, 2014, 05:00:59 pm »
I think I've got it: it only works on SysML 1.3 diagrams. Go Diagram > Advanced > Change Type and make sure your diagram is a SysML 1.3 block diagram.
The Sparx Team
[email protected]

Ted Speers

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Support for nested ports ... SysML1.3
« Reply #13 on: May 29, 2014, 05:16:35 pm »
you have got it indeed  ;D... i don't feel  :-[ about that one ... thanks a lot for your help ...  :)