[Twisted-Python] UML Whiteboard Concept

Glyph Lefkowitz glyph at twistedmatrix.com
Wed Aug 29 04:19:21 EDT 2001

On Wed, Aug 22, 2001 at 08:19:40AM -0500, Jason L. Asbahr wrote:

> I'm imagining that the whiteboard would support multiple documents
> open at the same time, allowing users to cut and paste and to compare
> documents.  (Not being able to have multiple documents open on my
> desktop was something that frustrated me when I was using Rational
> Rose...)

I would hesitate to think of this in a "document"-based model.  These aren't
documents, they're models; "documents" only seem to get involved in the
discussion when the model-is-a-file implementation detail is made too explicit.

> Interoperability with Rational Rose or TogetherJ (using XMI,
> the XML standard for UML) would be an important later goal.
> [...]
> In the foggy, distant future I'd love to have a design tool
> that actually worked seamlessly with my code development.

I think this is a more important design aim than interoperability with current
UML-generating tools...

> New classes and methods typed into an editor would be added
> to the design model as I typed them, and new methods and
> classes created in code as I drew them in the tool.  Source
> files per se would be the exported data of the tool, internally
> code would be represented in a structured format at various
> levels of granularity (package, class, method).  Smalltalky.

This really shouldn't be that hard.  Python already has support for
representing ASTs as objects, and going back and forth to source code should be
no more difficult than any other load/save procedure.

This should also emphasize the differences between capabilities of different
programming languages -- C++ might be a little harder to parse, but it's still
no herculean challenge, and it would be nice to work with it alongside python
code if this "editor" understood them both; a small addition to UML (perhaps
even just a color) to delineate what language a class is from would be highly
useful in hybrid systems.

(As you can see, I'm more inclined to think of this project as "smalltalk
browser with UML display style" rather than "UML diagramming tool with optional
smalltalky hooks" ^_^)

> Resonant with the manhole concept, definitely.

In *my* foggy, distant future, manhole would integrate directly with this, and
you could browse multiple *versions and branches* of classes and their
interactions, selecting known-to-be-stable ones and loading them into the
server process graphically; perhaps even loading them into every node of a

                      ______      __   __  _____  _     _
                     |  ____ |      \_/   |_____] |_____|
                     |_____| |_____  |    |       |     |
                     @ t w i s t e d m a t r i x  . c o m

More information about the Twisted-Python mailing list