Sparx Systems Forum

Enterprise Architect => Suggestions and Requests => Topic started by: Paolo F Cantoni on November 16, 2006, 05:47:41 am

Title: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 16, 2006, 05:47:41 am
When you add an edge between two vertexes (such as an Association between two Classes), EA (6.5/800.) automatically adds the edge onto all the diagrams these two vertexes are found.

Superficially, this is most attractive.  However, as we move into more complex models with many layers and levels of diagrams, many of which are designed to display only certain aspects of the model, this can be counter-productive.

It seems to me that some form of flexible control is needed to assist in the management of edge displays.

Probably the place to start is at the Repository level - Add an option in the Diagram section of Tools|Options:

[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)

By default this would be checked and thus preserve the current functionality.

Then on each diagram in the properties:

[  ] Do not automatically add all possible connectors

This is unchecked by default - thus preserving existing functionality.

Now if either of these defaults is reversed, then when the edge is added on the first diagram, the Set Connector Visibility dialog is invoked and the user can select which diagrams to add the connector to.

Now... if to the diagram properties we add the option:
[  ] By default do not add connectors
such that it is enabled if [X] Do not automatically add all possible connectors is checked, then we can have EA automatically set the default value of add/don't add to the Set Connector Visibility for this diagram.  The user can, of course, override the default.

I think this might provide the requisite control/flexibility to allow effective and efficient management of connect display on diagrams.

Thoughts?  Votes?
Paolo
[size=0]©2006 Paolo Cantoni, -Semantica-[/size]
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 16, 2006, 06:46:07 am
What do you mean by "if either of these defaults is reversed" for [  ] By default do not add connectors.

Do you mean By default do not add connectors = TRUE for
- the diagram where the link is created
- OR any of diagrams where EA is about to show the just created links
Title: Re: IDEA: Control of connector display
Post by: «Midnight» on November 16, 2006, 08:13:48 am
I'm not really sure of the best way to present (or default) the options.

Still, the idea is excellent, and would help conserve what little hair I have left for pulling due to other things.

Add my vote.
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 16, 2006, 10:51:47 am
Quote
What do you mean by "if either of these defaults is reversed" for [  ] By default do not add connectors.

Do you mean By default do not add connectors = TRUE for
- the diagram where the link is created
- OR any of diagrams where EA is about to show the just created links
Yes, Peter.

If the net effect of the options at the (at both the global and local) level for any (all) diagrams the connector could appear on is to not allow automatic addition, then the dialog should pop-up.

There are more intricacies you could add to the process to make it even more flexible, but this should do for starters...

Paolo
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 16, 2006, 02:49:53 pm
I think the same effect could be achieved with simpler formulation of options:

In Tools - Options - Links
[ ] Always ask when adding new connector to diagrams other then actual diagram

Asking mean showing dialog "Set Connector Visibility"
By default unchecked = ask  only when there is unchecked setting at diagram level "Automatically add all possible connectors" (see below)
If checked then the dialog "Set Connector Visibility" will be shown every time a connector is created and there is at least one other diagram it could be shown.

In properties for particular diagram
[ ] Automatically add all possible connectors (by default checked)
[ ] By default add connectors (Enable when the above option is unchecked, by default unchecked)

Possible combinationes (first combination is the default one):

[ ] Always ask when adding new connector to diagrams other then actual diagram
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 16, 2006, 03:52:59 pm
Hi Peter,

I'm not sure how your formulation is simpler, since they are both 3 check boxes...  ;)

But as I understand your suggestion, there is a fundamental difference between the two approaches.

Yours is a "push" strategy - the options on one diagram affect behaviour on other diagrams.

Mine is a "pull" strategy each diagram determines how it's connectors will be managed.

Can you confirm my understanding?

If it is correct, then I believe the pull strategy is more amenable to subsequent automation where the diagram can be interrogated by the automation process to determine what behaviour needs to be applied.

Thoughts?
Paolo
Title: Re: IDEA: Control of connector display
Post by: «Midnight» on November 17, 2006, 05:30:41 am
The 'pull' strategy also seems to be a better match for the way things are done in EA at present. That's not to say that EA matches your CCC approach, but it can't hurt to have a little more (perhaps one C and a bit).
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 17, 2006, 12:42:40 pm
My formulation is simpler becuase all optiones are formulated positively - ask, add, ...
I don't like options formulated negatively - do not add, ...
If you uncheck such option you end with something like "Not do not add ..."

I think my strategy is also pull strategy. Options on one diagram affect only this diagram. The only possible exception is when adding a connector to a diagram and
the global option
[ ] Always ask when adding new connector to diagrams other then actual diagram
is unchecked
and diagram option
[ ] Automatically add all possible connectors
is unchecked for at least one applicable diagram
What to show in that dialog?
- only applicaple diagrams with unchecked option [] Automaticaly add ... (in this case my strategy is completely pull one)
- or all applicable diagrams (in this case there is little influence between different diagrams)

But generaly one strategy or the other it doesn't matter. You have proposed a great new feature and I'm voting for it.
Title: Re: IDEA: Control of connector display
Post by: Oscar on November 20, 2006, 02:07:48 am
Add my vote.

I prefer Paolo's  pull strategy
Title: Re: IDEA: Control of connector display
Post by: thomaskilian on November 20, 2006, 03:05:13 am
Add my vote. The current way of manually hiding all unwanted connectors definitely needs some improvement. And Paolos suggestion will support that pretty good.

Re Peter: Yes. Double negation is never at no time preferable over a positive statement ;D IOW: I appreciate your way to express it.
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 20, 2006, 05:34:22 am
Quote
Re Peter: Yes. Double negation is never at no time preferable over a positive statement ;D IOW: I appreciate your way to express it.
OK...  Here are the double negatives removed...  :D

Add an option in the Diagram section of Tools|Options:

[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)

By default this would be checked and thus preserve the current functionality.

Then on each diagram in the properties:

[X] Automatically add all possible connectors

This is checked by default - thus preserving existing functionality.

Now if either of these defaults is reversed, then when the edge is added on the first diagram, the Set Connector Visibility dialog is invoked and the user can select which diagrams to add the connector to.

Now... if to the diagram properties we add the option:
[  ] By default do not add connectors
such that it is enabled if [  ] Automatically add all possible connectors is unchecked, then we can have EA automatically set the default value of add/don't add to the Set Connector Visibility for this diagram.  The user can, of course, override the default.

I think this might provide the requisite control/flexibility to allow effective and efficient management of connect display on diagrams.

Are we now agreed?
Paolo
[size=0]©2006 Paolo Cantoni, -Semantica-[/size]
Title: Re: IDEA: Control of connector display
Post by: Oscar on November 20, 2006, 11:44:38 pm
Quote
Are we now agreed?


I am.
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 21, 2006, 12:24:27 am
If I understand you well, you mean that
what happened after user add a connector to diagram A depends only on settings in diagram's A properties.

That means, if I want another diagram say diagram B to be  "protected diagram" (no other connectors will be accidentaly added to this diagram) I will have to uncheck
"Automatically add all possible connectors" for diagram A and all other diagrams. This is checked by default so it's quite a lot of work and can forget to uncheck it for some diagram.
And while unchecking "Automatically add all possible connectors" I'm making all diagrams "protected" and not only diagram B.
In fact I can achieve the same effect by the global setting.

Conclusion - with options you've suggested it's not possible to have selective "protected diagrams" (it's possible to protect all diagrams or none).

Maybe it's not bad.

Maybe a combination of push and pull strategies is possible.
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 21, 2006, 12:35:25 am
Quote
If I understand you well, you mean that what happened after user add a connector to diagram A depends only on settings in diagram's A properties.

That means, if I want another diagram say diagram B to be "protected diagram" (no other connectors will be accidentally added to this diagram)
Hi Peter,

I don't think I've explained myself well enough...  My view is that to create a protected diagram "B", I need to have:

Diagram section of Tools|Options:
[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)
- This can be on or off - doesn't really affect this particular process - because I'm going to direct otherwise... :) (that's why I think it's a "pull" idiom).

Then in diagram "B"'s properties:

[  ] Automatically add all possible connectors
[X] By default do not add connectors

Should protect "B".  "B" is in charge of it's destiny...

Correct?
Paolo
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 21, 2006, 12:41:37 am
OK.

In your suggestion, you can describe
[  ] Automatically add all possible connectors
as
[  ] Automatically add all possible connectors to this diagram

(at least in help file)
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 21, 2006, 01:56:26 am
Quote
OK.

In your suggestion, you can describe
[  ] Automatically add all possible connectors
as
[  ] Automatically add all possible connectors to this diagram

(at least in help file)
Hi Peter,

I told I hadn't explained myself well enough...   ;D

Diagram section of Tools|Options:
[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)

In diagram "B"'s properties:
[  ] Automatically add all possible connectors to this diagram[/b]
[X] By default do not add connectors

Correct?
Paolo
Title: Re: IDEA: Control of connector display
Post by: peter.zrnko on November 21, 2006, 01:58:55 am
OK. Correct.

What about Sparxians? What do yoy think about this analytical excercise?
Title: Re: IDEA: Control of connector display
Post by: Eve on November 21, 2006, 01:26:12 pm
My personal opinion is that you're getting close to a very useable solution, but I would suggest a further amendment.

At the Model level.  (Diagram or Links section of Tools | Options)
[ ] Prompt for diagrams to add new connectors to

In Diagram "B"'s properties:
[X] Add new connectors to this diagram.


If the prompt option is checked (not by default to preserve existing functionality) then a comes up to ask what diagrams to add the connector to.  The dialog would then be filled with the appropriate values based on the checkboxes for the relevant diagrams.

If the prompt option is cleared then the behaviour is exactly the same as if the user confirmed the defaults in the dialog.

As far as I can see these two checkboxes provide the full functionality of any of the suggestions above, there is no negative phrasing (as there was still one in the example above) while also allowing connectors not to be added without a prompt.
Title: Re: IDEA: Control of connector display
Post by: sargasso on November 22, 2006, 12:22:08 am
(cough, cough... ahem!)
cuse me for butting in here, but as I have said elsewhere ¨ijus are people too¨
To me, ( :)) the problem is simple.  If I change a property of a structural element, that change is (and should be) reflected in all visualisations of that element.  If I change a diagramatic aspect of a ¨nurd or ije" it should just be reflected in the current diagram.
Adding a ¨nurd" to a diagram doesn´t automatically add the same nurd to all other diagrams in the model (or some subset of the model) So why should adding an ¨ije¨ do so?
a) because some ijes are structural/behavioural and some aint.
b) because we aint reilsed that yet!!!

If diagram A and B contain nurds X and Y, and I add an ije betwooks X and Y that is structural or behavioural, then I am changing the nature of both the elements and their interelationships.  If, OTOH, I add an ije that does not implicitly or explicitly change the composition of either nurd, for example an ¨ïnformation flow¨ ije, then that modelling information token is of use an interest to only the current diagram.

(sorry, I´ll shut up now)

bruce
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 22, 2006, 01:19:10 am
Quote
(cough, cough... ahem!)
cuse me for butting in here, but as I have said elsewhere ¨ijes are people too¨
So you were on the sauce while you were away???  ;)
Quote
To me, ( :)) the problem is simple.  If I change a property of a structural element, that change is (and should be) reflected in all visualisations of that element.
Well that's not true...  Whether or not a feature of a nurd is rendered on a given diagram is a function of both the diagram's properties and the Set Feature Visibility within those broad parameters.  That is, a "pull" paradigm.
Quote
 If I change a diagrammatic aspect of a ¨nurd or ije" it should just be reflected in the current diagram.
By that you mean routing or appearance (for that diagram).
Quote
Adding a ¨nurd" to a diagram doesn´t automatically add the same nurd to all other diagrams in the model (or some subset of the model) So why should adding an ¨ije¨ do so?
a) because some ijes are structural/behavioural and some ain't.
b) because we ain't realised that yet!!!
Because...
a) That's the current behaviour - add a nurd and all it's ijes are added...
b) ijes can be people too and the diagram can exert a "pull" paradigm on them also...
Quote
If diagram A and B contain nurds X and Y, and I add an ije betwooks X and Y that is structural or behavioural, then I am changing the nature of both the elements and their interrelationships.  If, OTOH, I add an ije that does not implicitly or explicitly change the composition of either nurd, for example an ¨information flow¨ ije, then that modelling information token is of use an interest to only the current diagram.
Says who?
Quote
(sorry, I´ll shut up now)
bruce
By the way, as I hinted above, I'm not proposing to change the current behaviour that when you add a nurd to the diagram, all it's ijes are added...

