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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.