[Uml-devel] Future features

Andrew Sutton ansutton at kent.edu
Tue Oct 15 10:50:03 UTC 2002


On Tuesday 15 October 2002 12:04 pm, Sebastian Stein wrote:
> tomas.walch at se.transport.bombardier.com
>
> <tomas.walch at se.transport.bombardier.com> [021015 17:44]:
> > >From Steinchen:
> > >The project should be stored in a database and not in some ordinary
> > > files. I allready thought a little bit about it, but I realized, that
> > > at the moment (in the next 6 month) I don't have the time to start
> > > anything on it.

not necessarily so... uml isn't defined with explicit database support and 
unless your database is really an object database, you're going to have one 
hell of a time mapping the object structure to a relational format. unless 
you're really good with DB's. i'm not :)

> > This would be a mistake. Files go in and out of CM tools but how do you
> > put a database into CVS? I think it is important that you can use the
> > same CM tool throughout the lifespan of a project. I realize the benefits
> > of using a database, but think that's a question for a CM tool.
>
> Good point I also thought about the versioning problem. I used the tool
> Case 4.0 for about one year and it was really great. But I had allways to
> do backups of the project file to save versions.

xmi's difference capabilities support versioning in the file itself. 
additions, subtractions and alterations of an existing model would be 
appended to the xmi file as <xmi.add>, <xmi.remove>, and <xmi.modify> 
elements within an <xmi.change> tag (i think those are the tags - i need to 
look it up again - anyway, the functionality is the same if the names are 
different).

i think the way versioning would work for a model would be to record 
incremental changes using XMI until you're ready to baseline the model. 
baselining the model would merge all the additions and subtractions and 
generate a new XMI document without any differences. keeping the model in CM 
would still be a good idea though.

> On the other hand I see some problems with a project splitted into
> different files.
> You allways have to lock a whole diagram if someone is editing. With a
> database it might be enough to just lock the objects currently edited.
> Anyway. How does for example Rational solve this problem? I know about Aris
> (tool for BPR) is using a database.
> I think argouml also has database support. But I don't like to install it
> because I would have to downgrade my Java setup to 1.2.

i thought about this too and came up with the same problems. if you take the 
uml/mof (mof defines model management facilities - sort of) standards at face 
value, then all the interfaces are defined in corba (eck). if the 
implementation actually used corba then, theoretically, multiple developers 
could work on an online model where all changes are persisted immediately.

andy




More information about the umbrello-devel mailing list