UML WAS: Re: Banned Erlang

Ulf Wiger etxuwig@REDACTED
Wed Feb 26 11:14:04 CET 2003

Back in 1996, Kenneth Lundin and I performed a brief study
on the applicability of using Rose for Erlang projects. We
found that there was no point to it. Granted, this was back
when Rose relied on the Booch model, which is just a subset
of UML. I'm not sure if this means it was better or worse
than it is today...

At the time, I played a little with Rose, and was not
impressed with it in terms of user friendliness.

I now have a development license for RoseRT, and will do my
best to dig into it and try to understand how it's best
used. So far, I have concluded that the learning curve is
extremely steep and unpleasant. Perhaps there is some reward
further down the road...

Also, reading the online UML specifications, I find it
difficult to understand why a modeling tool for real-time
programming would specifically leave some core semantics of
concurrency programming undefined, like for example the
order in which messages are handled in a state machine.
That seems to me about as brilliant as Java not specifying
whether scheduling should be cooperative or preemptive, and
still maintaining the mantra of reuse and portability. In
general, it is fiendishly difficult to get a grasp of the
concurrency semantics in UML, you have to read hundreds of
pages over and over again to grasp some of the fundamental
aspects of programming complex concurrent systems.

I doubt if many of the programmers using UML can really
account for the basic principles. I know that those whom
I've asked have usually not been able to easily answer
questions like "when are messages automatically discarded,
and how does 'defer' actually work?". I don't blame them. I
had to read the spec three times, and some details are still
fuzzy. The Rational manuals and tutorials don't really cover
it well either. I guess this is what high-priced consultants
are for...


On Tue, 25 Feb 2003, Erik Pearson wrote:

>I thought UML was the winner of an RFC from the OMG for a
>modelling language.  It kinda makes sense why it's
>object-centric and why you see it for Java and C++
>projects.  Still, I wouldn't necessarily call it the
>end-all-be-all of modelling languages.
>With my past experience with UML, I tend to feel object
>developers spend most of their time with the Class
>Diagrams, which don't really transfer well to languages
>like Erlang.
>Perhaps 10% of the time I'd see a good Sequence Diagram or
>Collaboration Diagram.  Less than that a good Statechart
>Diagram.  IMHO these might have some value in an Erlang

Ulf Wiger, Senior Specialist,
   / / /   Architecture & Design of Carrier-Class Software
  / / /    Strategic Product & System Management
 / / /     Ericsson AB, Connectivity and Control Nodes

More information about the erlang-questions mailing list