Paolo
Title: Re: IDEA: Control of connector display
Post by: sargasso on November 22, 2006, 04:07:00 am
Aye, and there be the knot (knut?)
I am proposing that the current behaviour be changed.  Some many moons ago I said the diagram is not the model, reality is the model and a diagram is some aspect/facet/viewpoint of it.  The EA model (to me at least,) is the ¨repository¨.  I want to make many, many diagrams that ellicit some salient aspect of ¨ye truth¨ as, sic, truth! Within that metaphore (truthe and ye realitie), aspects of non-code-genyration consideration (non-structural/non-beavioural, yet  somehow informationally significant)  still yet need to be displayed - locally!
Let me emphasize,   the diagram is not the model.  
If I walk up to a whiteboard and draw a UML diagram of something I am trying to explain, the only things I´ll draw are those things pertinent to the current conversation.  If, and only if, the ensuing argument ellicits some pertinent an agreed outcome (ye nurd X shall ellicité ye behaviour Y under constrainte Z), then and only then shall such agreement be included in my model.
After many hours of deliberation and many printings of the old trusty whiteboard, we hopefully have a structural and behavioural conclusion.  To me, EA is that whiteboard, that is the metaphore and tool I work with.  I may produce 20 or 30 diagrams in a day that are trying to ellicit some aspect of the system, at any level of abstraction.  Some are useful, some are not.  Those that are, and quite a few of those that are not, are retained.   Consider an architecture report, it discussed the alternatives to the solution and recommmends some optimals. Any such optimal may be conditional on many different value points, and it is up to the adopters to decide the outcome.  I say EA has exactly the same value. It is a tool that lets me draft, cast and evaluate alternatives. Once they have been evaluated then we can take the irrevocable step towards casting them in stone as a design - or, to get back to my point including structural and/or behavioural decisions on the model.
I am becoming a bit dismayed that an excellent modelling tool, has of late (and wherefore I know not) seem to be becoming a (YUK!) CASE tool.

mtfbwy
Bruce (sic)
Title: Re: IDEA: Control of connector display
Post by: Paolo F Cantoni on November 22, 2006, 07:06:48 am
bruce,

I think we're in broad agreement on a number of things...

If you look back on my original post for this topic, I argued that the current behaviour aught to be changeable.  I'm just cognizant that we also need to be able (by default) to preserve the current behaviour (unless the proposed behaviour is so obviously better that the hordes will cheer when Sparx produce the new default).  This is the principle of least astonishment - which we've both in the past accused Sparx of violating...

Also, we agree that the diagram is not the model.  But it is a view into the model.   Again, from my first post, I'm saying that if I decide what I want to see in any given diagram (that is, the view this diagram is presenting), I don't want EA to muck it up for me by using the current default behaviour.  In particular, we are already stereotyping our diagrams to tell our automata how to maintain them - consequently we don't want EA's (current) behaviour to create additional work for us.

I think, madame, that we've determined what you are, we're just arguing the price...   ;) (GBS)

Paolo
Title: Re: IDEA: Control of connector display
Post by: darren.sampson on January 10, 2007, 09:23:32 pm
The current default behaviour (as of 6.5 802) is getting up my nose very fast.

I have a set of class diagrams that have been reviewed, and I'm adding some extra diagrams to show traceability between the classes and the components.  This involves adding links between classes and sub-classes nested in the classes.

These new links show in the reviewed diagrams which I have not touched :o

These reviews are in preparation for a formal EN50128 software audit.  The changes in the diagrams are unlikely to go down well with the auditor!

Please, pretty please fix this annoying feature!!

As has been said:

Quote
Also, we agree that the diagram is not the model.  But it is a view into the model.   Again, from my first post, I'm saying that if I decide what I want to see in any given diagram (that is, the view this diagram is presenting), I don't want EA to muck it up for me by using the current default behaviour.


Stop mucking up my diagrams.  Please!!

Darren