Book a Demo

Author Topic: Diagrams do not contain model information?  (Read 14800 times)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Diagrams do not contain model information?
« on: August 27, 2009, 07:29:11 pm »
Continuing the discussion from http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1251293619/9#9 in a new topic.
The main question is:
Since diagrams are hardly defined in the UML metamodel we should be able to delete all of them without loosing any information.
Diagrams only serve as a means for a human to understand the model.
This seems to become problematic when talking about Activities and the Activity diagrams. (especially in the way it is implemented in EA)

Geert

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Diagrams do not contain model information?
« Reply #1 on: August 28, 2009, 09:51:03 pm »
Yup!

Sequence Diagrams are also sort of 'orphans' in EA, though that might not apply in this specific context.
No, you can't have it!

Oliver F.

  • EA User
  • **
  • Posts: 573
  • Karma: +2/-1
  • Aren´t we all in the model business ?
    • View Profile
    • Karl Storz homepage
Re: Diagrams do not contain model information?
« Reply #2 on: September 02, 2009, 06:57:35 pm »
Quote
Yup!

Sequence Diagrams are also sort of 'orphans' in EA, though that might not apply in this specific context.

I believe that all diagrams showing runtime behavior in sequences are falling in this same category- like object diagrams.

Oliver

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Diagrams do not contain model information?
« Reply #3 on: September 03, 2009, 10:54:39 am »
So... Sounds to me like Diagrams and their contents should be first class citizens of the modelling environment...

See: Diagrams as first class citizens of model

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

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Diagrams do not contain model information?
« Reply #4 on: September 03, 2009, 01:24:28 pm »
Quote
Quote
Yup!

Sequence Diagrams are also sort of 'orphans' in EA, though that might not apply in this specific context.

I believe that all diagrams showing runtime behavior in sequences are falling in this same category- like object diagrams.

Oliver

It seems that upholding the thesis that diagrams do not contain any information is indeed most problematic for the behavioural diagrams.
Lets take a look at the Activity Diagram. In an activity diagram we model a sequence of activities that are executed in a specific order, with specific constraints.
These same activities however may be used on another diagram having a different order, different constraints, and different transitions.
The context of an activity diagram is usually the a single behavioural entity such as a usecase. Everything on the activity diagram is related to this context, and more importantly, whats not on the activity diagram is NOT behaviour from this usecase.
So how can we make the difference between those activities/constraints/transitions that are part of the usecase and those that are not?
Maybe the key here is to use the classifier/instance paradigm.
Let me explain: I think that for most if not all behavioural diagram we can find some behaviour parent. This parent should contain all the information necesarry to model the actual behaviour. This parent could be a usecase, a collaboration, (others?).
If we not only use instances to model the behaviour of such a parent then we could store those instances nested within the parent.
In the case of sequence diagrams this is pretty obvious since most people are already used to using objects of classes in a sequence diagram.
For Activities that is something else. Most activity diagrams I've seen use the classifiers (the Activity) and model transitions between those.
Of course the classifiers can't be nested in the behavioural parent since they could be part of multiple parents. Therefore we should find a way to model activity diagrams using instances of these Activities.
When asking EA to create an instance of an Activity it creates an Action.
Whether or not the Action can be seen as an instance of an Activity (according to the UML specification) I'm uncertain. I will try to figure it out and post back.
Anyway, if this is really how OMG intented modelling behaviour then EA should make that possible. The tools should not store any important model information in diagrams.
Diagrams should only contain information with regards to layout etc...

Any thoughts?

Geert


Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Diagrams do not contain model information?
« Reply #5 on: September 03, 2009, 02:34:33 pm »
Quote
[size=16]...[/size]
Whether or not the Action can be seen as an instance of an Activity (according to the UML specification) I'm uncertain. I will try to figure it out and post back.
[size=16]...[/size]
Any thoughts?

Geert
Weird!  I just posted a bug question on: Action as Activity instance?!

Perhaps we can continue this part of the conversation there...

Paolo

(Great Minds and fools springs to mind...  ;))

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

Oliver F.

  • EA User
  • **
  • Posts: 573
  • Karma: +2/-1
  • Aren´t we all in the model business ?
    • View Profile
    • Karl Storz homepage
Re: Diagrams do not contain model information?
« Reply #6 on: September 03, 2009, 04:54:39 pm »
Quote
Quote
Quote
Everything on the activity diagram is related to this context, and more importantly, whats not on the activity diagram is NOT behaviour from this usecase.

This is only true if use cases are completely modeled with activity diagrams.
However activities are often used to graphically describe complex parts while the simple ones remain as scenarios. So the thesis of what is excluded is not in the use case would make this approach illegal and violates the golden rule "as much as necessary - as few as possible".

Quote
Diagrams should only contain information with regards to layout etc...

I agree here though I am not sure whether the instance approach is the right way to go.
Often we model behavior in sequence and activity diagrams between real logical elements, not runtime instances.

Oliver

bioform

  • EA User
  • **
  • Posts: 230
  • Karma: +0/-0
  • Forty-Two?
    • View Profile
Re: Diagrams do not contain model information?
« Reply #7 on: September 23, 2009, 08:35:46 am »
A related issue concerning modeling/diagram information concerns the use of activites/actions and their diagram's implied association with the partition they are located in.

This information is not captured with the model but is only implied on the diagram. This is important information that is not represented within EA (last time I checked) but can be extracted from the model/diagram data (e.g., by comparing a diagram's action/activity element's X/Y coordinates with a diagram's partition's X/Y coordinates)

Using automation to create/delete these relationships would occur when the diagram is saved (one of those add-in features on the back burner.)

Comments?  (BTW just starting with a new company using RUP suite... so I just have to grit my teeth?)
Time is what keeps everything from happening at once, Space is what keeps it all from happening to you. <unknown>