Subject: IRList Digest V2 #47 - resent due to mail failures
From: "Edward A. Fox" <[email-masked]>
To: irdis
Date: Thu, 9 Oct 86 09:40:36 edt

IRList Digest           Monday, 22 September 1986      Volume 2 : Issue 47

Today's Topics:
   Email - Change in address for M. Burke
   Announcement - New University of Rochester HORNE system available
                - U. Maryland parallel logic prog. sys. on McMOB multiproc.
   Article - Software Reuse Through Information Retrieval - Part 1

----------------------------------------------------------------------

Date: 15 September 1986, 16:22:18 GMT
From: MABURKE  at IRLEARN.bitnet
To:   FOXEA at VTVAX3

Greetings from Ireland!
I was formerly BURKE @ SUCASE and have now returned to UCD in Dublin
where my I.D. is MABURKE @ IRLEARN.
PL. send the I.R. digest to this location.
Thanks ... Mary

------------------------------

Date: Sun, 14 Sep 86 18:37:42 edt
From: [email-masked]
Subject: New University of Rochester HORNE system available

The University of Rochester HORNE reasoning system has just been rereleased in
common-lisp form, currently running on a symbolics (though any common-lisp
system should be able to run it with minor porting).

Features:
	Horne Clause resolution prover (similar to PROLOG) with typed
unification and specialized reasoner for equalities (e.g. A and B can be
asserted to be equal, and so will unify). Equalities can be asserted between
any ground forms including functions with ground terms. A forward chaining
proof mechanism, and an interface between this system and arbitrary
common-lisp forms are also provided.

	As part of the same release we are providing REP, a frame-like
knowledge representation system built on top of the theorem prover, which uses
sturctured types to represent sets of objects. A structured type may have
relations (or "roles") between its set of objects and other sets. Arbitrary
instances of an object may be asserted to be equal to another instance which
will utelize the underlying HORNE equality mechanisms.

HORNE is the product of several years of R&D in the Natural Language
Understanding and Knowledge Representation projects supervised by Prof. James
Allen at the University of Rochester, and forms the basis for much of our
current implementation work.

A tutorial introduction and manual, TR 126 "The HORNE reasoning system in
Common-Lisp" by Allen and Miller is available for $2.50 from the following
address:

Ms. Peg Meeker
Technical Reports Administrator
Department of Computer Science
617 Hylan Building
University of Rochester
River Campus
Rochester, NY 14627

In addition a DC300XL cartridge tape in Symbolics distribution format, or
Symbolics carry-tape format (also suitable for TI Explorers), or a 1/2"
1600bpi reel in 4.2BSD TAR format (other formats are not available) is
available from the above address for a charge of $100.00 which will include
one copy of the TR.  This charge is made to defray the cost of the tape,
postage, and handling. The software itself is in the public domain. Larger
contributions are, of course, welcome.  Please specify which format tape you
wish to receive. By default, we will send the Symbolics distribution format.

All checks should be made payable to "University of Rochester, Computer
Science Department". POs from other Universities are also acceptable. Refunds
for any reason are not available.

DISCLAIMER: The software is supplied "as-is" without any implied warrenties of
merchantability or fitness for a particular purpose. We are not responsible
for any consequential damages as the result of using this software.  We are
happy to accept bug reports, but promise to fix nothing. Updates are not
included; future releases (if any) will probably be made available under a
similar arrangement to this one, but need not be. In other words, what you get
is what you get.

Brad Miller
Computer Science Department
University of Rochester

[email-masked]
[email-masked]

------------------------------

Date: Thu, 11 Sep 86 17:08:33 EDT
From: Jack Minker <[email-masked]>
Subject: Parallel Inference System at Maryland

