[ANN] BabySRE (Squeak Reverse Engineering) posted on SqueakMap

Trygve Reenskaug trygver at ifi.uio.no
Mon Dec 27 10:02:41 UTC 2004


Milan,
I assume you got to a point where you have a diagram on the screen and that 
it has a rectangular symbol named '[...] a DemoEllipseSRE'.

The first problem could be that the symbol is placed outside the diagram. I 
have had some trouble placing symbols near the diagram boundaries. So I 
always place them well inside the boundaries.

There are two ways of placing new object symbols.
1)  Place cursor in the diagram background outside any symbol. The menu 
shold here have an item named 'add role from expression...'. This opens a 
FillInTheBlank. Type an expression and accept. The expression will be 
evaluated and the resulting object shown as a symbol you can place in the 
diagram.

2) Place cursor over an object symbol.
    The fifth menu item is as above. The expression you type will be 
executed in the context of the selected object, and you can place a new 
object symbol if the object isn't already in the diagram. (For example, if 
you type 'self', the result will be a link from the object to itself.)
    The fourth menu item is 'add link for variable...'. It should give you 
a new menu showing all instance variables except:
     -   instance variables pointing to objects that already have links
     -   instance variables that are regarded as primitie in 
ALinkSpecSRE>>isPrimitive:
         examples are nil, a Date, a Color, a Text, a Number, ...

Your question makes me wonder about the wisdom of the 'IsPrimitive:' 
filter. I'll remove it in the next version because it has a strong smell of 
a trap. And whay shouldn't I be allowed to show a link to nil if I want to?

I hope this helps you get going. Please contact me again of you don't 
succeed because your difficulties say something about the documentation and 
nothing about you.

Cheers
--Trygve


At 02:39 27.12.2004, you wrote:
>Trygve,
>
>There is something I am struggling with when trying to play with SRE. I tried
>to follow the describtion in Appendix 1 and 2:  downloaded
>http://heim.ifi.uio.no/~trygver/2004/babysre/BabySRE.pdf, then started with
>fresh Basic 3.7, installed Connectors 1.9 and installed BabySRE.
>
>Up to Appendix 2 Item 2. I am OK. However, in Appendix 2 Item 3 it I am 
>unable
>to understand (and find) the
>
>menu 'add link for variable' -->owner
>
>I assume I should see an item  'add link for variable' in the menu of the
>DemoEclipseSRE "rectangle" which I droped on the collaboration tool. I cannot
>see such item in the menu ... so I wonder if I am misunderstanding or perhaps
>something did not install correctly.
>
>Sorry if I miss something obvious,
>
>Thanks, Milan
>On December 19, 2004 09:03 am, Trygve Reenskaug wrote:
> > SRE (Squeak Reverse Engineering) is new set of three tools making Squeak
> > objects visible and tangible:
> >
> > 1) *SRE collaboration* for building a diagram a system of objects with the
> > links between them.
> >
> > 2) *SRE Object Browser* to get a full description of a single object with
> > its identity, state, and behavior.
> >        The class hierarchy is flattened so that you see the object as a
> > whole.
> >
> > 3) *Object>>traceRM:* a method that dumps the stack in the Transcript.
> >
> > Taken together, these three tools are meant to get their user in closer
> > contact with the real objects. The tools shall give better understanding of
> > existing systems and better contol over new ones.
> >
> > I have written a technical note using these tools to answer the question
> > "What is a Morph?". It is posted at
> >      http://heim.ifi.uio.no/~trygver/2004/babysre/BabySRE.pdf
> >
> > But seeing it on paper is one thing, working with the live objects is
> > another. I encourage you to install BabySRE from SqueakMap:
> > 1) Start from Squeak3.7-5989-basic. (Any other release might do, I haven't
> > tried it)
> > 2) Install Connectors version 1.9. (2.0 didn't work for me).
> >        I got an error while loading. It does not seem to matter.
> > 3) Load and open Monticello.
> > 4) Open SqueakMap Package Loader. Select and install BabySRE-TRee11.
> >
> > I am particularly concerned to learn if the SRE approach is at odds with
> > the visions of the SCG people in Berne. I hope not.
> >
> > I see from this mailing list that there are many contributors who teach
> > Squeak programming. It would be very interesting if some of you could test
> > how students take to the SRE way of describing object systems.
> >
> > BabySRE is part of the BabyUML project. I hope to use a complete rewrite of
> > the SRE tools as parts of a higher level programming language IDE.
> >
> > I hope you will try the SRE tools, but don't expect me to maintain them in
> > their present form. All feedback will be welcome. I must admit: positive
> > feedback will be more than welcome.
> >
> > Have fun
> > --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