BabyUML overview posted

Trygve Reenskaug trygver at ifi.uio.no
Fri Sep 23 12:53:19 UTC 2005


Simon, Justin, Raymond, and Bob

Many thanks for encouraging feedbak.

To Bob: BabyUML is not intended for top-down only. It must be possible to 
explore an existing program and create a new one either bottom-up or 
top-down or in a mixture of the two. The article is top-down because I 
believe it makes for easier reading. But tools must support a combinantion 
(as well as reafactoring).

Thanks to Simon for pointing out errors and glitches. No wonder you found 
it hard to see the meaning - the essential code was wrong. New version now at
    http://heim.ifi.uio.no/~trygver/2005/babyuml/newdiscipline.pdf

This brings out one of my hobbyhorses. I am useless for reviewing my own 
stuff; I see what I intended to say. A reviewer is more likely to read what 
I have actually written.

One goal of BabyUML is to make the code readable and thus reviewable.

:-( I have aimed at implementing the BabyUML laboratory in Squeak, but find 
it is beyond me. No doubt it is my fault, but there it is. I have not 
managed to penetrate the deeper levels of Connectors. I have tried porting 
QuickDraw to Squeak, but failed because I did not get full control of the 
mouse in Morphic/SystemWindow. I tried to base BabyUML on Tweak and 
Islands. Regrettably, I found that deep down, the Islands implementation 
was not what I needed.

My reverse engineering of Islands may be of interest to others. I found the 
objects, their links, and their interaction pattern for a few interesting 
operations. The report is at
   http://heim.ifi.uio.no/~trygver/2005/babyuml/tweakComponents.pdf

I think this report is also interesting because it illustrates a meaningful 
way of discussing significant programs. There is (almost) not a single line 
of code, but a great deal of essential information in other forms.

:-( I believe I have to leave off Squeak for a while, returing to my old VW 
2.5 image with its many private extensions. This is not ideal, because the 
image is not shareable and the code will not be portable.

I want to return to the Squeak world later. May be when 3.9 is stable? ... :-)

Justin, you may find nuggets of interest in the technical pre-draft at
    http://heim.ifi.uio.no/~trygver/2005/babyuml/BabyUML.book.pdf

To you and anybody else who may be intersted, I say: please feel free to 
pick up any idea of mine you may find and run with it. The world badly 
needs a new discipline of programming. I am exploring along one path; there 
are bound to be many other.


Cheers with a sigh,
--Trygve

-- 

Trygve Reenskaug      mailto: trygver at ifi.uio.no
Morgedalsvn. 5A       http://heim.ifi.uio.no/~trygver
N-0378 Oslo           Tel: (+47) 22 49 57 27
Norway





More information about the Squeak-dev mailing list