Book a Demo

Author Topic: v15 - Structured Metamodel, how to abstract relationship up the tree?  (Read 10778 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
We're trying to create a structured metamodel to generate an MDG.  We're trying to implement something similar to the structure shown in the ArchiMate 3.x specification Figure 1 Top-Level Hierarchy of ArchiMate Concepts.

So, for example, Business Object --|> Passive Structure Element --|> Structure Element --|>  Element

NOTE: This is in our own MDG NOT the ArchiMate 3 one.

In our previous (handcrafted) MDG we had over 32K of defined specific relationships between specific metatypes.  This is obviously, NOT the "way to go" with the new mechanism.

Supposing I want to define a stereotyped relationship between Business Objects, I can do so because Business Object extends UML::Class.  I can make Business Object extend Passive Structure Element, and  I was hoping to be able to move the same stereotyped relationship up one level to Passive Structure Element and thereby apply the relationship to ALL Passive Structure Elements.  It doesn't seem to work.  I want to be able to apply the relationship as far up the tree as is appropriate for the relationship metatype.

How do I do this?  I only need an example of, say, 3 levels to get me started.

TIA,
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: 8110
  • Karma: +119/-20
    • View Profile
You say it doesn't seem to work... For a concrete example, what behavior are you expecting and what are you getting.

I've personally used abstract stereotypes for relationship source, relationship target and the relationship itself. In all cases the relationship was defined for all specialized types.

PS. It just occurred to me to ensure your quicklinker is set not to filter to the toolbox when testing your metamodel. It makes a big difference, otherwise you end up testing two separate things.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
You say it doesn't seem to work... For a concrete example, what behaviour are you expecting and what are you getting.

I've personally used abstract stereotypes for relationship source, relationship target and the relationship itself. In all cases, the relationship was defined for all specialized types.

PS. It just occurred to me to ensure your quicklinker is set not to filter to the toolbox when testing your metamodel. It makes a big difference, otherwise, you end up testing two separate things.
(my emphasis) Ahh... I'll try to ensure that.  I'll try and post a concrete example.

Paolo
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: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
I've checked and Filter to Toolbox isn't having any effect.

I suspect my model is corrupted by my attempts to get things working.  Would you be so kind as to provide a tiny example showing one level of abstraction?  I can then import that into my repository and confirm it works locally.  At the present, the MDG file looks OK (to my eyes, but what does that mean at this stage)  but I can't, for example, create diagram objects of the abstract stereotypes - should I be able to?

TIA,
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: 8110
  • Karma: +119/-20
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #4 on: August 01, 2019, 10:26:53 am »
Metaclass Class contains attribute _HideUmlLinks=true
Abstract Stereotype A extends Class
Stereotype AA specializes A
Stereotype AB specializes A
Abstract Stereotype B extends Class
Stereotype BA specializes B
Stereotype BB specializes B
Abstract Stereotype C
Metaclass Dependency1 contains attribute _MeaningBackwards=RA
Metaclass Dependency2 contains attribute _MeaningBackwards=RB
Stereotype CA specializes C extends Dependency1
Stereotype CB specializes C extends Dependency2
AA has stereotyped relationship { stereotype=CB } to B
A has stereotyped relationship { stereotype=CA } to BA
BA has stereotyped relationship { stereotype=C } to BB

AAABBABB
AACA CBCB
ABCA
BARARACA CB
BBRA RB

Does that show enough to get you going?

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #5 on: August 01, 2019, 10:34:33 am »
[SNIP]

Does that show enough to get you going?
I think so,  Thanks!

I'll give it a go, though not immediately - "up to my neck in muck and bullets" today.

Paolo
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: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #6 on: August 02, 2019, 11:45:51 am »
Metaclass Class contains attribute _HideUmlLinks=true
Abstract Stereotype A extends Class
[SNIP]
OK, Eve,

I've had a go, but I can't see how to create an Abstract Stereotype.  The ones I created behave just like ordinary stereotypes.  And so I only get the specific QuickLinker relationships I defined, no extension to the specilised subtypes.

Typing "Abstract Stereotype" into the Help system just returns stuff pertaining to UPDM.

What am I missing?  You didn't, perchance, mean Abstract Metatype?

[Edit: I noticed the IsActive attribute (default) was on the Metaclass specification.  And even though I can't find anything on it in the Help system, I took a punt and removed it from the generated XML.  Things seem to be working now.  Is that how you create an abstract stereotype - Remove the isActive attribute?]

[Edit2: I can now duplicate your relationship structure below - so that 's good.  BUT if  CA and CB are available between AA and BA (as shown), why aren't both RA and RB available between BA and AA?  Doesn't seem right.]

Paolo
« Last Edit: August 02, 2019, 12:14:11 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: 8110
  • Karma: +119/-20
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #7 on: August 05, 2019, 11:53:57 am »
Abstract Stereotype means a stereotype with isAbstract=true. If you don't do that there will just be three extra types to consider.

I'm not sure of the reason why those particular reverse relationships aren't currently being offered.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #8 on: August 05, 2019, 01:52:38 pm »
Abstract Stereotype means a stereotype with isAbstract=true. If you don't do that there will just be three extra types to consider.

I'm not sure of the reason why those particular reverse relationships aren't currently being offered.
Thanks, Did I miss something in the Help or does it need updating?

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

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1297
  • Karma: +21/-4
  • Read The Help!
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #9 on: August 05, 2019, 04:54:21 pm »
Both. There are mentions of Abstract Stereotypes (or abstract stereotypes) in the Help, but they are only found in the UPDM section. I will have a look at why that is.
Best Regards, Roy

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #10 on: August 06, 2019, 08:54:04 am »
Probably has more to do with me assuming that 'abstract <any specialization of classifier>' would be widely understood rather than a deficiency in the help.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v15 - Structured Metamodel, how to abstract relationship up the tree?
« Reply #11 on: August 06, 2019, 11:36:54 am »
Probably has more to do with me assuming that 'abstract <any specialization of classifier>' would be widely understood rather than a deficiency in the help.
I've learned, "the bleeding obvious - isn't".

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