Author Topic: Placing a block from a BDD into an IBD – Drop as: “Instance” vs “Link”, etc  (Read 744 times)

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Hi,

Subject: Placing a block from a BDD into an IBD – Drop as: “Instance” vs “Link”, etc

Background: Concerning the exact EA SysML meanings of the various Block types (see next paragraph) IBD diagrams that EA lets you place there from a BDD diagram (e.g., by dragging from a BDD via Project Explorer to the IBD). What are the natures of the IBD elements you obtain, in terms of the standard SysML definitions provided in OMG SysML def. (1.6) and books like SysML Distilled?

Block types available: In EA 15.1, when dragging a block from a BDD into an IBD, EA opens a Paste dialog box to provide the Drop as options: “Link”, “Instance (Object)”, “Child (Generalization)”, “Port”, “Property”, “Attribute”.

My understanding of block type vs instantiation: In SysML, BDD defines classifications (types) of blocks, and an IBD describes instances of blocks defined in a BDD. [See SysML Distilled (Delligatti), section 4 IBDs (p64): “An IBD conveys how the parts of a block must be assembled to create a valid instance of the block.”]

Questions:

1. From the above, I would assume that the desired option to choose from the Paste dialog box is: “Instance (Object)” – Yes? If not, why not?

2. What do you get if you choose the “Link” option? Is it also an instance or not? If not, why not  - an IBD contains only instances, doesn’t it – what other representation of a block could an IBD contain?

3. Child (Generalization) option: Same question as for “Link” above.

(I will leave until later the other 3 options for the time being.)

This is basics stuff. I have spent many hours researching this before sending this question. Here I must give praiseworthy mention of the post SysML – ways to add blocks to diagram  (https://www.sparxsystems.com/forums/smf/index.php?topic=25863.0), but it is an old post, and was lacking more descriptive text. I did not find much more than this.

Thanks,
Avi

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7301
  • Karma: +86/-12
    • View Profile
1. From the above, I would assume that the desired option to choose from the Paste dialog box is: “Instance (Object)” – Yes? If not, why not?
No. That corresponds to a InstanceSpecification, and IBD wants a Property.

2. What do you get if you choose the “Link” option? Is it also an instance or not? If not, why not  - an IBD contains only instances, doesn’t it – what other representation of a block could an IBD contain?
You get the original block being displayed on the IBD, regardless of whether that it is a normal thing to do.

3. Child (Generalization) option: Same question as for “Link” above.
A new block with a generalization connector to the block you are dropping.
Eve

support@sparxsystems.com

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Thank you very much, Eve, for your quick response.
I will study it.

>> "regardless of whether that it is a normal thing to do."

Funny  : ))

Avi


avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
I guess it is common for a student to ask a question on how EA does SysML, and then from the answer discover that when they learn SysML better, many questions go away. So here also. <SNIP>

  -------------------------


I deleted the rest of this message. It was not correct. 

See the new message further down.

- Avi
« Last Edit: October 23, 2020, 10:01:20 pm by avi10000 »

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Edit:
Btw, here is a fix (in blue) to a typing error in my original post:


Written as: "Background: Concerning the exact EA SysML meanings of the various Block types (see next paragraph) IBD diagrams that EA lets you place there from a BDD diagram etc etc" 

Should be: "Background: Concerning the exact EA SysML meanings of the various Block types (see next paragraph) in IBD diagrams that EA lets you place there (in IBDs) from a BDD diagram etc etc" 

qwerty

  • EA Guru
  • *****
  • Posts: 11472
  • Karma: +305/-263
  • I'm no guru at all
    • View Profile
There is an edit option for your existing post. Somewhere. Top or bottom right....

q.

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Quote
There is an edit option for your existing post. Somewhere. Top or bottom right...

Is there a standard EA Forum format for how to place and format ("highlight") an edit when you edit the original post?

Also, I did not rush to edit the original post bc I think it probably looks bad, like "people already answered his question and now he goes and changes his original question".

Avi

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
I deleted the rest of this message. It was not correct.

