* reuse information
@ 1990-06-15 16:53 Elizabeth T. Hobbs
0 siblings, 0 replies; only message in thread
From: Elizabeth T. Hobbs @ 1990-06-15 16:53 UTC (permalink / raw)
Some weeks ago...
In addition to references, I also asked people for their opinions
and experiences with reuse. A good number of people asked me for this
information (in addition to or instead of references). Here is a summary
of what I received. I've taken the liberty of paraphrasing the replies.
I hope I've kept the original meaning of the replies. Please let me know
if I have not!
Experiences and Opinions:
From David Thomas:
In Mr. Thomas's opinion, one important consideration for
reusing code is whose code is going to be reused. Simply
being instructed to reuse code doesn't mean code reuse will
or should happen. It is better to rewrite poorly written
code.
From Brad Cox:
There is a large group of companies who provide software
components for reuse at various levels, from chip-level objects
(in Smalltalk and Objective-C) to environments of rack-level
objects (ex: Word and Excel). [Additional reuse articles were
posted in May by Mr. Cox further discussing these components.]
From Ralph Johnson:
He has been using object-oriented programming to build reusable
software at the University of Illinois for such domains as
operating systems, optimizing compilers, and user interfaces.
Mr. Johnson believes that reusable software can be developed
for almost any domain, the major problem is that reusable
software is very difficult to write. Just because code runs
doesn't mean its reusable and the only way to discover its
reusability is to try and reuse it. In Mr. Johnson's opinion,
converting code into a good reuse library will take many
man-years but the pay-off is worth it.
From Mats Weber:
Reusable components like lists, AVL trees, large integer
handling, matrix operations, linear programming, etc., have
been successfully used in a number of experimental projects.
They were written as needed and made as general as possible
(generality being more important than performance). In Mr.
Weber's opinion, Booch's taxonomy was not found to be very
useful particularly with respect to concurrency. On another
note, one of the worst problems encountered, Mr Weber says,
was with compiler quality, especially with the handling of
generics. Making reuse happen requires alot of experience
with the language (at least with Ada), and it is hard to
develop the component correctly the first time for all of
its potential uses.
From Pat (no last name given):
In Pat's opinion, software reuse on a large scale is currently
impossible. Few people are thinking about how to capture
individuals' experience from crafting software to be able to
reuse this experience. Most reuse consists of cataloging/
storing/reusing functions/subroutines. Until people can codify
the models experts use to relate these functions/subroutines
there will be no success in software reuse.
A few excerpts from mail from someone who I will keep anonymous:
To support reusability, a system must provide a way of finding
both exact and close matches. Also, a means for making the
component understandable must be given. And, there must be a
way to change a close match to an exact one.
Some characteristics of easily reusable components: they have
a narrow scope and operate on simple or generic data. They
are well documented. They are designed such that areas that
are likely to be modified are isolated or abstracted.
In some cases, the cost of reusing software will exceed the
cost of creating the software. This may occur if information
about a reusable component is inaccurate, the programmer
makes a poor choice when selecting a component to reuse, or
the component is not as reusable as originally thought.
The most complex components give the biggest payoff but are
more difficult to develop for reuse and to actually reuse;
the simplest components are, naturally, easier to develop and
reuse, but provide the smallest payoff. The fixed ceiling
on this payoff is less than 25%.
There are legal considerations as well. Can software that is
developed for a contract (where the customer owns all of
software) be reused? What about public domain software that
prohibits its use for gain?
More Information:
From Pat:
The US Army is sponsoring a project called "Reusable Ada
Packages for Information Systems Development" (RAPID).
Information about the RAPID project can be obtained from
Capt. Jack Rothrock at (703) 285-9043.
The Software Engineering Institute (SEI) has a project in
domain analysis that is examining the possibility of
applying this sort of analysis to the problem of identifying
reusable resources (not just code). At some time an annotated
bibliography should be available. (The contact given was
Sholom Cohen at (412) 268-5872.)
Dr. Richard S. D'Ippolito from SEI was reccommended as a good
person to talk to about a sound engineering basis for doing
software in general.
A company called American Management Systems has a set of
models of MISs that are built in COBOL and are being used
successfully. AMS can be reached at (703) 841-6000.
From Cornelia Boldyreff:
Check out the ESPRIT project. There is an article in the
November IEEE Software, 1989.
More References:
Here are some I missed the first time!
From Kenny Rubin:
A paper of his entitled "Reuse in Software Engineering: An
Object-Oriented Perspective", Proceedings of the IEEE COMPCON,
Spring, 1990, San Francisco, CA.
From Ralph Johnson:
A paper of his entitled "The Object is Reuse".
From Steve Barry:
A "management-level" article in Nov. 15, 1989 Datamation, p.
87 by Jeff Moad entitled "Cultural Barriers Slow Reusability".
Some geographic locations of people replying to my original questions
and of people requesting references:
Maryland, California, New York, Pennsylvania, Illinois,
Massachusetts, Ohio, Texas, Switzerland, Netherlands, Finland,
Australia, England, Canada, Sweden, Scotland, and Japan.
I was amazed at the number of people interested in reuse and the wide
diversity in the planned use/definition/goals of "reuse".
Sorry for the delay in summarizing this information. I have,
unfortunately, been busy with other things.
Terri
hobbs@tron.bwi.wec.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1990-06-15 16:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1990-06-15 16:53 reuse information Elizabeth T. Hobbs
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox