Sparx Systems Forum

Enterprise Architect => Bugs and Issues => Topic started by: Uffe on July 27, 2020, 08:31:09 pm

Title: Note links to boundaries and fragments not UML compliant
Post by: Uffe on July 27, 2020, 08:31:09 pm
Since when?

I'm on 1528, and trying to draw a note link from a note to a boundary either creates a new note, which is linked not to the boundary but to the first note, or (using the toolbox) pops the "not UML compliant" error. Same with sequence fragments.

So I guess the question is, why does the UML standard state unequivocally that you cannot add explanatory notes to boundaries in your diagram?

/Uffe
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: qwerty on July 27, 2020, 09:14:11 pm
Probably because "boundary" is not an UML element. This is a (usefull!) Sparx invention.

q.
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Uffe on July 27, 2020, 09:36:51 pm
But that would imply that this behaviour is a bug, no?
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: MichaelJ on July 27, 2020, 09:45:38 pm
But that would imply that this behaviour is a bug, no?
Hi Uffe,
Yes, it would imply this behavior is a "bug". You could raise the bug on the argument that it's completely sensible to be able to attach a UML note to a boundary element.

However, please note, a boundary element does support adding "notes":
(I'm using version 15.2 build 1552 - we use this method to capture details (shown on reports) about what a boundary contains or what its purpose is)
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Uffe on July 27, 2020, 10:02:48 pm
Yes, but that's just the element notes field. The point of linked notes is so you can show those notes in a diagram, separate from the element.

There is a cheat you can use if you need to, and it goes like this.

1) Make the boundary opaque (solid).
2) Create a dummy note with no content. Make it as small as possible.
3) Link your real note to the dummy note.
4) Move the dummy note into the place where you want the note link to end, and Z-Order it behind the opaque boundary.

This makes it appear as if the note is linked to the boundary, when it is in fact linked to the hidden dummy note.
Of course it doesn't work with report generation because there isn't an actual link, but visually it's OK.


/Uffe
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Paolo F Cantoni on July 27, 2020, 10:34:56 pm
We are trying to get rid of Boundary elements.  Taking a leaf from ArchiMate we have created Grouping elements (which conceptually boundaries are).  Made them as flexible as boundaries (or as close to them as we can).  They are then REAL elements, not semi-real ones.

Just a thought.

Paolo
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Uffe on July 27, 2020, 11:35:53 pm
We are trying to get rid of Boundary elements.  Taking a leaf from ArchiMate we have created Grouping elements (which conceptually boundaries are).  Made them as flexible as boundaries (or as close to them as we can).  They are then REAL elements, not semi-real ones.

Just a thought.

And not a bad one, but I'm just drawing here, not modelling. I don't need it to be correct, but I do need it to look good.
(It's documentation for my soon-to-be-released Add-In Factory for Visual Studio, tease tease.)

/U
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: MichaelJ on July 28, 2020, 07:55:12 am
We are trying to get rid of Boundary elements.  Taking a leaf from ArchiMate we have created Grouping elements (which conceptually boundaries are).  Made them as flexible as boundaries (or as close to them as we can).  They are then REAL elements, not semi-real ones.
...
Hi Paulo,

Same here. We tend to use ArchiMate groupings too because they are real elements. ArchiMate is wonderful in that regard.


...There is a cheat you can use if you need to, and it goes like this....
Wow! Uffe, the approach you provide sounds like true modelling pain (even if you do wish to just "draw" a diagram).
The product suffers from tight coupling between UML modelling logic and visual representation, the "This-is-My-UML-Model and This-is-How-I-Want-To-Show-It concepts.

As modellers and designers we want to be able to say "Please use Profile-X to represent canvas shapes and connectors and provide basic connector 'rules'; otherwise, just let me draw what I want, how I want to represent what I want".
However, since these two concepts (the "model" and the "representation") are so intimately tied together in the Sparx EA C++ codebase, the "representation" will always be hamstrung by the "profile".


On a side note regarding the tight coupling: for example, why are bezier connectors only possible on certain diagram types? It's just a connector "style" between canvas object A and B. What if i want my ArchiMate conenctors to look like that? Why do ArchiMate connectors not honour the "Connector Jumps"? Again, surely all connectors ought to be painted the same way as UML connectors?
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Uffe on July 28, 2020, 03:37:26 pm
...There is a cheat you can use if you need to, and it goes like this....
Wow! Uffe, the approach you provide sounds like true modelling pain (even if you do wish to just "draw" a diagram).

Oh it is. You don't know the half of it. In sequence diagrams, EA gets notes stuck together with other notes, with boundaries and with fragments so that moving one moves the others (and yes, that moves the fragments without moving the messages it covers, so the messages slip out of the fragments and well I wrote that up somewhere else). And the kink points in the lines have to be manually moved each time this happens, or when an activation shifts up or down.

It is, in short, a horrifying mess and I would wish it on my worst enemy.

But I'm working on documentation for an EA-related product, so I can't very well use MagicDraw.

Quote
The product suffers from tight coupling between UML modelling logic and visual representation, the "This-is-My-UML-Model and This-is-How-I-Want-To-Show-It concepts.

As modellers and designers we want to be able to say "Please use Profile-X to represent canvas shapes and connectors and provide basic connector 'rules'; otherwise, just let me draw what I want, how I want to represent what I want".
However, since these two concepts (the "model" and the "representation") are so intimately tied together in the  Sparx EA C++ codebase, the "representation" will always be hamstrung by the "profile".

Yes. The model-view design is a good idea in principle, but there doesn't seem to be a clearly defined model here, rather just a mass of what I suspect is pretty spaghetti-ish code that implements the model implicitly. Having the model separated would likely make for a more flexible tool. And would definitely make the GUI far less responsive.

/U
Title: Re: Note links to boundaries and fragments not UML compliant
Post by: Geert Bellekens on August 08, 2020, 04:09:22 pm
Since when?

I'm on 1528, and trying to draw a note link from a note to a boundary either creates a new note, which is linked not to the boundary but to the first note, or (using the toolbox) pops the "not UML compliant" error. Same with sequence fragments.

So I guess the question is, why does the UML standard state unequivocally that you cannot add explanatory notes to boundaries in your diagram?

/Uffe
I think a saw something in the release notes of the 15.2 beta about a fix for that.

Geert