Book a Demo

Author Topic: SysML. Show nested IBDs  (Read 4679 times)

le_chiffre

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
SysML. Show nested IBDs
« on: December 14, 2018, 05:53:48 am »
Hi,
I'm using EA 13.5 (Enterprise Architect 13.5.1351). I want to display inside and IBD, the IBD of one of the parts that compose the main block. But I'm failing, and I don't know if its me or if its EA :)

I have a block A1 composed from block B1. B1 is composed of C1 and C2 Blocks
Image 1
https://imgur.com/itgW5NU


Then I defined an IBD for B1, with ports that connect C1 and C2 properties, and to B1 boundary:
Image 2
https://imgur.com/At8EEfu


After that, I created and IBD for A1, and hit "Synchronize Structural Elements". For each property of A1, I also inserted their Structural Elements, to get this:
Image 3
https://imgur.com/erjOwaR


But I cannot find a way to synchronize the relationships created at B1's IBD. What I wanted to display in my A1 IBD was something like this (manually drawn. I had to create those "fake" relationships, they aren't the "real" ones defined at B1's IBD):
Image 4
https://imgur.com/VeibdEG


The IBD Diagram has the "Show relationships" checked at "Connectors" tab.

Is there a way to show this nested diagram as I want?

Thank you, and please forgive my english :)

Edit: sorry, I think I don't understand how to attach images from imgur
Link to imgur:
https://imgur.com/a/aeZUxnH
« Last Edit: December 14, 2018, 05:57:00 am by le_chiffre »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: SysML. Show nested IBDs
« Reply #1 on: December 14, 2018, 11:53:58 am »
Hi, le-Chiffre,

A couple of things.  What I see on the diagrams is Visual Enclosure, not Nesting, to show composition.  Search the forum for visual enclosure or visual embedding (a previous term - now deprecated) to see the difference.

As such, you are a "victim" of arc suppression with visual embedding.  I say "victim" because what you are seeing is the intended outcome (You don't see the relationship when you visually encircle one item with another).  It's just not what you were expecting.

If you Show Visible Relationships [Ctrl+Shift+I] you should see the "missing arcs".  Unfortunately for you, they will be shown as visible (when they aren't).  There appears to be no way to make them visible again.

Let us know if that is the case, as it could be argued there's a defect in this behaviour.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

le_chiffre

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: SysML. Show nested IBDs
« Reply #2 on: December 14, 2018, 10:58:22 pm »
Hi Paolo,
thanks for your answer. I'm still trying to understand it, as I'm newbie at EA. Yes, I use "nested" not as a concept of EA/modeling but just as a generic idea for describing what I wanted to "see" in my diagram.

If I open the Set Visible Relations window (Ctrl+Shift+I) on my A1 IBD, I don't see any Relations.
If I open the same window on my "A1 dummy IBD", I can see the dummy relations that I created specifically for this diagram.

Do you know if there is any way I could achieve what I'm looking for?
At first it looked like inserting a Diagram Frame of B1 IBD could do the trick, but it is not what I'm looking for, as I want to be able to make connections from B2 to the boundaries of B1 in my A1 IBD.

My end game is to get something like this
https://imgur.com/eP3DGF1
And, if I make modifications to B1 IBD, then they will eventually be reflected on A1 IBD.

Again, thank you.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: SysML. Show nested IBDs
« Reply #3 on: December 15, 2018, 01:52:54 pm »
On the diagram above, you can see the "suppressed" arcs in the Set Visible Relations dialog, yes?  Now, drag the C1 item outside the B1 item and you should now see the arcs made visible.  Is that so?  Then drag it back inside, they disappear. yes?

Now in all those scenarios, the "Visible" setting was set to true in the dialog, yes?  That's why I don't use the word hidden but suppressed.

So, there's no way to achieve what you want in the current version.

You can hide the "suppressed" arcs so that they aren't visible when you unenclose the item, but you can't make them visible, while suppressed.

You may care to lodge a bug report using the links below.  Personally, I think it's a defect, that you can't make explicitly visible a suppressed arc.

Paolo

PS: there may be a cheeky way to (almost) achieve your aims.  Move the C1 item down so that the bottom edge of the C1 item is 1 pixel, below the bottom edge of the B1 item (and thus, normatively, NOT enclosed).  The arc between B1 and C1 may become visible.  I say may because the presence of ports makes things a bit more complicated.
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Guillaume

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +42/-2
    • View Profile
    • www.umlchannel.com
Re: SysML. Show nested IBDs
« Reply #4 on: December 18, 2018, 07:30:26 pm »
Hi,

I reproduced your scenarios on a local project.
If you look at the Project Browser, you will notice that the c1 & c2 parts under blocks A1 & B1 are different elements i.e. you have:
 B1.c1 and B1.c2
 A1.b1.c1 and A1.b1.c2

Hence when you create a connector between B1.c1 and B1.c2 on an ibd, it does not exist between A1.b1.c1 and A1.b1.c2.
The only workaround I can think of is to create a custom script (which can be automatically triggered if needed).

Please feel free to contact me on guillaume [at] umlchannel.com for further details.

Thanks
Guillaume

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