Author Topic: Insert Other Element... (EA Context Menu)  (Read 1327 times)

SilverSage

  • EA User
  • **
  • Posts: 38
  • Karma: +0/-0
    • View Profile
Insert Other Element... (EA Context Menu)
« on: June 26, 2015, 04:04:24 am »
What is the difference between inserting "Link" and inserting Instance (Artifact)?  Why does EA allow me to insert only one Link to an object per diagram?

Thanks for your help.

qwerty

  • EA Guru
  • *****
  • Posts: 9380
  • Karma: +146/-137
  • I'm no guru at all
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #1 on: June 26, 2015, 04:43:53 am »
A link is the element "as-is" (the one you were dragging onto the diagram). I do not remember whether UML disallows multiple use of the same element on the same diagram, but if so it will be bad for readability and understandability. You would not be able to tell which is which so an element can appear only once.

The instance in contrast will create a new element which is classified by the one from where you were dragging. That means you create a representation of a new real object instantiated by the element. Note that you can see / change the classifier by using Ctrl-L on the instance.

q.

SilverSage

  • EA User
  • **
  • Posts: 38
  • Karma: +0/-0
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #2 on: June 26, 2015, 05:27:40 am »
q -

I don't know if UML disallows it, but EA using BPMN 2.0 disallows it.  If I try to insert another link when one already exists on a diagram, EA selects the already-existing object on the diagram.

I hate to say it, but that wasn't the answer for which I was looking.

Michael

qwerty

  • EA Guru
  • *****
  • Posts: 9380
  • Karma: +146/-137
  • I'm no guru at all
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #3 on: June 26, 2015, 05:55:36 am »
I was trying to say the EA does not allow it (and likely UML does not either, but I don't know). And there are good reasons for not allowing a link (the same element) to appear twice on a diagram. Most likely you want to show instances in those cases.

Honestly I had very rare cases where I thought that it would be convenient to have the same element more than once on a diagram (thereby explicitly showing with notes or other means that it appears more than once) to un-clutter certain relations. But that were very rare and strange cases and I got around without it too.

q.

SilverSage

  • EA User
  • **
  • Posts: 38
  • Karma: +0/-0
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #4 on: June 26, 2015, 06:18:42 am »
With this comment I think you also answered part of my original question about multiple DataObjects, each having the same name and each having a DataAssociation to a different activity (the intent being to illustrate the movement of one physical object through a process).  From a logical perspective, this is wrong.  There should be one object with data associations to the activities that require that object.  Is that correct?

The consumers of these diagrams are business folks, so talking about instances to them would elicit looks akin to a deer staring into headlights.

qwerty

  • EA Guru
  • *****
  • Posts: 9380
  • Karma: +146/-137
  • I'm no guru at all
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #5 on: June 26, 2015, 06:51:26 am »
No, vice versa. Executives have difficulties understanding the abstraction you introduce with classes. It's exactly the same what s scientist does when looking at different plants or animals: putting them into abstract classes. I might have misunderstood your Bobs but my stomach told me that those were instances while behind them there was some class of Bobs (whatever that might have been).

(Have to go to bed now. Cont. tomorrow)

q.
« Last Edit: June 26, 2015, 06:52:09 am by qwerty »

SilverSage

  • EA User
  • **
  • Posts: 38
  • Karma: +0/-0
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #6 on: June 26, 2015, 08:28:34 am »
Quote
I might have misunderstood your Bobs but my stomach told me that those were instances while behind them there was some class of Bobs (whatever that might have been).

(Have to go to bed now. Cont. tomorrow)

q.

Thanks for your reply,q.  Actually, they aren't my Bobs.  They are another modeler's and they're not instances of a Bob class. They're each a BPMN object (and I guess each is its own class); there are about 20 separate Bob objects in the same EA package and model.  Each time an activity requires data from Bob, a different Bob (Link) is inserted into the modeler's diagram with a data association drawn between a Bob and a particular activity.

This seems to me to be wrong.  Should there not be one Bob DataObject from which data associations are made to/from different activities?  Or, although I don't know UML, intuitively there'd be a class of Bobs (as you said) and different instances depending upon how its state changes through the process.

Thanks for your help with this, q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 8173
  • Karma: +193/-22
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Insert Other Element... (EA Context Menu)
« Reply #7 on: June 26, 2015, 01:46:09 pm »
I'm pretty sure it should be instances.

In UML that is all very clear and understood by most modellers.
In an Activity diagram you use only instances -> you pass Objects (not Classes) around between Actions (not Activities).
Some of these Actions are in fact CallBehavior Actions that execute another Activity. If you drag an Activity on a diagram and you choose instance EA will do this for you.
One of my UML best practices explains this in a bit more detail.

You can do the same thing in BPMN, but it's not that easy. For Activities there is a tagged value called CalledActivityRef. For Messages there's an ItemRef which I guess serves the same purpose.

Geert
« Last Edit: June 26, 2015, 01:47:17 pm by Geert.Bellekens »

qwerty

  • EA Guru
  • *****
  • Posts: 9380
  • Karma: +146/-137
  • I'm no guru at all
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #8 on: June 26, 2015, 06:38:13 pm »
Maybe one of our BPMN specialists can chip in. I don't think so, but if there is a different understanding of object in BPMN then I don't know that.

q.

P.S. Just noticed that Paolo replied to your other question...
« Last Edit: June 27, 2015, 03:49:56 am by qwerty »

SilverSage

  • EA User
  • **
  • Posts: 38
  • Karma: +0/-0
    • View Profile
Re: Insert Other Element... (EA Context Menu)
« Reply #9 on: June 27, 2015, 02:24:51 am »
Quote
I'm pretty sure it should be instances.

In UML that is all very clear and understood by most modellers.
In an Activity diagram you use only instances -> you pass Objects (not Classes) around between Actions (not Activities).
Some of these Actions are in fact CallBehavior Actions that execute another Activity. If you drag an Activity on a diagram and you choose instance EA will do this for you.
One of my UML best practices explains this in a bit more detail.

You can do the same thing in BPMN, but it's not that easy. For Activities there is a tagged value called CalledActivityRef. For Messages there's an ItemRef which I guess serves the same purpose.

Geert

Thank you, Geert, for your response and for clearing some things up for me.  I'm not a UML modeler.  I focus more on the intersection of IT and business so I do all of my work in BPMN. I've been modeling with BPMN for perhaps 45 days.  I'm trying to learn as much as I can as fast as I can.  I use the BPMN 2.0 Spec, the books BPMN Method and Style (Editions 1 & 2) by Bruce Silver, and Real Life BPMN, by camunda, as well as reputable blogs and forum postings I can find on the Web to help me learn and understand everything I must.

One thing I'm 95% sure about is that the models me and my team are creating will never see the light of a developer's keyboard, which is one reason why one of my teammates is balking at creating legal BPMN models.

Perhaps you can share with me some Web sites and/or blogs I have yet to discover.  Of course, you don't know which sites and blogs I've discovered.  However, you pointed me to a site I previously didn't know about, so you may know of others, too.

Thank you for your help on this subject.

Michael