[Uml-devel] codegenerators
Brian Thomas
thomas at mail630.gsfc.nasa.gov
Mon Apr 14 14:15:09 UTC 2003
On Monday 14 April 2003 04:49 pm, various Sebastian Stein wrote:
>
> Luis De la Parra Blum:
> > > Of course this would be better, but it is hard to do. So maybe first
> > > try the easy solution and than get into more complex things.
> >
> > I dont think this is as hard to do as you might think... the only trick
> > is that - - for it to work reliable-- you have to know what was the last
> > code you generated, so that you can compare the changes made outside
> > umbrello, with the changes made inside umbrello against the last
> > generated file.
> >
> > I think we could get around this by saving the generated code in the
> > umbrello file.
>
> No, this wouldn't be better as my solution. If you really want cool round
> trip engineering, it must be possible to change modell (in Umbrello) and
> code (in external editor or whatever) in the same time. If you do
> reengineering, the user has to decide how to solve conflicts.
>
I tend to agree with Sebastian on this. I've been investigating how
some professional" UML diagramming tools deal with round trip
issue. I can see two different approaches to roundtripping used,
which roughly coorespond to the oppositive views on this list. In the
first approach, there is the ability to view and edit the code within
the UML diagramming tool, an example of this approach can be seen
in Poseidon (based in ArgoUML; see it at http://gentleware.com/).
The other approach, where the editing is done by an outside IDE/editor,
can be found in "MagicDraw" (www.magicdraw.com).
I think, to have the later approach, since the UML tool knows _nothing_
about what has been editing, you need very good code import ability
with some difference/versioning of the text. I think that "CTAGS" plus
"diff" may be a good way to achieve this, one day, but that the effort
would be _very_ difficult. Why do I think this? Well, I have been playing
with the code import abilities of the "Pro" software and I have found
that its not good. IF they get paid to do this sort of thing AND dont
have "perfect" code import, then it cant be _easy_.
So for the time being I want to see Umbrello be able to *display* the
code to be geneated for the active language and to have some
minimal ability to edit the code from within the UML tool. Beyond this,
having good code import is an obvious next step, and from there, we
can get to full featured roundtriping wherein UMBrello is either
periodically checking for code changes or explicitly asked to update
from code.
I hope to update my code generator proposal soon as I can come to
some decisions on which parts of the "Pro" UI I want to implement
(there are some good features in both MagicDraw and Poseidon).
=b.t.
> Steinchen
--
* Dr. Brian Thomas
* Code 630.1
* Goddard Space Flight Center NASA
* fax: (301) 286-1775
* phone: (301) 286-6128
Don't force it, get a larger hammer.
-- Anthony
More information about the umbrello-devel
mailing list