Book a Demo

Author Topic: Displaying compartments for Classifiers  (Read 7425 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Displaying compartments for Classifiers
« on: July 31, 2007, 09:33:46 pm »
UML defines a compartmentalized (rectangular) notation for Classifiers.  By default a Class is rendered in this rectangular notation.  Most (given EA's UI (Unique Interface) I can't be sure if it's all) Classifiers have the ability to be rendered in that notation: <context menu>|Advanced>Use Rectangular Notation.

Most other classifiers are NOT rendered in this notation by default.  When you switch to the rectangular notation for these other classifiers (because you want to display the contents of one or more compartments), the diagram distorts.

I think it would be a good idea to introduce a new concept for these classifiers:  <context menu>|Advanced>Display Compartments.  This would display the compartments defined in the <context menu>|Set Feature Visibility... Ctrl+Shift+Y dialog, in a separate "box" connected to the main element by a NoteLink (or similar edge).  The box could be rendered with a NoteLink rendered border.  This box would then be able to be positioned in a suitable place on the diagram.

Thoughts?  Votes?
Paolo
[size=0]©2007 Paolo Cantoni, -Semantica-[/size]
« Last Edit: July 31, 2007, 09:37:37 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #1 on: August 01, 2007, 02:27:43 am »
Quite a good idea.

This takes the concept of a feature-linked note to a new level, without breaking the overall paradigm of how EA displays information.

As you have pointed out, it would also help with various diagramming issues EA has when using rectangle notation.

Yes, add my vote!

David
No, you can't have it!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #2 on: August 05, 2007, 06:00:42 am »
Quote
[SNIP]This would display the compartments defined in the <context menu>|Set Feature Visibility... Ctrl+Shift+Y dialog, in a separate "box" connected to the main element by a NoteLink (or similar edge).  The box could be rendered with a NoteLink rendered border.  This box would then be able to be positioned in a suitable place on the diagram.
I'm trying to get comfortable with this.

I agree that there is a big need for additional, optionally visible compartments.  Some of these should be EA standard in that, for example, they complete the Property Window metaphor.  We have the Attributes, Operations, Constraints,and Notes compartments;  we should also have the Scenario and Files compartments.

I feel strongly that the elements listed in these compartments (with the exception of the notes compartment, which ought to follow Paolo's note-link notational approach) ought to be capable of being links to supporting diagrams.  For example:
  • The attributes could be links to a diagram where data objects or object classes are defined;
  • The operations could be links to behavioral diagrams;
  • Constraints could be links to OCL or boolean behavior diagrams;
  • Scenario Names could be links to underlying behavior diagrams and or Protocol State Charts;
  • etc.
Again, these ought to be out of the box EA features.  They allow a model reader to start at the 40,000ft. view and then drill down to a level of detail at which they are satisfied.

Next, I advocate the ability for a modeler to define User Defined compartments that support popular design paradigms such as Aspect Oriented Design.  A PointCuts compartment would be most useful to the Aspect Oriented community.

Now getting to my point, I suggest that these compartments ought to be directly attached to their base element (just as the existing compartments are attached) so that we don't get funky routing of edges from other design elements.  I fear a need to spend time drawing custom routings for note-link edges to avoid their being overlaid by the notes suggested by Paolo.  The complexity of the resulting diagram would be controlled by managing which compartments are visible;  each set of displayed compartments consistent with the subject|perspective|view of the current diagram.

Just my opening thoughts...  ;D  Interested in further discussion.   8)

Jim
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #3 on: August 05, 2007, 02:07:29 pm »
Hi Jim,

I agree with what you've said, but I just want to add further clarifications:

Now, just to be clear, what I'm advocating here is two compartmentalized views:

1) An extension of the current (rectangular) one - containing the additional compartments you've identified here and elsewhere.
2) A new one where the main element is rendered in the usual non-rectangular way and an attached "rectangle of compartments" - again totally consistent with the set identified in 1).

The decision to use: No compartments,  1), 2) or a mixture (of all three) depends on the needs of the diagram.  

The attachment link should not be a fixed length but allow "attachment" at a distance - precisely to avoid the need for large amounts of re-layout the diagram.  I envisage these would be put on a "clear" section of the diagram and would require only the attachment link to the main element shape.

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

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #4 on: August 05, 2007, 05:32:08 pm »
 BINGO!
Paolo and I are in 100% agreement!
Sparks? Go for it!

Chime in folks!

Consider the impact this would have on the web version of the models.  Model viewers could start from an index.html page on the model and drill down via links to anything they were interested in viewing.  If not published on the web, the models could be published on DVDs and sent to stakeholders for review.

Its better than fighting Word and RTF formats I think
Verbal Use Cases aren't worth the paper they are written upon.

thomaskilian

  • Guest
Re: Displaying compartments for Classifiers
« Reply #5 on: August 06, 2007, 02:22:37 am »
If I understand it right, you want to attach a note where configurable compartments appear (the know ones, plus scenarios, plus....). That sounds great! If we could have that for 8.0?

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #6 on: August 06, 2007, 03:54:29 am »
Or even 7.x, for x > 0.
No, you can't have it!

Krzysztof Swiatkowski

  • EA User
  • **
  • Posts: 76
  • Karma: +0/-0
  • Understanding is a three-edged sword
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #7 on: August 06, 2007, 04:42:58 am »
Quote
I feel strongly that the elements listed in these compartments (with the exception of the notes compartment, which ought to follow Paolo's note-link notational approach) ought to be capable of being links to supporting diagrams.


I agree. I think that there should be more space for creating easily browsable models. Right now I use and abuse cross package composition and referencing but I think that ability to create links to other diagrams from compartment elements would allow creation of models that can be easily browsed and more linked.
I am right now helping one customer to create modeling environment that minimizes needs for Word-ish documentation and I would welcome such ability.

Such linking would be extremely useful but I see one problem though - that kind of linking would create ability to create relations that are not defined in the UML. So this would be very tool specific. I would welcome it anyway.

Regards
Kris
If I put you finger in the eye
then you have finger in the eye
and I have finger in the eye
but it's not the same

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Displaying compartments for Classifiers
« Reply #8 on: August 06, 2007, 05:15:40 am »
One problem with the multiple links is getting EA to decide which to follow...

Aside from the DB and application changes required to support it, the REAL problem is the unique interface (UI)...

At present EA will EITHER open the properties OR link to the (single) attached diagram if the element is marked composite - when you double-click.

One suggestion I had to straighten out this insanity (if you REALLY had to retain double-click for both jobs) was to only traverse to the diagram if you double-clicked on the link icon otherwise it would still open the element properties.

If you adopt that UI improvement, then you can have multiple links and double-click to appropriate one will take you to the associated diagram.

Paolo
[size=0]©2007 Paolo Cantoni, -Semantica-[/size]
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!