home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.umcs.maine.edu
/
2015-02-07.ftp.umcs.maine.edu.tar
/
ftp.umcs.maine.edu
/
pub
/
WISR
/
wisr6
/
proceedings
/
ascii
/
arango.ascii
< prev
next >
Wrap
Text File
|
1993-10-19
|
11KB
|
229 lines
Networks and information technology redefine the practice of reuse
Guillermo Arango
Schlumberger Laboratory for Computer Science
8311 North RR 620, Austin, TX 78720-0015, USA
Tel: 1 (512) 331 3735
Email: arango@austin.slcs.slb.com
Abstract
Libraries, classification schemes, and description languages for software components continue
to be central topics of discussion at reuse workshops. I this as a symptom of a community
focusing on its own models and beliefs of how the *should* work instead of paying attention to
how the world works?
The world uses computer networks for private and public communication. We are now
starting to hire from the Nintendo generation. For these young designers and programmers the
network *is* the primary source of information. Records of anonymous FTP servers show that
the Internet is one of the primary vehicle for finding and distributing software.
The same information services we use to find publications, conference announcements, movie
reviews, phone numbers, weather maps, or stock market news are adequate for finding software
components. The reuse community should re-examine the relevance of work on libraries and
focus on how to leverage off the infrastructural and cultural changes brought about bycommu-
nications technology.
Keywords: Software component, Component library, Classification, Internet, Information Ser-
vices, Knowbot, Electronic market.
Workshop Goals: Domain modeling, Reuse of designs, Incremental evolution of components.
Arango- 1
1 Background
This position statement is a reaction to what I perceive to be a consistent lack of impact of the out-
put of the reuse research community tothe practice of software engineering. Broad-based progress
in software reuse appear to be driven not by the results of technical research but by developments
in areas such as standards, languages, operating systems, process improvement practices, the Inter-
net, or traditional mail-order operations (e.g., in the US, the Programmer's Connection or Egghead
Software catalogues).
2 Position
2.1 The acquisition and reuse of software components is a social process
Work on component reuse assumes that there is a repository and that there is a reuser. That
consumers an suppliers do not communicate except through therecords in the library and a shared
classification scheme. That comp onent classification is needed to reduce search through large
collections of components.
In reality,
fflLibraries seem to be few and have at most a few hundred components. [Note: we do not
imply that there are few components available for reuse, there are millions of them available
through the (private or public) network infrastructure,but they tend to be distributed through
thousands of directories, on thousands of machines.]
fflLibraries tend to group components by domains of application and informally shared domain
semantics facilitate search through simple catalogue and component inspection.
fflIn the case of large collections of relatively unstructured information (e.g., FTP directories),
there are inexpensive full-text search engines that sift through the material very efficiently.
CD Rom technology has lowered the price of software storage and distribution to the point
that it is cheap to index every word in a 400 Mb directory and perform almost instant access
to any piece of information.
fflInformation services on the networks multiply. The problem of component classification shifts
to source classification. Finding useful sources is a more interesting problem than identifying
components within a given source.
fflConsumer needs are rarely satisfied by looking at existing "libraries". Most people find
software through a social process (e.g., bulletin board postings, e-mail) or using information
services (e.g., WAIS, Gopher, WWW). Reusers routinely interact with authors via e-mail.
Special interest groups share bulletins were reusers post problems and additional advice from
members of the group is used by all.
The social process of trading software and software reuse knowledge through the net may not be
easy to characterize in formal terms but it is real, it is happening, and it works. Information
technology and communication technologyare providing the tools to make that process broader
and more productive.
Arango- 2
2.2 Networks are electronic information markets
Trading software comp onents is just one instance of trading information. If we ignore the infor-
mation services provided through the network environments we miss a practical, available, and
growing infrastructure to enable software access and distribution. This applies to private networks,
subscriber networks, and public networks.
At present, a person looking for a component must do most of the foot work: p ost notes on bulletin
boards, browse through FTP directories, Gopher holes. Soon a news group "comp.rfc"-request
for component-will facilitate a social search process whereby a p osting is resp onded with direct
or indirect references to sources of the component. Requests and components will come from
individuals in different organizations in different countries. Should we focus on the problem of
matching requests and offers that use an un-constrained vo cabulary (assuming most people will use
English)? or should we promote standard templates?
In the electronic information markets that are emerging to day (e.g., 170.000 postings a day on
Prodigy alone), we anticipate a more balancedrole b etween consumers and suppliers. Suppliers for
profit will also search for requests-for-components that match their inventory or their capabilities
to supply the components through programming, customization, or generation. The distinction
between reuse and outsourcing will blur. From the point of view of the consumer the genesis of
the component will not matter if the economics, documentation, and QA are right. Suppliers of
custom components will themselves outsource to suppliers in regions with inexpensive labor costs.
Some consumers will engage in supplier qualification and pre-qualification. [By the way,... this
is already happening today both for software and for hardware components. With networks as
primary communication media, and EDIand do cument format interchange standards (e.g., JPEG,
MPEG, SGML, HTML) as enablers.]
Locating "useful" components for specific projects and product lines will not be a one-shot effort,
it will become part of a normal technology watch activity, with knowbots [R. Kahn, Center for
National Research Initiatives, 1988]and information filters screening information through bulletin-
boards, news bulletins, and negotiating access to information with information-brokerage applica-
tions. [Again... for non-software types of information, these capabilities are commercially available
to subscribers today.]
With time we expect that the search for customers will also become an active, permanent activ-
ity Knowbots with access to component descriptors will also monitor network traffic to identify
potential consumers. In effect, we will have components looking for reusers.
2.3 Reuse processes and problems are being reformulated
The reuse research community should pay attention to what information technology and networks
are offering to the common person. The evolution of these technologies is altering the way people
communicate and work. As a consequence, many of the assumptions about the classic "reuse pro-
cess" are not valid any longer and newopp ortunities are emerging. For example, the assumption
about the library and the classification scheme being the only communication media between sup-
pliers and consumers is not realistic; reuse processes based on N2 communication between authors
and reusers of a component take place routinely via e-mail and must be studied..
Some old problems, such as component classification or library search are being reformulated or
disposed. For example, the ROIof existing and new approaches to component classification, schema
Arango- 3
evolution, and library search should be benchmarked against the ROI of full-text search on normal
directories. Only those that can outperform brute-force search substantially should be retained.
Another example is the trade-off between cost (and actual effectiveness) of classification schemes
to enable automated searches to "hit" on the rightcomp onent description vs. brute-force search
coupled with a good standard for component documentation.
The wealth of sources and resources available on the networks today is such that there are many
new problems, for example, How to develop applications that monitor known network sources and
find new sources, How to program an application to monitor networktraffic for specific types of
information and draw useful inferences from pieces obtained from heterogeneous sources, How to
structure repository "yellow pages" in the Internet, How to standardize on component documenta-
tion and characterization for an open market.
And there is also an opportunity to focus on some of the essential software engineering aspects of
reuse, for example, How to facilitate understanding a component, How to define its design envelope,
How to identify and propagate changes reliably as a component is ported, customized, integrated
into a system, or optimized.
3 Biography
Guillermo Arango is Research Scientist and Manager of the Design Program at the Schlum-
berger Laboratory for Computer Science in Austin,TX. The Program conducts researchon design
process, methods and tools in software and mechanical engineering, information management in
the design process, electronic publishing of technical documentation, and applications of artificial
neural networks to data interpretation.
Guillermo has worked in software engineering for the past 15 years and on reuse-related topics
for the past 10 years. Five of them in a university environment (code generation, automated
software evolution, domain modeling) and five ofthem in industry. His interests include: domain
analysis, design analysis, reuse of designs, management of change, design rationales, management
and visualization of design information. His work applies to pro duct families involving multiple
technologies (e.g., software, mechanics, electronics, hydraulics).
Arango- 4