Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stellation-res] UML modelling, papers, and documentation

I've been meaning to mention something about this on the mailing list
for a while, but with all of the other stuff going on, I just haven't
had the time. Please read all the way through; even if you aren't
interested in the paper I'm discussing at the beginning, there's
important stuff at the end.

In December, Jim, Dave and I started trying to put together a paper
describing the architecture of Stellation, with a particular focus on
extension mechanisms. We think that a good document on that is important
to the development of the system, and as people in Research, getting
publications is important: writing the needed document as a publishable
paper kills two birds with one stone.

Anyone who is interested in joining in on the writing is welcome to
sign up as a co-author. 

One of the things that we started doing for it was working on UML models
of Stellation. I'm not the worlds biggest UML fan, but there is a lot of
value in having a viewable model of the system, and UML is the standard
way of doing it, so it's something that we're pretty much stuck with.
(I'd rather be doing it in something like Dan Jackson's Alloy tool, but
I know that's not going to fly :-). 

Anyway: we started off doing some UML diagrams in Rational's XDE, just
because it's what we had available. XDE is less than ideal for our
purposes, both because it's not free, which means that non-IBM folks
would need to pay large sums of money to be able to update the models
for the parts of the system they work on; and even ignoring that, it
has some technical deficiencies. I'm sure the technical deficiencies
will be addressed before long, but the $$$ issue isn't one that we can
do much about.

So I've been looking at what's available in the free-software world. It
really comes down to two possibilities: ArgoUML, and Umbrello. I'd like
to have us decide on one of the two, and then we'll start seriously
doing some models of the system. 

Here's my assessment of the two:
- Capabilities: the two seem roughly equivalent in capability. They both
  provide lots of facilities that we won't use, but as far as the base
  diagramming and modelling, they're pretty equivalent. Argo does a lot
  of automatic critiqueing of the model, which Umbrello doesn't, but I
  find that its critiques aren't particularly useful.  So while Argo is
  slightly more powerful, I think that when it comes to the stuff that 
  we'll actually really use, they're pretty much equivalent.

- Performance: Umbrello is *dramatically* faster than Argo. Umbrello
  is very, very quick. Argo is a fairly typical Swing app: it's close
  to unusable at startup; once the JIT has had a chance to optimize for
  a while, it speeds up somewhat, but it's still often painfully slow.

- Usability: Umbrello is much easier to use. Mostly that's due to
  speed, but for certain things like changing labels, it's often
  more awkward in Argo. Umbrello has a typical KDE UI, which means
  that it's nice and smooth and consistent. But overall, both are quite
  usable tools - Argo put a lot of time and energy into usability.

- Portability: Umbrello only runs under KDE, so it doesn't work under
  windows. Argo is pure Java, and runs everywhere. Argo can even be
  launched using Java webstart.

All in all, I would prefer to use Umbrello. The speed difference is
absolutely astounding on my machine, and I expect some of our models to
get quite large and complex, so the speed could be a very big deal. But
the Unix-only restriction is also a very big deal. 

What do folks think about which modelling tool to use? Do the
windows people out there have convenient enough access to some kind of
linux box to make it possible for them to use Umbrello? Or should we
stick to the pure Java system?

	-Mark

-- 
Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center  
*** The Stellation project: Advanced SCM for Collaboration
***		http://www.eclipse.org/stellation
*** Work Email: mcc@xxxxxxxxxxxxxx  ------- Personal Email: markcc@xxxxxxxxxxx




Back to the top