Book a Demo

Author Topic: Quick Linker Complexity Level  (Read 6111 times)

Jayson

  • EA User
  • **
  • Posts: 363
  • Karma: +1/-0
    • View Profile
Quick Linker Complexity Level
« on: March 04, 2021, 12:07:28 pm »
Hi all

Does anyone know how to use the Complexity Level settings in quick linkers.
I understand how to use options 4 & 8, but options 16 onwards (see below for documentation) have me puzzling and I cannot find a SINGLE example of them being used.

* 16 = treat the value in the 'Source Stereotype Filter' column ยท (column B) as a Source Name Filter instead
* 32 = treat the value in the 'Target Stereotype Filter' column (column D) as a Target Name Filter instead, and use the value in the 'New Element Stereotype' column (column G) as the name of the newly created element
* 64 = treat the value in the 'Source Stereotype Filter' column (column B) as a Source Classifier Name Filter instead
* 128 = treat the value in the 'Target Stereotype Filter' column (column D) as a Target Classifier Name Filter instead, and use the value in the 'New Element Stereotype' column (column G) as the name of the classifier of the newly created element, creating an additional new element if an element of that name  doesn't exist in the current model

Looking at #16, does this mean the NAME of the element determines whether the quick linker can be created? If so, how would I define the filter? Wildcards???

Looking at #32. If the assumption in #16 is correct, then I cannot see how THIS one makes sense. If I am specifying a filter for the name of a target element, how can I then create a new element? That is, if this quick linker is only evaluated if the target filter is satisfied, surely we would create a connector to THAT existing target element?

Any help is SUPER APPRECIATED as honestly, Mr Google returns absolutely ZERO results for examples on how to use these.

Cheers

Jays :-)

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Quick Linker Complexity Level
« Reply #1 on: March 04, 2021, 01:19:38 pm »
16 & 32 for languages where specific named elements have specific meanings. There are no wildcards, the name is the same or not.

64 & 128 were because SysML moved from defining stereotypes for Unit and QuantityKind to defining classes which you model instances of. In order to keep a remotely useful quicklinker set to help you model them we needed to refer to the classifier of those objects.

The target name/stereotype/classifier filter and the new name/stereotype/classifier aren't necessarily on the same row. A row that filters on the target name and one to empty space creating a new object with that name will both have the same complexity value. If both were specified, that would be creating a child object owned by the target.

Jayson

  • EA User
  • **
  • Posts: 363
  • Karma: +1/-0
    • View Profile
Re: Quick Linker Complexity Level
« Reply #2 on: March 04, 2021, 05:42:31 pm »
Thanks Eve!  :)
I'm a bit thick, so pardon my follow up questions.

1. So to just double check, for #16 & 32, the name of the Source/Target element MUST match this?
Also, are the Source/Target Element types used?
That is, if I specify Name Filter = "Eve" Type = "Class", then this linker will only work with "Class" type elements whose name is Eve?
Can you additionally restrict the stereotypes that are applicable?

2. For #64 & #128, can you give a simple example as this seems quite counter intuitive to me :(
Btw, just to clarify Classifier <->Metatype? (i.e. Class, Attribute, blah blah, blah)?

Thanks

Jays :-)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Quick Linker Complexity Level
« Reply #3 on: March 04, 2021, 06:35:14 pm »
Jays,

Does this mean you're still using the old QuickLinker definition file?  If so, give SERIOUS thought to using the model-based QuickLinker definitions.  Have NOT regretted our changeover AT ALL!

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

Jayson

  • EA User
  • **
  • Posts: 363
  • Karma: +1/-0
    • View Profile
Re: Quick Linker Complexity Level
« Reply #4 on: March 05, 2021, 03:43:35 am »
I'm using a combo of both for various reasons.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Quick Linker Complexity Level
« Reply #5 on: March 05, 2021, 08:23:19 am »
2. For #64 & #128, can you give a simple example as this seems quite counter intuitive to me :(
Btw, just to clarify Classifier <->Metatype? (i.e. Class, Attribute, blah blah, blah)?


So, in your model, you have an Actor named "Employee" and instances "Andy:Employee", "Brian:Employee" and "Colin:Employee". None of these elements are stereotyped. You want an Association quicklink to an Employee instance...
The Sparx Team
[email protected]

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Quick Linker Complexity Level
« Reply #6 on: March 05, 2021, 08:36:20 am »
1. So to just double check, for #16 & 32, the name of the Source/Target element MUST match this?
Also, are the Source/Target Element types used?
That is, if I specify Name Filter = "Eve" Type = "Class", then this linker will only work with "Class" type elements whose name is Eve?
Can you additionally restrict the stereotypes that are applicable?
Yes, only to or from a Class with the name Eve. No, it swaps stereotype handling for name handling.

For the record, I don't remember which profile used this and if you wanted to do it yourself I would probably tell you it seems like a bad idea.

Jayson

  • EA User
  • **
  • Posts: 363
  • Karma: +1/-0
    • View Profile
Re: Quick Linker Complexity Level
« Reply #7 on: March 05, 2021, 09:08:32 am »
Thanks so much for the prompt answer!
Given both of you peeps (presumably) live in Oz, you must be early birds!

I agree that indeed most (if not all) of the complexity level settings seem poor ideas.

Whilst I have you locked into this conversation, can you please tell me the difference between "directed" and " "to".
The respective descriptions in the documentation are:

* directed (always creates an Association from source to target).
* to (creates either a directed or undirected Association, depending on the value of the 'Association Direction' field)

Am I correct in assuming that a "to" quicklinker will:

* Create a connector from source to target if the connector Stereotype has a Direction value of Source -> Destination, and
* Create a connector from target to source if the connector Stereotype has a Direction value of Destination -> Source.


Also, why does the documentation keep talking about Associations specifically rather than connectors in general?
What am I missing?

Cheers

Jays :-)

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Quick Linker Complexity Level
« Reply #8 on: March 05, 2021, 10:04:14 am »
It's easier to be an early bird when working from home. (And yes, we heavily use EA via a PCS) I think both of us usually tend toward an early start anyway

"to" responds to Start > Desktop > Preferences > Links > 'Association Default = source -> target'

It sets direction to 'Source to Destination' if that is checked, it sets direction to 'Unspecified' if it isn't.
« Last Edit: March 05, 2021, 10:05:51 am by Eve »

Jayson

  • EA User
  • **
  • Posts: 363
  • Karma: +1/-0
    • View Profile
Re: Quick Linker Complexity Level
« Reply #9 on: March 05, 2021, 11:13:12 am »
Just to double check, so the "to" option ONLY applies to associations? Or does it apply to ALL  connectors?