See the new message further down in the thread.

- Avi
« Last Edit: October 23, 2020, 10:04:17 pm by avi10000 »

qwerty

  • EA Guru
  • *****
  • Posts: 11472
  • Karma: +305/-263
  • I'm no guru at all
    • View Profile
There is no standard. It's visible that a post has been edited if done so once it has been read by someone.

q.

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile


Quote
>>  >>  >> 2. What do you get if you choose the “Link” option? Is it also an instance or not? If not, why not  - an IBD contains only instances, doesn’t it – what other representation of a block could an IBD contain?

>>  >>  [Eve] You get the original block being displayed on the IBD, regardless of whether that it is a normal thing to do.

From reading SysML Distilled again, I found (explicitly) in section 4.3 (p64): "Recall that blocks serve as types for the model elements that appear on IBDs. Blocks, however, cannot appear on IBDs; they appear on BDDs."

This seems to imply that IBDs and BDDs are completely different animals. Thus correspondingly, elements displayed by an IBD (instances?) also are completely different animals from the elements -- i.e., blocks -- in a BDD.

Thus, how does it make sense to "... get the original block (that was defined in the BDD - my note)", as Eve says? So maybe that is why Eve herself seems to question whether that is "a normal thing to do".

From my knowledge, as a programmer, of links as pointers: a link/pointer to a "thing" is in effect the "thing" itself.   

So question: how can (why does) EA allow you to place links to blocks (in effect, the blocks themselves) inside an IBD? I do not question that the approach "works " and gives me what I want. But the term "link" (to BDD block) seems to be conceptually completely wrong. And this is the ABCs of SysML; not a detail of a detail. And this is version 15.1

I could try to answer my own question, but the question would still be better than my answer.

What does Sparx say? 


Avi

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
There is no standard. It's visible that a post has been edited if done so once it has been read by someone.

q.

Yes, but I think it is important to use a formatting standard to make it clear what changed in the post (and to highlight  that - hopefully - the edit did not change the apparent intent of the post, and that the original text was still pretty readable.

Thanks

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
quoting myself:

Quote
So question: how can (why does) EA allow you to place links to blocks (in effect, the blocks themselves) inside an IBD? I do not question that the approach "works " and gives me what I want. But the term "link" (to
BDD block) seems to be conceptually completely wrong.


Could be that the whole problem is that Sparx named the option "Link", as opposed to something more correct, like "usage" (or "instance"...).


Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7301
  • Karma: +86/-12
    • View Profile
So question: how can (why does) EA allow you to place links to blocks (in effect, the blocks themselves) inside an IBD? I do not question that the approach "works " and gives me what I want. But the term "link" (to BDD block) seems to be conceptually completely wrong. And this is the ABCs of SysML; not a detail of a detail. And this is version 15.1
EA allows it because enough users want it. I assume users want it because they feel that it aids their communication or design process.

Could be that the whole problem is that Sparx named the option "Link", as opposed to something more correct, like "usage" (or "instance"...).
Using a block as a property type is still a usage. Instance is a separate concept again. I'm not sure there is a word that describes it unambiguously to every possible user.
Eve

support@sparxsystems.com

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Quote
Using a block as a property type is still a usage.

Thank you.

Now I realize that that is what you said the first time - and you meant it literally as the 'Drop As' option. It was the 'last thing' I expected because I was expecting 'instance', and alternatively, a much more experienced colleague of mine already told me that I should be using links (although I did not like this). 


For the sake of completion: links are also no good for me. I started to use links as the 'Drop As' option for drawing IBDs, and then I noticed that the 'block-like' elements I was dropping on the IBD diagram have the BDD 'block' appearance and not the IBD block appearance.

[Meaning: When I drop as a link, the 'block' boxes display the <<block>> stereotype and not the part name : type name notation I expect for an instance/usage.]
« Last Edit: October 26, 2020, 12:27:28 pm by avi10000 »

avi10000

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Where can I find in the EA documentation a list of all the SysML element icons that I see in the Project Explorer? (Each element name has an icon.)