Book a Demo

Author Topic: Connectors on composite models  (Read 14935 times)

JonathanSmithey

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Connectors on composite models
« on: July 20, 2013, 01:38:46 am »
Hi,

I've got an idea about what I could do with Sparx EA, but not sure if it has the capability.  From what I've see so far of Sparx EA it feels as though it's something it could do, but I've not got a clue how to do it.

Imagine that you have a System (call it component A) and that system has several sub-systems (call them sub-component 1 and sub component 2) set up in Sparx EA as a Composite.  Sub component 1 is an interface that offers a service.  Component B (outside Component A) is a consumer of the service that interface Sub Component 1 exposes.  


If I draw a high level diagram and put both Component A and Component B on the diagram the connector between the two is not shown.  I assume that this is because the connection is between Component B and Sub Component 1.  But as Sub Component 1 is part of Component A (set in the Composite section) then the connection between Component A and Component B is implied and therefore should be shown.


Is it possible for Sparx EA to work in this way?

I hope I've been clear enough here.

If anyone can offer an answer (even if it's "it's not possible") or any advice or wants any clarification, please let me know

Thanks

Makulik

  • EA User
  • **
  • Posts: 400
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #1 on: July 20, 2013, 02:03:10 am »
For this case place a port on ComponentA and stick the interface to it. From inside let the copmposite part connect to the port.

HTH
Günther

g.makulik

  • EA User
  • **
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #2 on: July 21, 2013, 03:07:05 am »
Here's a sample diagram for my previous post:

Using EA9.3, UML2.3, C++, linux, my brain, http://makulik.github.com/sttcl/

JonathanSmithey

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #3 on: July 23, 2013, 06:32:21 pm »
Thank you - that does what I want

Now, to teach people to import the embedded elements across when draging in the elements from the browser and I'm golden

g.makulik

  • EA User
  • **
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #4 on: July 24, 2013, 06:03:11 am »
Hi Jonathan,

Glad to hear that. The only point where I wasn't sure myself, when putting up the sample, was the connector from the inner class part to the port providing the interface. Later in class model I would use a 'Realization' relationship from the class to the provided interface. The standard connectors provided by EA to make up this connection were just of kind 'dependency', and various stereotypes of dependency. At least I have chosen a simple association from the toolbox and made it up there.
Most of the elements and features used for modelling composite components seem to have changed against earlier versions of EA (I'm using EA 10.x currently).

Best regards,
Günther
Using EA9.3, UML2.3, C++, linux, my brain, http://makulik.github.com/sttcl/

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Connectors on composite models
« Reply #5 on: July 24, 2013, 07:26:59 am »
In SysML context I usually put a port on the inner block (class) and have a <<delegate>> from the outer block's (component's) port.

q.

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #6 on: August 02, 2013, 06:31:20 am »
Since this is related. Is this behavior expected? I'd like to define the connectivity within a reusable component, then reuse it many times in a higher level system design. However, the connector information is gone at the higher level. Magicdraw seems to not behave this way.

https://docs.google.com/file/d/0BwotitHXXmF5RS10ajgyX3RUVkU/edit?usp=sharing

https://docs.google.com/file/d/0BwotitHXXmF5OU9jSWI3SnpNam8/edit?usp=sharing
« Last Edit: August 02, 2013, 11:46:16 pm by rothnic »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Connectors on composite models
« Reply #7 on: August 02, 2013, 06:38:58 am »
Your pictures return the following:
Quote
Your client does not have permission to get URL /gZLWk3rzfHnu3MI4q36V26y7Md0Wd_oDjob4ycr-BFVZI2dLjzL404wh6vw7YGOxM4nrtf4Jato from this server. (Client IP address: 217.231.x.x)

q.

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #8 on: August 02, 2013, 11:47:39 pm »
Quote
Your pictures return the following:
Quote
Your client does not have permission to get URL /gZLWk3rzfHnu3MI4q36V26y7Md0Wd_oDjob4ycr-BFVZI2dLjzL404wh6vw7YGOxM4nrtf4Jato from this server. (Client IP address: 217.231.x.x)

q.

Try now, sorry using google drive since image sharing is blocked.

https://docs.google.com/file/d/0BwotitHXXmF5RS10ajgyX3RUVkU/edit?usp=sharing

https://docs.google.com/file/d/0BwotitHXXmF5OU9jSWI3SnpNam8/edit?usp=sharing

If you define block1 to have connections between its referenced blocks, why do the connections not exist in the context of block2 if it references block1?
« Last Edit: August 02, 2013, 11:50:01 pm by rothnic »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Connectors on composite models
« Reply #9 on: August 02, 2013, 11:55:31 pm »
Your browser has not expanded "SystemofSystem.sys: TheSystem". Maybe it contains similarly named blocks as in ""TheSystem" and the ones we see are different? If you created an instance you need to tell EA to also copy relations. Or you have to do that manually afterwards.

q.

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #10 on: August 09, 2013, 12:12:54 pm »
Quote
Your browser has not expanded "SystemofSystem.sys: TheSystem". Maybe it contains similarly named blocks as in ""TheSystem" and the ones we see are different? If you created an instance you need to tell EA to also copy relations. Or you have to do that manually afterwards.

q.

Maybe this will help. I created this within the systems engineering example. They define a portable audio player with internal connectors. I created a higher level portable audio player domain with two composition relationships to portable audio player to represent two different users. You would expect that the interconnections of both portable audio players would be identical and available at both the domain and system levels.

The EA file: https://docs.google.com/file/d/0BwotitHXXmF5RmNsTS1ITm93ZzQ/edit

Images outlining the issue: http://imgur.com/a/s28ci#0

You can see that in the domain IBD, the system components are not available at all, let alone the connections for them as defined by the system IBD.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Connectors on composite models
« Reply #11 on: August 09, 2013, 07:52:01 pm »
Would it be possible to describe the steps you're doing, what you get and what you'd expect?

q.

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #12 on: August 09, 2013, 10:51:41 pm »
Quote
Would it be possible to describe the steps you're doing, what you get and what you'd expect?

q.

*The portable audio player was already there with structure connections, IBD, BDD, etc.
*I created the portable audio player domain.
*I created composite relationships between the portable audio player domain, and portable audio player for bob and fred's audio player.
*I create an IBD for the portable audio player domain.
*I synchronize structural elements, and i get bob and fred's audio player.
*I expand bob and fred's audio player symbol, then right click and choose structural elements.
*I can select inherited and insert the structural elements associated with the type portable audio player.
*For some reason (i didn't have this problem, only in this example model), if I select the newly added elements and right click and go to structural elements, nothing else below that level of the portable audio player is available
*The main concern is that the connection relationships that I see on the portable audio player IBD, should be available on the portable audio player BDD if I instantiate down to a level where those connections exist. At least that was my experience with magicdraw using sysml. This looks like it might be something against UML rules, but for system design, the portable audio player internal connections should exist for any use of that object IMO.
« Last Edit: August 09, 2013, 10:52:18 pm by rothnic »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Connectors on composite models
« Reply #13 on: August 09, 2013, 11:51:51 pm »
Quote
*I synchronize structural elements, and i get bob and fred's audio player.
I wouldn't know how to do that with plain tools.

Are you by any chance using the SysML MDG? If so, I'm out.

N.B. I noticed that when you instantiate multiple properties in a block then EA does not let me select individual ones to move it around. Instead it lets me just pick a single one only. And its size can be increased to protrude out of its owning class. Any takers to submit a bug report?

q.

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Connectors on composite models
« Reply #14 on: August 10, 2013, 01:54:50 am »
Quote
Quote
*I synchronize structural elements, and i get bob and fred's audio player.
I wouldn't know how to do that with plain tools.

Are you by any chance using the SysML MDG? If so, I'm out.

N.B. I noticed that when you instantiate multiple properties in a block then EA does not let me select individual ones to move it around. Instead it lets me just pick a single one only. And its size can be increased to protrude out of its owning class. Any takers to submit a bug report?

q.

When I created the portable audio player IBD, it has a blank frame associated with the Block. If you right click in the middle of the frame, there is an option to "syncronize structural elements". All this does is automatically add the properties and references for the block into the frame. So this is just a standard EA feature.

Once I did that, then I right clicked inside of Bob's player, then chose the option for "Structural Elements". Then clicked "Show Owned/Inherited". Then selected the elements as defined in the portable audio player BDD. However, the connections defined in the portable audio player IBD do not show up inside the portable audio player domain IBD.

For example, if you look at the three images I posted in the gallery a few posts up. The third one(portable audio player IBD) shows a connector between Processing Subsystem and User Interface. The second image shows the portable audio player domain IBD, where I've added in bob's portable audio player and it's subsystems. However, the connection between Processing Subsystem and User Interface does not exist.
« Last Edit: August 10, 2013, 02:00:45 am by rothnic »