[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