Architectures and Interfaces
Roger Vossler
rvossler at qwest.net
Sun Nov 3 19:26:29 UTC 2002
Hi Gang,
Attached is a little sketch that is similar to one that I sent to Dan
Ingalls about
a year ago. It is a very high-level view of Squeak. The inverted
triangle
represents the current Squeak image. As change sets, projects, or
packages
are absorbed by the image, it becomes larger (and larger and larger).
Conversely, as code is removed from the image, it becomes smaller.
Currently, what is inside the triangle is a mass of highly integrated
spaghetti
code. Attempting to modularize that mass of code is an exercise in utter
futility. But, there is hope.
The current SqueakMap/DVS effort (Daniel Vainsencher,Goran Hultgren, Avi
Bryant, and friends) provides a mechanism for what Dan calls "peeling
the
image". Once the image is peeled to some level, we would essentially
have
the Squeak Base Platform (SBP) that I mentioned in my last message. I'm
assuming that the SBP would exist somewhere between Squeak 2.8 (or
Stable Squeak) and Squeak 3.2-4956 plus VI4 plus SM/DVS.
At this point, Squeak could live happily ever after and not make a dent
in
the module problem. However, once the SBP is defined, it becomes
possible
to create a new Squeak architecture with defined interfaces that would
become a
module backplane (aka, a component framework) for supporting modularity.
This new architecture would necessarily provide the same functionality
as
provided by the peeled image or SBP.
Since SqC (Alan Kay, Dan Ingalls, Scott Wallace, John Maloney, et al)
have had
plenty of experience in building Smalltalk systems, SqC should probably
be the
ones to create this new architecture and the primary interfaces. In
this regard,
they would act as a typical A&E firm.
Once we have a well-designed architecture and a good set of defined
interfaces,
the Squeak community could then supply the necessary manpower for
building
the code, acting like a general contractor to an A&E firm.
Since Grady Booch, Ivar Jaconson, and Jim Rumbaugh have more experience
with complex software architectures and systems engineering in general
than
most folks I know, I would strongly recommend the use of the UML
(Unified
Modeling Language), and associated tools, for laying out this new
architecture
both for reasons of documentation and for providing a means for
understanding
the new architecture in depth by the Squeak community.
Make no mistake about it, I'm talking man-years of effort here, not
man-days by a
few individuals. There are a number of possible variations to this
general approach,
but this approach, or something similar to it, should eventually do the
job.
Comments?
Cheers, Roger.....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Architecture 1 (DR).pdf
Type: application/pdf
Size: 20221 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20021103/08dd0ea9/Architecture1DR.pdf
More information about the Squeak-dev
mailing list
|