Author Topic: Specializing from Archimate "Junction" class  (Read 16646 times)

Rik van der Schalie

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Specializing from Archimate "Junction" class
« on: March 26, 2024, 12:48:14 am »
We are using Archimate fairly intensively. However, we want to add custom tagged values to our Archimate components.
So far we have succeeded in creating our own MDG file, with customized versions of the Archimate classes.
Some observations: most classes need a complete Shape Script to determine the appearance. Luckily, all Archimate Shape Scripts are available. However, a small number of classes inherit the decoration part of the Shape Script from the Archimate metaclass, where most don't. Weird.
Our issue: we also want to create our own Junction class. Whatever we try, we do not succeed in having this custom class to inherit the "junctionKind" property from the Archimate Junction metaclass. Also, when we try to add our own Tagged Value for "junction Kind' to our custom class, we cannot get it to be present in the resulting MDG: our custom Junction does not have our own defined Tagged Value, but it is also missing the "junctionKind" property that it should inherit from the Archimate metaclass.
Any suggestions are very welcome.

qwerty

  • EA Guru
  • *****
  • Posts: 13525
  • Karma: +395/-300
  • I'm no guru at all
    • View Profile
Re: Specializing from Archimate "Junction" class
« Reply #1 on: March 26, 2024, 09:48:20 am »
shape script inheritance does not work IIRC. Or at least it works weird. You probably have redo those manually.

q.

Rik van der Schalie

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: Specializing from Archimate "Junction" class
« Reply #2 on: March 26, 2024, 10:09:24 am »
Indeed, we had to use Shape Scripts for all our inherited objects. However, a selected few (2 or 3) did inherit the decoration (but not the rest of the Shape Script) from their Archimate Stereotypes (thus resulting in two -slightly mis-allgned`decorations).
That is not our main issue: We are designing a custom Junction, inheriting from the Archimate Junction (simply because adding Archimate Stereotypes to our Toolbox doesn't work). This is were things go pear shaped: the junctionKind that is defined in the Archimate Junction does not inherit to our custom Junction. When we define our own junctionKind (based on an enumeration) as a Tagged Value it also does not turn up in the junction elements that we create from our custom toolbox. So we're kind of stumped.

qwerty

  • EA Guru
  • *****
  • Posts: 13525
  • Karma: +395/-300
  • I'm no guru at all
    • View Profile
Re: Specializing from Archimate "Junction" class
« Reply #3 on: March 26, 2024, 10:59:40 am »
For some stereotypes Sparx has hard-coded stuff which you can not inherir/use otherwise. Probably you have to send a support request to Sparx. Their support that way is usually responsive. Whether it will be helpful in the end is anorther question.

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 12995
  • Karma: +544/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Specializing from Archimate "Junction" class
« Reply #4 on: March 26, 2024, 04:41:11 pm »
simply because adding Archimate Stereotypes to our Toolbox doesn't work

Why doesn't that work? That's the simplest solution of them all.

Geert

Rik van der Schalie

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: Specializing from Archimate "Junction" class
« Reply #5 on: March 26, 2024, 08:32:05 pm »
We've found that Archimate Stereotypes won't add to a custom Toolbox using the "Edit with Profile helper", "Add Stereotype". We can select the Archimate Stereotype from the model, but it won't add to the Toolbox.
What does work, we've found out, is to use "Add Item", and then manually type in the fully qualified Archimate stereotype name.

However, this does nothing to help us with the issue that we can't properly specialize from the Archimate Junction stereotype. Even simply creating a new stereotype, specializing from the Archimate Junction, and extending the Junction metaclass, result in a stereotype that is missing the "junctionKind" property. Adding our own Tagged value "Junction Kind" (in which we want to include XOR, beside AND and OR) also, weirdly, does not end up in our stereotype. The resulting stereotype, when used in a diagram, also is of type "StateNode" instead of "Junction", and is missing both the "junctionKind" from the Archimate Junction, and our own defined "Junction Kind".

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 12995
  • Karma: +544/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Specializing from Archimate "Junction" class
« Reply #6 on: March 27, 2024, 12:35:30 am »
We've found that Archimate Stereotypes won't add to a custom Toolbox using the "Edit with Profile helper", "Add Stereotype". We can select the Archimate Stereotype from the model, but it won't add to the Toolbox.
What does work, we've found out, is to use "Add Item", and then manually type in the fully qualified Archimate stereotype name.
Yes, indeed. You have to type the fully qualified name manually, and include the proper UML basetype between parentheses.
Quote
However, this does nothing to help us with the issue that we can't properly specialize from the Archimate Junction stereotype. Even simply creating a new stereotype, specializing from the Archimate Junction, and extending the Junction metaclass, result in a stereotype that is missing the "junctionKind" property. Adding our own Tagged value "Junction Kind" (in which we want to include XOR, beside AND and OR) also, weirdly, does not end up in our stereotype. The resulting stereotype, when used in a diagram, also is of type "StateNode" instead of "Junction", and is missing both the "junctionKind" from the Archimate Junction, and our own defined "Junction Kind".
I would have to try this to figure what is going wrong.
Usually specializing stereotypes from ArchiMate or BPMN works just fine.

Geert