Note: this mail is appearing out of sequence because when I sent it
initially, my new email details were not registered with the email
system.  

Apologies,
Pete

-----Original Message-----
From: Hornsby Peter 
Sent: Tuesday, October 16, 2001 8:06 AM
To: 'Derek M Jones'; [EMAIL PROTECTED]
Subject: THIS MAIL IS UNCLASSIFIED RE: PPIG discuss: Similarity and
categorization


Derek,

I have been interested in the problem of categorisation from the point
of view of programming for some time, as a precursor to an effective
system of (software) component reuse.  

> There are a number of techniques for attempting to
> figure out which function belongs in which module.
> These are usually based on various cohesion and
> coupling metrics.
> 
> These metrics can be calculated from the source code.
> Which functions call or are called by other functions
> and usage of variables all goes into the equations.

One of the weaknesses of this approach is that it tends to be fixed at a
particular level of abstraction.  So while for a software design task a
reasonable strategy might be to put all the functions for processing
student grades into a single class, another strategy may be to identify
different types of student and group all functions by student type.  Are
you thinking of applying these metrics for the classification of
software for a general purpose library or for an individual software
project?  

> I have been reading "Classification and Cognition" by Estes.
> Which offers some interesting ways of measuring the similarity
> of an object to a category.  The paper "Learning and memorization
> of classifications" by Shepard et al (Psychological Monographs,
> Vol 76, No 13) describes a wonderful study (psychologists
> don't seem to do experiments) of subjects learning and
> classifying sequences of small/large squares/triangles that
> are black/white.
> 
> The problem with the existing techniques for figuring out what
> to put in each module are:
> 
>    o the source is needed.  It might not have been written yet.

Raymonde Guindon (and others) demonstrated that the developers
understanding of the solution and problem develop in parallel.  Hence,
while a developer is designing / coding a system, their understanding of
what the problem and solution is, is likely to change (and hence also
their perception on the most appropriate form of classification).  

>    o it takes no account of what developers might consider to
> be similar functions.

Or indeed what different developers might consider to be similar
functions.  Studies of novice and expert OO programmers have shown that
novices tend to be more strict in their application of OO principles to
software, which can also affect their understanding of similarity.  

> Does anybody know of any research that have looked at how
> some kind of cognitive metric might be used to figure out
> what functions belong in each module?  Would building a
> similarity matrix for functions, based on their high level attributes,
> put them in the same modules that experienced developers would?
> 
> For instance the trig functions obvious belong in the same
> module, as would string handle, tree walking functions, etc
> belong in their own modules.  But things are not always as
> straightforward as these cases.

I'm willing to be pointed in the direction of any such research, but I'm
not sure how useful it would be.  At a fairly low level of abstraction
these classifications may be valid (and indeed have been useful for many
years) in terms of building software libraries.  But in terms of
individual software projects, I'm not sure how useful these methods are,
simply because they appear to rely on a similar understanding of how the
classification system works between different developers.  

Pete


-- 
The Information contained in this E-Mail and any subsequent correspondence
is private and is intended solely for the intended recipient(s).
For those other than the recipient any disclosure, copying, distribution, 
or any action taken or omitted to be taken in reliance on such information is
prohibited and may be unlawful.

- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to