[Extracted from PROLOG Digest   Monday, 15 Sep 1986v$ #50 - Ed]

            AI and Database Research Laboratory
                           at the
                   University of Maryland
                   Jack Minker - Director

     The AI and Database Research Laboratory at the  Univer-
sity  of  Maryland  is  pleased  to announce that a parallel
logic programming system (PRISM) is now operational  on  the
McMOB  multiprocessosor.  The system uses up to sixteen pro-
cessors to exploit medium grained parallelism in logic  pro-
grams.   The underlying ideas behind PRISM appeared in [Eis-
inger et. al., 1982] and [Kasif et. al., 1983].

     The McMOB multiprocessor is a direct offspring of  ZMOB
[Reiger  et.  al.,1980].  It  consists  of  sixteen Motorola
MC68010 processors interconnected via a high speed belt.

     PRISM consists of several parts:  a user host interface
that exists on the host machine; a set of machines (moblets)
designated as problem solvers  (PSMs);  a  set  of  machines
designated as Extensional Database Machines (EDB) that store
ground atomic formulae (relational database tables); and,  a
set  of machines designated as Intensional Database Machines
(IDB) that store procedures (the general rules in  the  sys-
tem).   The  system  can  also optionally include Constraint
Machines (CM) that use user-supplied  constraints  to  prune
unsatisfiable paths in the proof tree.

     The system supports both AND and OR  parallelism.   The
user  can  specify control in terms of the sequence of atoms
to be executed in a set of problems to be solved.  Atoms can
be  executed in parallel, sequentially, or as specified by a
partial ordering.  Similarly procedures can be specified  as
being executed sequentially, in parallel, or as specified by
a partial order.  The PSM has  been  written  in  a  modular
fashion  to permit alternative control structure programs to
be incorporated in the system.  Alternative node and literal
selection algorithms may be incorporated as part of the con-
trol structure.  The  user  may  specify  the  configuration
(i.e., the number of moblets required as a minimum) in which
a problem is to be run.  If additional  moblets  are  avail-
able, the PRISM will automatically take advantage of them.

     A large number of problems  are  currently  being  pro-
grammed  in  PRISM and experiments will be run with these to
determine the effectiveness of PRISM as  a  problem  solving
system.

     The major research directions in  the  laboratory  over
the coming year will be devoted to the following areas:

    (1)  Experimentation Using PRISM
    (2)  Control Structure Investigations
    (3)  Expert systems and PRISM
    (4)  Parallel problem solving and Architecture Issues

     If you would like further information on PRISM,  please
contact  MINKER@MARYLAND  or MADHUR@MARYLAND.  We would also
be very interested in hearing from people who may have prob-
lems we could run on PRISM.

References:

1.   Eisinger, N., Kasif, S., and Minker,  J.,  "Logic  Pro-
     gramming:  A  Parallel Approach", in Proceedings of the
     First International Logic Programming Conference,  Mar-
     seilles, France, 1982.

2.   Kasif, S., Kohli, M., and Minker, J., "PRISM - A Paral-
     lel Inference System for Problem Solving", in IJCAI-83,
     Karlsruhe, Germany, 1983.

3.   Rieger, C., Bane, j., and Trigg, R.,  "ZMOB:  A  Highly
     Parallel  Multiprocessor",  University of Maryland, TR-
     911, May 1980

------------------------------

Date: Fri, 12 Sep 86 22:31:44 EDT
From: seismo!allegra!hoqam!wbf
Subject: Software Reuse through IR

Ed,

Thanks for the recent IR list about software reuse and IR. I've sent
along a copy of the paper Brian and I wrote on the subject. I should
say that we view this paper as extremely preliminary. There are many
issues in reuse and IR that we do not discuss, and we feel that there must
be experimentation to back up the proposals we put forward.  Nonetheless,
perhaps IR list readers will find the paper useful as the basis of discussion.

    Regards, Bill Frakes

Software Reuse Through Information Retrieval

          W. B. Frakes
          B. A. Nejmeh

     AT&T Bell Laboratories
   Holmdel, New Jersey 07733

1.  Introduction

There is widespread need for safe, verifiable, efficient,
and reliable software that can be delivered in a timely
manner. Software reuse can make a valuable contribution
toward this goal by increasing programmer productivity and
software quality.  Unfortunately, the amount of software
reuse currently done is quite small.  DeMarco [1] estimates
that in the average software development environment only
about five percent of code is reused.

A fundamental problem in software reuse is the lack of tools
to locate potential code for reuse. In this paper we argue
that information retrieval (IR) systems have the power and
flexibility to ameliorate this problem. We then discuss the
issue of database design, and show the viability of our
approach using the CATALOG information retrieval system [2]
[3].  We conclude with a discussion of current research in
IR that is likely to improve IR systems as tools for
managing software reuse.

2.  Motivation for Software Reuse

The search for effective methods of promoting software reuse
has a strong economic basis. The demand for software
continues to rise sharply and the gap between the supply and
demand for software continues to grow [4] Thus, effective
means of promoting software reuse have become of paramount
importance to the software engineering community.

Software reliability has also become a problem of increasing
importance as real-time applications of computers emerge in
(for example) financial arenas, the military, and the
medical profession. In these domains there is a critical
need for software to operate without failure over long
periods of time, so as not to cause significant economic
loss or endanger human life. Reliability is also important
because maintenance now accounts for the largest portion of
system costs [5], and more reliable software should be
cheaper to maintain.  One potential means of increasing
software reliability is through the use of existing
software. This is because reusable software components have
presumably been rigorously tested and verified.

3.  Factors hindering software reuse

A fundamental problem with software production in the US is
that a new software system is typically constructed "from
scratch" [6].  This is unfortunate because studies have
shown that much of the code in a system is functionally
identical to previously written code. For example, the
Missile systems Division of Raytheon Company observed that
40-60% of code was repeated in more than one application
[7].

The desirability of software reuse is contingent on the
value and feasibility of reusing a particular type of
software product [8].  The value of software reuse refers to
whether it is more cost effective, in terms of time, money,
or personnel, to reuse software as opposed to developing it
from scratch each time it is needed. Since software reuse
has its own costs, e.g. location, classification,
documentation, and storage, the reuse of software is not
always valuable.  The feasibility of software reuse relates
to the ease with which software can be effectively reused.
Feasibility is dependent on the facilities provided by a
software development environment, and the ease with which
reusable software candidates can be identified.

Frequently, software is not reused  because the value of
reusing software is low and the feasibility of reuse is
minimal.  The factors affecting the value and feasibility of
software reuse can be classified as follows:

   o Differences in software development environments - if
     there are differences in programming languages or
     operating systems, the value and feasibility of reuse
     can be reduced because of excessive translation or
     porting costs.

   o Reuse support environment - if the retrieval and
     specification of software components are not automated,
     the amount of time required to locate reusable software
     increases greatly. If potentially reusable software
     components cannot be located, retrieved, and reviewed
     effectively, reuse is neither feasible nor valuable.

4.  The Need for Support Tools in Reuse Support Environments

The Japanese have been extremely successful in promoting and
encouraging software reuse. Japanese software factories have
cited reuse factors of 85 percent [9].  Moreover, the
Japanese stress the use of keyword searching of software
module abstracts to promote reuse [4].

Both the Japanese, and software researchers in the US, have
argued that in order to effectively promote reuse we must
learn how to organize, index, describe, and reference
software components effectively.  Standish  [4] argues that
"... a system of software components could be organized and
indexed by conventional techniques for indexing papers in
the computer science literature, and that by having each
component in a software library an effective means of
locating reusable software will be established."

In addition, the Hughes Aircraft Company recently studied 19
software development methodologies to evaluate their
usefulness with respect to promoting software reuse. In this
study Hughes Aircraft concluded that "no methodology for
large-scale software development provides a reliable storage
and retrieval mechanism for a code-level library." [10]
Finally, in a recent paper [6], Horowitz states that "...
there are no tools to catalog, refine, and compose
[software] components in an efficient manner."

In short, there is strong support for the belief that to
effectively promote software reuse we must develop tools to
aid in the process of locating software components that are
candidates for reuse.  Such a tool must provide the user
with an effective means of indexing, searching, retrieving,
and reviewing software components.  In the following
sections of the paper we describe a tool to meet this need.

[Note: to be continued in next IRList - Ed]

------------------------------

END OF IRList Digest
********************