Re: identifying existing apps to package
Daniel Vainsencher <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.foundation |
|---|---|
| Message-ID | <[email protected]> |
Hey guys. Okay, a bit about what SpT does: First it creates a graph where classes are nodes, and dependencies are links. Depedencies are either Classes references, or subclassing. Then it finds all the cycles in the graphs at once - this is called strong connected components. Why are cycles important? because they show precisely where things are misengineered. If Morph depends on Object, that's fine, but if they both depend on one another... that's a problem. To extract interesting information, we compare the cycles in the graph to invented module boundaries (like class categories, or DVS package boundaries). Where a cycle crosses the module boundaries, we know we need to refactor things (we need to cut at least one of the directions of dependency). Did this make sense? does it sound like what you're looking for, Ned? if so I'll go into more details.. Daniel Vainsencher Ned Konz <[email protected]> wrote: > On Wednesday 12 February 2003 07:13 pm, Avi Bryant wrote: > > On Wed, 12 Feb 2003, Ned Konz wrote: > > > I'd like to start the packaging process for parts of the 3.5 > > > image, as planned. > > > > > > I know Daniel and others have written tools for static analysis; > > > I was hoping someone could come up with a good way to actually > > > discover the contents of the different packages (strongly coupled > > > clusters of otherwise independent classes along with class > > > extensions that they use or that refer to them). Plus, I'd like > > > to get the names of the major writers of the existing code. > > > > Ned, > > > > The hard part, I think, is associating class extensions with the > > right package. I added some dependency queries to PackageInfo as a > > step towards being able to do this; > > PackageInfo>>browseExternalReferences is particularly useful when > > trying to carve out the image manually, but I never got anywhere > > with an automated tool to do this. My vague thought was that any > > external references to that package (ie, methods that use that > > package's methods or classes) could be evaluated for inclusion in > > the package, and brought in if that would make the package have > > fewer external references in total. After a few iterations this > > ought to converge on some kind of rough approximation of the right > > methods, I hope - but I've never tried it. > > > > Is that the kind of tool you were thinking of? > > Yes. I think Spaghetti Tracer can do some of this. > > -- > Ned Konz > http://bike-nomad.com > GPG key ID: BEEA7EFE > > _______________________________________________ > Squeakfoundation mailing list > [email protected] > http://lists.squeakfoundation.org/listinfo/squeakfoundation From [email protected] Fri Feb 14 15:49:06 2003 Return-Path: <[email protected]> Delivered-To: [email protected] Received: (qmail 19363 invoked from network); 14 Feb 2003 15:49:06 -0000 Received: from mxout3.netvision.net.il (194.90.9.24) by mail.theinternetone.net with SMTP; 14 Feb 2003 15:49:06 -0000 Received: from [80.178.100.204] ([80.178.100.204]) by mxout3.netvision.net.il (iPlanet Messaging Server 5.2 HotFix 1.08 (built Dec 6 2002)) with SMTPA id <[email protected]> for [email protected]; Fri, 14 Feb 2003 17:49:06 +0200 (IST) Date: Fri, 14 Feb 2003 16:56:52 +0300 From: Daniel Vainsencher <[email protected]> Subject: Re: [Squeakfoundation]identifying existing apps to package To: Discussing the Squeak Foundation <[email protected]> Message-id: <[email protected]> X-Mailer: Celeste 2.0.5108 Content-transfer-encoding: 7BIT X-BeenThere: [email protected] X-Mailman-Version: 2.1 Precedence: list Reply-To: Discussing the Squeak Foundation <[email protected]> List-Id: Discussing the Squeak Foundation <squeakfoundation.lists.squeakfoundation.org> List-Unsubscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>, <mailto:[email protected]?subject=unsubscribe> List-Archive: <http://lnx-12.ams-2.theinternetone.net/pipermail/squeakfoundation> List-Post: <mailto:[email protected]> List-Help: <mailto:[email protected]?subject=help> List-Subscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>, <mailto:[email protected]?subject=subscribe> X-List-Received-Date: Fri, 14 Feb 2003 15:49:07 -0000 Doug Way <[email protected]> wrote: > > On Wednesday, February 12, 2003, at 09:58 PM, Ned Konz wrote: > > I'd like to come up with a table in HTML that lists: > > * Category > > * Class names > > * Major authors > > * Last period (quarter year?) in which substantial changes were made > > * Outside dependencies > > > > And I'd like to do this automatically, if possible. This could also be useful for a future project dealing with clearing up licensing. > > Then we can start signing up volunteers to pick these apart. > > Yes. There's also this page at: > http://swiki.squeakfoundation.org/squeakfoundation/77 (which you > probably already know about) Actually, we should make sure this page > stays up to date, too... for example, the IRCConnection refactoring is > already in the image, I believe, so it should say "integrated"; it > could now be removed. Agreed. I think it's better to leave it there as integrated, to remember the progress we've made. > > Once we have tools and HOWTO manuals on package stripping, we should > > be able to get more volunteers. > > > > Some relatively easy targets that I can see: > > > > * Speech > > * Fabrik > > * Games > > * Piano Roll > > * Process Browser > > * Archive Viewer > > * eToy communications and Nebraska This one might not be as easy as it seems - I used SpT one it once, and discovered that Morph is dependent on it. Of course the links might seem simple enough to cut on further examination. > > * Scamper > > * VM Construction Daniel From [email protected] Sat Feb 15 04:18:47 2003 Return-Path: <[email protected]> Delivered-To: [email protected] Received: (qmail 2266 invoked from network); 15 Feb 2003 04:18:47 -0000 Received: from mailout.whidbey.net (209.166.64.124) by mail.theinternetone.net with SMTP; 15 Feb 2003 04:18:47 -0000 Received: from [209.166.72.234] (helo=ned) by mail5 with esmtp (Exim 4.12) id 18jjDK-00030j-00 for [email protected]; Fri, 14 Feb 2003 09:01:26 -0800 From: Ned Konz <[email protected]> To: Discussing the Squeak Foundation <[email protected]> Subject: Re: [Squeakfoundation]identifying existing apps to package Date: Fri, 14 Feb 2003 09:00:52 -0800 User-Agent: KMail/1.5 References: <[email protected]> In-Reply-To: <[email protected]> X-Image-URL: http://bike-nomad.com/nedicon.jpg MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <[email protected]> X-BeenThere: [email protected] X-Mailman-Version: 2.1 Precedence: list Reply-To: Discussing the Squeak Foundation <[email protected]> List-Id: Discussing the Squeak Foundation <squeakfoundation.lists.squeakfoundation.org> List-Unsubscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>, <mailto:[email protected]?subject=unsubscribe> List-Archive: <http://lnx-12.ams-2.theinternetone.net/pipermail/squeakfoundation> List-Post: <mailto:[email protected]> List-Help: <mailto:[email protected]?subject=help> List-Subscribe: <http://lists.squeakfoundation.org/listinfo/squeakfoundation>, <mailto:[email protected]?subject=subscribe> X-List-Received-Date: Sat, 15 Feb 2003 04:18:48 -0000 On Friday 14 February 2003 05:50 am, Daniel Vainsencher wrote: > Did this make sense? does it sound like what you're looking for, > Ned? if so I'll go into more details.. Yes, it sounds like it. We need some easy way to apply this to refactoring and package removal. -- Ned Konz http://bike-nomad.com GPG key ID: BEEA7EFE