A new Squeak? BabyUML could be a contribution
Trygve Reenskaug
trygver at ifi.uio.no
Tue Nov 23 08:31:45 UTC 2004
Stef,
I see from various postings that many Squeakers are doing very important
work by gradually restructuring the kernel of Squeak. In short term, I
would greatly appreciate a copy of your new namespace; it could replace the
hack I am using for BabyUML components.
I hope the first BabyUML result will be ready for experimentors before
Xmas. The planned publication stages are:
1) An object reverse engineering tool. It helps me build a diagram of
interlinked objects existing in the image. This diagram complements the
class browsers because it helps me identify critical objects and their
relationships.
2) The new BabyUML instantiation architecture. 'Pete' is an instance of
BPerson. BPerson is an instance of BMetaclass. BMetaclass is an instance of
BMetaMetaclass. BMetaMetaclass is an instance of itself. A class no longer
has its private metaclass.
3) An object browser that lets me see and edit an object's state and
behavior. (The superclass structure being flattened)
4) A new metaclass: BMetacomponent is an instance of BMetaMetaclass. An
instance of a BMetacomponent is a component, an object that encapsulates
other objects. The component defines its provided and required interfaces
and has its own 'factory' object, this is an object that creates the
encapsulated objects and also provides the services that are covered by the
Squeak metaclasses. The component also has its own namespace; that is the
reason why I am interested in trying your namespace class.
My dream is that the work I am doing will complement what you people are
doing so that we may see a new, clean and transparent Squeak in the not too
distant future.
Cheers
--Trygve
At 21.11.2004 21:13, you wrote:
>Hi colin
>
>We have been recently working on refactoring SystemDictionary quite a lot
>:) and we have now a namespace class to deal with bindings in a nice and
>clean way. Our goal is to enable people willing to experiment with new
>kernel/new language to do it. So having a browser that does not consider
>Smalltalk as the only possible namespace is great.
>As soon as 3.8 is out we will push a lot of fixes related to the
>refactoring of systemDictionary in the stream.
>So OB will be a big player in the future :) because it would be nice to
>start to think using real package instead of category :)
>
>Stef
>
>On 20 nov. 04, at 17:41, Colin Putney wrote:
>
>>Still it seems to me that if we aren't going to actually use multiple
>>environments we ought to make the scoping hierarchy more sensible. BTW,
>>just in case the fact that we only have one environment today is a tools
>>issue, I've tried to make OmniBrowser as environment-agnotistic as
>>possible. It takes an environment as the root of its node graph and asks
>>classes for their environment rather than referring to Smalltalk. IIRC,
>>the one or two places where this breaks down is when dealing with system
>>navigation (senders, implementers etc.) It would be nice to be able to do
>>something like [aClass environment navigator] rather than having a single
>>global navigator that is hardcoded to Smalltalk.
--
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
|