Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: bknoth2 on December 30, 2020, 05:49:56 am

Title: SysML, IBDs and Multiplicity. Insights?
Post by: bknoth2 on December 30, 2020, 05:49:56 am
Re: EA Version 15.2.155

Here's a SysML BDD. The assembly has three components. Component1 has unspecified multiplicity, Component2 has 2 parts, and Component3 has multiplicity of "3" specified in the block (the diagram was snipped after I synchronized the structural elements on the IBD).
(https://i.ibb.co/VpCmFTk/Multiplicity-Test.jpg) (https://ibb.co/VpCmFTk)

Here's the IBD after synchronizing the structural elements:
(https://i.ibb.co/Vm0QBK5/Assembly-IBD.jpg) (https://ibb.co/Vm0QBK5)

Questions and comments:
1) I don't want Component2 in the IBD to have a size of [2]. I want two instances of Component2 so I can can name them and show how they are connected. Can that be done? Should I be using the multiplicity used for Component3?
2) Why does Component2 show a 2D array size in the BDD (Compent2[2][2])? What does "unique" mean?
3) What is the semantic difference between the multiplicity specs used for Component2 and Component3?
4) I naively expect Component3 to have three instances show up in the IBD when synchronized, but only one shows up. Any insights? If I Ctl-Click and drag Component3 on to the IBD it becomes a property, not a part.

My goal is to have the BDD show the correct number of parts and the IBD to have separate instances of those parts so they can be named and connected properly.

Thanks in advance for help,
Bruce

(FYI, including for me in the future. I used https://imgbb.com/ to post the images and copied their embed code for "BBCode Thumbnail Linked" to post the images and it worked easily).

Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: qwerty on December 30, 2020, 07:12:44 am
Well, if there were links they might work ;-)

q.
Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: bknoth2 on December 30, 2020, 07:27:59 am
I'm not sure what you mean. Do you mean connectors between the parts in the IBD?  I've tried to distill my problem down to the essence, so there are no connectors in the IBD I show in my message above, if that's what you mean by links.

I want the IBD to have two "parts" that represent the two "Component2" instances (or three parts for Component3) but I can't get that to happen. If I drag another "Component2" onto the IBD it is called a property, not a part (and I know "parts" are "properties", but having one that's a part and one that's a property leads to confusion) and the original Component2 part stays there with a [2] on it, so now there are three Component2's.

- Bruce
Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: qwerty on December 30, 2020, 09:47:22 pm
Hmm. When I wrote that, the pictures did not show, so I assumed they were missing. Probably a Sparx server issue.

q.
Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: avi10000 on December 31, 2020, 04:50:54 am
Hi Bruce,

I relate to your question #4: “… expect Component3 to have three instances show up in the IBD when synchronized, but only one shows up."

Great coincidence for me that you sent this question now. Coz in the last couple of days that’s exactly what I’m trying to do, declare a sub-block with a multiplicity of 3 or whatever, and expecting as you say, “a number of instances to show up in the IBD”.

The only way I found, is to do as I think you already did, drag the ‘Component’ block  from the Project Explorer on to the IBD as many times as you need. (And you can define the ‘Component’ block  in a different BDD – and maybe it’s even best that way.)


(https://i.ibb.co/r0dfms2/Multiplicity-test.png")

Interesting, the first time I dragged the block into the IBD, it appeared as a ‘part’ (Part1: Component 2). And then the subsequent times I dragged in the ‘Component 2’ block, the instances/usages appeared as a ‘property’.
 
Was looking forward to demo-ing to my boss how easily reusable components are, and I can declare a block with multiplicity of X, and get X parts (usages) on the IBD.


So to Sparx team: are we correct that multiplicity of X is supposed to give us X parts automatically? Or maybe we still have more SysML learning to do, i.e., if not, why not?

Thanks
Avi

Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: Robert van Egmond on January 04, 2021, 06:39:47 pm
The correct way to get multiple parts in the IBD is to draw multiple composition relations (to the same block) in the BDD. You can name the instances with the "role" property in de connector properties.

Regards,
Robert
Title: Re: SysML, IBDs and Multiplicity. Insights?
Post by: avi10000 on January 08, 2021, 01:10:49 pm
Hi Robert,
I tried it.
It works.
Beautiful!
Thanks,
Avi