[modules] {Image Shrink and Initialization}

Dan Ingalls Dan at SqueakLand.org
Tue Aug 21 04:37:55 UTC 2001


Dave <dave at bedarra.com>  wrote...

>It would be really useful to have an Image Analysis and Planning Tool
>which allowed one to understand the interdependencies between
>classes/methods and globals.  Ideally one would be able to plan a
>reorganize of the image without actually doing it in place. Being able
>to see the impact of many changes before making them would reduce the
>image FUD which one faces when trying to decide if you really dare make
>those sweeping changes that you think are either trivial or impossible.
>Hopefully the work by Stephan et al may come to play in such a tool. Our
>experience with running the Packager is that the more often people ran
>it the more they learned about problems in their image and the more
>concerned they became about writing more modular code.

I agree it is essential to be able to do this kind of refactoring of the module structure again and again.  When I did the Environments work, I took some time to refactor the systemOrganization somewhat, as this is what I used as the basis for the module structure produced by reorganizeEverything.

It ain't a tool, but the essence of a tool can be found in

	Smalltalk tallyIndirectRefs

I can't even understand it now, but when I did, I know it gave me what I needed to move classes around between modules in such a way as to minimize foreign references.  It is intended to be run after reorganizeEverything, so it may take me a couple of days to learn it again.

In a way, I think that merely getting this stuff to work again and making a few exploratory tools would be a great step toward a modular Squeak.  If executing a couple of doits would carve Squeak up and let us take stats, then all the hotshots on this topic could look at the result and tell us what else is needed for a phase I solution.

Here is a proposal along those lines:  This week I have to work hard on another project, and next week I'll be out of town and other-focused.  However, before I leave town, I will try to have this stuff working again to the point that the image can be refactored and stay running.  Then while I'm away, people can have fun messing around with the structures and the factoring.  It should be instructive whether or not we end up using any of it.

	- Dan
-- 




More information about the Squeak-dev mailing list