Author Topic: How to specify a Use Case include or extend in an MDG file  (Read 5839 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8551
  • Karma: +254/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
How to specify a Use Case include or extend in an MDG file
« on: January 29, 2024, 01:42:46 pm »
Hi,
We're trying to get a Use Case "include" and "extend" relationship into another toolbox.  However, we can't seem to define it so that it works...
We note that when we create one out of the (UML) Use Case toolbox; we see (in t_connector) Type=UseCase, Subtype=Extends (or Includes), Stereotype=extend (or include)

Can some kind soul show us how to define it in a toolbox?
<Tag name="UseCase::extend" type="" description="" unit="" values="" default="extends (Use Case)"/>
(which we tried BEFORE we saw what happens in t-connector) doesn't work - since we don't have the correct profile name or metaclass.


Previously, we would have looked at the UML_UseCase.xml file and reused it, but it is now encoded, and we can't see how it's done.

TIA,
Paolo
« Last Edit: January 29, 2024, 01:48:13 pm by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8551
  • Karma: +254/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #1 on: January 29, 2024, 02:26:36 pm »
Figured it out...  This may help others who must create the profile and type for hidden MDGs.

Firstly, went to t_xref and found the stereotype details: 
@STEREO;Name=extend;GUID={09DC5418-2C88-4270-8CC4-7347CE8A3C60};@ENDSTEREO;
This indicated that the relationship had been created WITHOUT a specific PROFILE and was considered a LOCAL stereotype (i.e. in t_stereotypes).
Following the trail, this indicated that the base type it was applied to was ucextend or ucinclude!
Concluded that the specification must be:
<Tag name="UML::UCExtend" type="" description="" unit="" values="" default="extends (Use Case)"/>

Which WORKED!

Now, how to get an icon assigned in the toolbox (other than the << >> default or error)?

HTH,
Paolo


[Edit: corrected the name after input from Eve.  The base class is shown in the dialog, and DB as all lowercase...
Consistency, Consistency, Consistency! TM]
« Last Edit: January 29, 2024, 03:55:14 pm by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8018
  • Karma: +118/-20
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #2 on: January 29, 2024, 02:59:35 pm »
Now, how to get an icon assigned in the toolbox (other than the << >> default or error)?
I suspect it's case sensitive. The built-in toolbox uses "UML::UCExtend".

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8551
  • Karma: +254/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #3 on: January 29, 2024, 03:57:46 pm »
Now, how to get an icon assigned in the toolbox (other than the << >> default or error)?
I suspect it's case-sensitive. The built-in toolbox uses "UML::UCExtend".
Confirmed!
As noted previously, that's NOT in the DB and Dialog.  Perhaps a defect could be reported by someone whose licence is not currently "in limbo".  (The old one expired; the bureaucracy has not yet finalised ordering the new one...)

Paolo
« Last Edit: January 29, 2024, 07:52:28 pm by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8018
  • Karma: +118/-20
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #4 on: January 30, 2024, 09:11:25 am »
The 'applies to'/'base class' in the stereotypes dialog are all lower case. There's no reason to suspect that casing should be applied anywhere else. The problem was with your chain of reasoning, not the product.

I would have accepted that the documentation was lacking, but I checked.

Connectors Used in Toolbox pages
Quote
  • UCExtend (Extend)
  • UCInclude (Include)
So, maybe you would have been better off just looking at the documentation.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8551
  • Karma: +254/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #5 on: January 30, 2024, 09:39:51 am »
The 'applies to'/'base class' in the stereotypes dialog are all lower case. There's no reason to suspect that casing should be applied anywhere else. The problem was with your chain of reasoning, not the product.

I would have accepted that the documentation was lacking, but I checked.

Connectors Used in Toolbox pages
Quote
  • UCExtend (Extend)
  • UCInclude (Include)
So, maybe you would have been better off just looking at the documentation.
I think I may be forgiven for not finding it in the documentation since that page doesn't appear in the first 50+ entries in the Help system search bar results for "Include".  After checking the first 50+ entries, I'm not going to try page 2+.
(To be clear, I didn't look in the documentation before as I acted on a later hunch.  I hadn't intended to spend any more time on the problem until I'd gotten feedback from the post.)

However, it's good to know it exists.  I'll add it to my "favourites".

Paolo
« Last Edit: January 30, 2024, 09:42:18 am by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8018
  • Karma: +118/-20
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #6 on: January 30, 2024, 10:08:55 am »
Certainly. I'm not saying it's easy to search for a common word like include.

Like you, I didn't search for it initially. Only after your suggestion that it should be reported as a defect, even then I didn't run a search. I opened the help and navigated to the help for creating a toolbox profile.

On the other hand, the way that you found the information in your roundabout way I would call a defect. "extend" and "include" are not stereotypes and they shouldn't be created as stereotypes. They are keywords, they just look like stereotypes because the standard notation for an applied stereotype is a keyword with the stereotype name. There used to be a decent number of types that were created by adding a stereotype to another type with otherwise similar notation. I suspect the only reason why these stereotypes still exist are because using the Subtype it's already possible to distinguish the actual type.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8551
  • Karma: +254/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #7 on: January 30, 2024, 11:39:05 am »
Certainly. I'm not saying it's easy to search for a common word like include.

Like you, I didn't search for it initially. Only after your suggestion that it should be reported as a defect, even then I didn't run a search. I opened the help and navigated to the help for creating a toolbox profile.

On the other hand, the way that you found the information in your roundabout way I would call a defect. "extend" and "include" are not stereotypes and they shouldn't be created as stereotypes. They are keywords, they just look like stereotypes because the standard notation for an applied stereotype is a keyword with the stereotype name. There used to be a decent number of types that were created by adding a stereotype to another type with otherwise similar notation. I suspect the only reason why these stereotypes still exist are because using the Subtype it's already possible to distinguish the actual type.
Yes, I was originally surprised to find them in the Subtype column in t_connector (I thought EA had stopped using it, some time past).  They do exist in the Stereotype column so are you saying they shouldn't?  I think I understand the point you're making, but the implications aren't clear to me.

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

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8018
  • Karma: +118/-20
    • View Profile
Re: How to specify a Use Case include or extend in an MDG file
« Reply #8 on: January 30, 2024, 11:55:44 am »
UML doesn't define include and extend as stereotypes. EA adds those stereotypes to all connectors of those two types anyway.

I think that is a potential issue, but the only place that I can think of where that might be a problem is a bit of noise in an XMI file. So, not necessarily a priority to address it.