Hello Bob!

 

This is great. I think I am making progress in understanding this.

 

Bob Tarling wrote:

> I need to clarify what you're asking here as to my mind the diagram

> subsystem is view only.

[...]

> So I don't understand your statement

 

I am beginning to understand why it has been impossible for us to
understand each-other in this discussion.

 

It must be because we use different definitions of what is Model and
View.

 

> > > I've always seen a subsystem as being either model or view. Never

> > both.

> > [...]

> >

> > What shall we do about the Diagrams subsystem's violation to this?

> 

> At the moment the Diagram subsystem is all view data and logic so

> there is no violation there.

> .

> I thinking that your question is really - What do we do in future for

> UML2.x when there is a diagram interchange model contained in the same

> repository as the model elements?

> 

> Am I correct?

 

Not really.

 

I use more or less the following definitions:

Model - contains data to be persisted (and provides access methods).

View - no data to be persisted, implements the logic for the GUI

Controller - no data to be persisted, implements the business logic

 

Using these definitions, and the fact that the Persistence subsystem
depends on the diagrams, I conclude that the Diagrams subsystem contains
a "model part". This is already in the current implementation.

 

I think that we should develop and establish a set of responsibilities
for the subsystems that fits well with the future so I am attempting to
get you to define where the responsibility of the persisted data from
the diagrams resides.

 

If we decide that it resides in the Diagrams subsystem, then the Diagram
Interchange Model from UML 2.0 will also reside in the Diagrams
subsystem and it is a decision for the Diagram subsystem developers when
we do the transition.

 

If we decide that it resides in the Model subsystem, then we can start
discussing if it is best to move it before introducing the Diagram
Interchange Model or do the move during the introduction. This is an
important collaborative decision for the Diagrams, Model and Persistence
subsystem developers. (I prefer this solution.)

 

Since you are the appointed subsystem responsible for all the involved
subsystems I have been expecting you to decide this and be clear about
it.

 

Bob Tarling wrote:

[...]

> Actually it is 2 levels of view (I would eventually like to see this

> become 3 in GEF)

> 

> The GraphModel layer contains the data of what model elements take

> part in a view and the logic to test whether a new model element can

> be added. There is no positional or other presentation information.

> 

> The Diagram layer contains the data of how these views are constructed

> by the relationship of Figs on a LayerDiagram. This is an extra level

> of view data and the logic to display using swing/java2d.

> 

> I would like to see a third layer on top of this of FigPainters to

> take out the swing/java2d knowledge but that's for a different thread.

[...]

 

I will interpret this to mean that the "model part" of the Diagrams
subsystem (i.e. the things that are persisted) will be part of the
Diagrams subsystem. A consequence is that the Diagrams Interchange Model
will be implemented by the Diagrams subsystem. A consequence is in turn
that it is probably best to eventually split the Model subsystem in two
creating one clean MDR-part because the Diagrams subsystem will also use
MDR. See figure below.

 

 

 

In the example the two subsystems on top (Property Panels and Reverse
Engineering) are just examples of subsystems that are Views subsystems
(my definition) that uses the Diagrams and Model as Model subsystems (my
definition).

 

      /Linus

 

Attachment: image001.gif
Description: image001.gif

Reply via email to