History
I've been interested in UML (not just drawing diagrams, but actually using UML) for
some time now. Unfortunately, the "best" tools for UML are either overly pricy or
don't provide the functionality I want. And yes, I'm including open source programs
too. There's not a single product that combines good analytical tool support with a
good graphics package. After looking around and being a fan of KDE, I started playing
with Umbrello and thinking of ways to make it better. This was some time in 2000 or
2001 - before Umbrello was even called "Umbrello". I think somebody's girlfriend
came up with the name.
After a while I decided that Umbrello didn't quite have the extensibility that I was
looking for. The design isn't right and it was missing standards compliance by
a fairly wide margin. I ended up getting really ambitious and a little naive because
I decided (with some group consensus) that Umbrello needed a new ground up version
- the ill-fated Umbrello2 project. The source code is still available under the
umbrello2 module in the Umbrello SourceForge CVS repository. I basically sat down
with the standards and created a rough design based on what I wanted to do and what
I thought would work. I ended up with a fairly complete UML object model that,
admittedly, had some inherent problems and a rough GUI framework. I did manage to
stick to my original design of using KParts (KDE's component technology to uninitiated)
for the GUI, but the separation of data and graphics started "bleeding" together.
After about 3 months of really just hacking on the project by myself, I gave up on it.
There was too much to do and I wasn't able to keep everything in my head.
I wasn't entirely done with the idea though... I still wanted to make a better
modeler, but decided that building my own application probably wasn't the right
way. Besides, the main development branch of Umbrello had picked up and I was unable
to convince anybody to really commit time to v.2.0. Also around this time, I was
forced to start working out some ideas for a thesis project and I wasn't ready to
give up on all the work that I'd done. So... I just trimmed the fat from the Umbrello2
project, scrapped any notion of writing any UI and decided to focus entirely on the
UML object model. And that is how the OMF was born.
Some years later, the OMF is now in its second incarnation and has gone through
one more complete rewrite to address some of the unfortunate design decisions made
in the first version. As of now, the OMF is nearly ready for real use, pending
the development of a couple "small" subsystems. Moreover, the OMF is truly unique
in the market place because of its Python bindings - a system that allows the
use of the Python programming language to work with MOF and UML models.
Last modified: Sat Sep 11 12:32:52 EDT 2004