Book a Demo

Author Topic: Synchronize Structural Elements in SysML IBD option  (Read 8457 times)

Guillaume

  • EA Practitioner
  • ***
  • Posts: 1405
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Synchronize Structural Elements in SysML IBD option
« on: January 09, 2017, 11:26:28 pm »
Hi,

Synchronize structural elements on a SysML IBD is useful to add all parts.
Would it be possible to add an option where all the parts structural elements i.e. ports could be automatically added as well? Is there a workaround currently available to add all parts' ports (and parts) without having to run a custom script ?

Let's say you have 5 aggregations from your main block to blocks that have 2 ports each. Is there a way to avoid having to add inherited ports & parts via the structural elements popup on each 5 part in the IBD?

Thanks,
Guillaume
« Last Edit: January 09, 2017, 11:30:29 pm by Guillaume »
Guillaume

Blog: www.umlchannel.com | Free utilities addin: www.eautils.com


Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Synchronize Structural Elements in SysML IBD option
« Reply #1 on: January 11, 2017, 05:11:52 pm »
Hi,

as far as I know, there is no easy one-click way or so to do it.

You can drag the block(s) on the IBD with holding Ctrl key. Then EA asks you what to 'Drop as' (Property,..) and how to handle Structural Elements. In my opinion, this works only partly as I would assume.

In an existing IBD, I don't know a way to add existing ports to properties quickly.

Consider filing a bug report for dragging multiple Blocks onto IBD. 

For that reason, I added some port related features to the free hoTools. Currently, not all of these functions work for SysML properties. I may change this with the next release.

Regards,

Helmut



Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Synchronize Structural Elements in SysML IBD option
« Reply #2 on: January 18, 2017, 04:52:35 pm »
Hi Guillaume,

you may find hoTools and this Community Resource http://community.sparxsystems.com/community-resources/1040-show-or-hide-ports-activity-parameters-or-action-pins helpful.

Kind regards,

Helmut

 
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Guillaume

  • EA Practitioner
  • ***
  • Posts: 1405
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Re: Synchronize Structural Elements in SysML IBD option
« Reply #3 on: January 18, 2017, 11:45:12 pm »
Hi Helmut,

I installed hoTools which looks interesting (I like the search CSV export to Excel).

It doesn't show however ports as they don't exist under the part. A new menu/option could be added so the parts' ports are created according to the part's Block definition.

Do you think this can be added quite easily? I'll try to look into it at some stage once I've loaded the source code.

thanks
Guillaume

Blog: www.umlchannel.com | Free utilities addin: www.eautils.com


Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Synchronize Structural Elements in SysML IBD option
« Reply #4 on: January 19, 2017, 04:51:50 pm »
Hi Guillaume,

thanks for your suggestion and interest.

As far as I've tested it, EA 13 creates Ports for Parts when you create them by dragging Blocks onto the IBD.

It's no big deal to create/synchronize ports according to a reference like the block. I see two different possibilities doing this: Just synchronizing block to its parts or more general generate ports from an arbitrary classifier.

I'll look into it and come back. You can also drop me a mail with details or add a feature request on GitHub.

Kind regards,

Helmut

Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Synchronize Structural Elements in SysML IBD option
« Reply #5 on: January 23, 2017, 05:02:00 pm »
Hi Guillaume,

hoTools now supports Port synchronization for Properties/Parts. EA does most of the work. For details see:

https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/wiki/PortSynchronization

Kind regards,

Helmut
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Guillaume

  • EA Practitioner
  • ***
  • Posts: 1405
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Re: Synchronize Structural Elements in SysML IBD option
« Reply #6 on: January 23, 2017, 07:02:34 pm »
Hi Helmut,

It sounds great. I uninstalled the previous version and downloaded the MSI file from https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/releases/tag/2.1.2.
Having installed it, I can see the Port Advanced Support settings but not the "part/port synchronisation". I checked the help page and it shows v2.1.1. Perhaps something went wrong when the file was published.

I also noticed that if you click on "SP" without anything selected in the IBD, there's a System.NullReferenceException exception on
   à hoTools.Utils.SQL.UtilSql.GetAndSortEmbeddedElements(Element el, String objectType, String stereotype, String direction)
   à hoTools.EaServices.EaService.ShowEmbeddedElements(Repository rep, Boolean isOptimizePortLayout)

hoTools definitely looks interesting. I'll have to test the other available features.

Thanks,
Guillaume
Guillaume

Blog: www.umlchannel.com | Free utilities addin: www.eautils.com


Guillaume

  • EA Practitioner
  • ***
  • Posts: 1405
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Re: Synchronize Structural Elements in SysML IBD option
« Reply #7 on: January 26, 2017, 02:16:50 am »
Hi Helmut,

Tested hoTools 2.1.2 and I can  confirm that it adds ports to the parts on the SysML IBD.
Very useful :)

Thanks!
Guillaume
Guillaume

Blog: www.umlchannel.com | Free utilities addin: www.eautils.com