Dynamic Object Document Browsing ( was Class Comments )

Robert Withers withers at vnet.net
Wed Feb 9 17:30:36 UTC 2000


Les,

I am very interested in this kind of thing.  Especially in terms of
external documentation with a collection of diagrams exposing different
dimensions of Class/Object context (inheritence is obvious, but a auto
generated view of collaborations and responsibiliies would be key).  I
am pretty swamped with Linda at the moment but after that stabilizes,
then I would like to jump into this area.  Please keep me in the loop if
you take it off the list.

cheers,
Rob

Les Tyrrell wrote:
> 
> Alan Kay wrote:
> >
> > I think that class comments should come up automatically (perhaps in a
> > separate pane) when the class level is reached in the browser. I don't
> > think it helps very much to have it entangled with the instance/class view
> > distinction. I generally want to keep on reading them (especially if class
> > comments were more like real documentation) while perusing the methods, etc.
> >
> > Cheers,
> >
> > Alan
> 
> This got me to thinking about something I've been wanting to do for some
> time, and which others on the list such as Bob Arning have been doing parts
> of already in such things as the various Morphic class browsers ( Whiskers? ).
> 
> For quite a while I've been trying to come up with a way of interacting as
> directly as possible with objects, while also having each object provide as
> many views of itself as possible.  Again, some of the things that I wanted
> have been built by some- MathMorphs for instance have some similarity to
> what I am after.
> 
> I want to be able to easily shift views on an object, but without requiring
> the object to have lots of code in it to support the generation of those
> views.  Ideally, none.  I want to interact with all objects, not just the
> ones that have special purpose user interface thingies built for them.
> 
> To give an example, let's consider code browsing activities.  Suppose
> as in Alan's example above that we are in some fashion wandering about
> the classes, reading their comments and occasionally wanting to look
> at code.
> 
> Right now, with the CHB we are locked into a view of the classes which
> was first created not less than 20 years ago, a pretty good view for
> most work, but nonetheless only a single view, and representing perhaps
> the viewpoint of a small number of programmers, perhaps only one.  It's
> held up very well over the decades, but let's consider some options...
> 
> Suppose my aim is to browse through class comments, and in those comments
> are links ( preferrably with dynamically generated associative links that
> don't require special codes or tags on the part of the authors as well as
> those that are created by the authors ).  Perhaps they are links to other
> classes, or other new objects that currently don't exist as part of the
> standard Smalltalk model, such as interface-like things.  If the comments
> are well written, and the links meaningful, then I would probably stick
> to that kind of view and interaction model for quite a while as I look at
> some framework that is new to me.  But at some point I'll want to shift
> my interaction/view model to something a bit different.  I may find a
> class that sounds particularly interesting, and I'll want to now look
> at something like a class interaction diagram.  Obviously, we don't have
> those as part of the standard code browsing framework- but to some extent
> these things can be generated dynamically, and if available I could then
> shift into a view where I see the class in which I was interested appearing
> perhaps near the center of a diagram in which the Roles ( not classes )
> of the other objects it interacts with are shown, and in which I can
> quickly select an interaction relationship to obtain a view of the
> messages being sent by each role in the interaction.  Again, I would
> want an ability to quickly shift to a view in which I see how those messages
> have been implemented *in this context* and *no other*.  I would want
> to be able to look at the messages sent back and forth in the interaction
> between roles, and only those messages, and see them either one at a time
> or in various views in which they are shown simultaneously, and in those
> views be able to modify them or request other information about each
> message or group of messages.  I would want complete control over what
> is shown, and in what manner, and I want as many alternatives for each
> view/interaction model as possible, and I want the burden placed upon
> my object models to be as light as possible, preferrably nil.
> 
> I've tried several times to build this sort of thing, and have made
> some progress on some of my goals.  However, for me it has been a
> pretty tough problem.  But I really believe that if I had this sort
> of interaction framework that it would really be something.  A framework
> in which arbitrarily complex object models could be viewed in arbitrary
> fashion, and completely at the whim of the user, would be very useful
> in much of what I do.
> 
> Is anyone else out there interested in the same thing, or interested in
> a collaboration project on something like this?  It would be trivial
> for me to set up and host a wiki on this topic.
> 
> -les

-- 
--------------------------------------------------
Smalltalking by choice.  Isn't it nice to have one!





More information about the Squeak-dev mailing list