%%%%%% TEMPLATE.TEX for WISR'93, version 1.2.1, 10/3/93 %%%%%%
%%%%%% Updated by Jeffrey S. Poulin,  May 1993          %%%%%%
%%%%%% Updated by Larry J. Latour     and               %%%%%%
%%%%%%            Steve L. Philbrick, October 1993      %%%%%%
%%%%%%
\markboth{Moore}{Moore}
\documentstyle[11pt]{article}
 
% Standard Spacing for WISR - do not change!!
%
% Page dimensions.
%
\oddsidemargin  0.26in % Leave enough for binding margin
\evensidemargin 0.26in %
\topmargin      -1.00in % (adjusted for printer bias)
\headheight      .00in  % (no headers)
\headsep         .75in  % (top margin + headers + skip)
\footheight     12.0pt  % ??? (seems to work ok)
\footskip       25.0pt  % ??? ( "   "  )
\textheight     9.425in % (instructions: 9 1/8" min, 9 7/16" max)
\textwidth      6.5in   %
 
\markboth{Moore}{Moore}
\pagestyle{myheadings}
%
% Paragraph changes.
%
\parindent=0pt
\parskip=10pt
%
% can make the title box even smaller
%
\def\@maketitle{\vbox to 2.6in{\hsize\textwidth
    \linewidth\hsize \vfil \centering
    {\large \@title \par}
    \vskip 2em
    {\normalsize
    \begin{tabular}[t]{c}\@author
    \end{tabular}\par}
    \vfil}
}
 
\begin{document}
 
\bibliographystyle{ieeetr}
 
\title{ The Impact of Reuse Library Interoperability upon a Software
Component Industry}

\author{James W. Moore\\
IBM Federal Systems Company\\
800 North Frederick Ave.\\
Gaithersburg, MD 20879\\
Tel: (301) 240-7843\\
Email: moorejw@vnet.ibm.com\\
Fax: (301) 240-6073\\
}
\date{}
 
\maketitle
 
\begin{abstract}
Recent work in interconnecting software reuse libraries has
implications which suggest that a software component industry may
have much greater diversity than previously expected.  This paper
will briefly describe some of the work and examine its
implications upon the industry.
 
\vspace{0.2in}
\noindent
{\bf Keywords:} Software reuse, reuse libraries, reuse industry, reuse
economics, interoperability, standards.
 
\vspace{0.2in}
\noindent
{\bf Workshop Goals:} Improve understanding of the requirements for a
software reuse industry.

 
\vspace{0.2in}
\noindent
{\bf Working Groups:} Reuse management, organization and economics.

\end{abstract}
 

\newpage
\section{Background}

Jim Moore was the original System Architect for IBM's role as a
prime contractor in the ARPA STARS program.  Currently, he is
responsible for all of IBM's technology refinement efforts on the
program.  He served as IBM's technical lead in the founding of
the ASSET library.  He is a charter member of the RIG and serves
as the chairman of its Executive Board.
 
(See note at end regarding acronyms.)


\section{Position}

Recent work in interconnecting software reuse libraries has
implications which suggest that a software component industry may
have much greater diversity than previously expected.
\begin{itemize}
\item
Three government-sponsored reuse libraries (CARDS, ASSET, and DSRS) have 
recently conducted experiments in interoperation and plan an operational 
capability in the fall of 1993.
\item
The ARPA STARS program has demonstrated an architectural
prototype, the Library Interoperability Demonstration (LID),
which shows how monolithic reuse libraries can be segregated
into three distinct functions.
\item
The Reuse Library Interoperability Group (RIG) has recently
completed the first of a planned series of proposed
standards intended to facilitate interoperability.
\item
The ASSET library is creating a National Software Reuse Directory.
\end{itemize}

Each of these events suggests ways in which a software component
industry might evolve.

ARDS/ASSET/DSRS (CAD) interoperation marks the end of an era
where various reuse library operators were attempting to position
themselves as the single, best library that everybody should use.
Each of the participating libraries (it is anticipated that more
will join) provides a remote index of components which may be
obtained through the other libraries.  The other libraries
incorporate the descriptions of those components within their
cataloguing mechanism just as if the component were local.  When
a user attempts to extract the component, a copy is transmitted
from its library of residence to the user's library.  Although
the technical effort to achieve interoperation is non-trivial,
the key accomplishment is the resolution of various business
issues which were obstacles to sharing.  The most significant
result, however, is the evolution toward a cultural perception
that reusable components are best stored in a network of
cooperating, specializing libraries rather than a single,
general-purpose one.  This perception is essential to the
creation of a viable industry.  After all, a small contractor
working on a large project may need access to several libraries:
its own, the prime contractor's, and the customer's as well as
other libraries for performing make versus buy decisions and
obtaining specialty components outside its own field of
expertise.

The ARPA STARS LID demonstration~\cite{Ber93} signals the impending
end of an era when reuse library mechanisms were constructed as
single, monolithic tools.  The LID prototype segregates a library
into three distinct layers:
\begin{itemize}
\item a storage layer which safely preserves the software components
\item a catalog layer which adds value by indexing the components
in ways intended to be useful
\item a user interface layer which presents the catalogs and other
services to the user.
\end{itemize}

The demonstration shows that each of these layers can be
implemented by separate tools communicating via high-speed links.
In particular, the demonstration shows two different catalogs
which don't actually store any components; instead they delegate
the storage function to a separate server accessible by high-
speed telecommunications links.  In addition, the demonstration
shows two distinct user interfaces, a text-based mechanism and a
graphics-based mechanism, which each can access either of the
catalogs.  Finally, the demonstration shows that a component can
be ``copied'' from one catalog to another by means of transmitting
only the descriptive information; the component itself remains
unchanged and unmoved in the storage server.  The demonstration
illustrates that the business of operating a reuse library is
actually at least three distinct businesses which can be
individually pursued:
\begin{itemize}
\item Safely storing and preserving components for future access.
\item Performing value-added indexing of components selected from
various storage libraries.
\item Providing powerful user interfaces which allow access to
various catalogs.
\end{itemize}

Obviously, the kind of interoperation described in the previous
sections can not be achieved without widespread agreement on
suitable interfaces.  For two years, the RIG has been working on
standard interfaces for the interoperability of reuse libraries.
Earlier this year, the RIG published its first proposed standard,
the Basic Interoperability Data Model (BIDM)~\cite{RIG93}, describing
the minimum amount of information which a reuse library should be
able to share with other libraries.  Additional work proceeds
toward the formulation of more comprehensive data models,
protocols for the transmission of models and components, meta-
models to enable communication among dissimilar data models,
interoperability metrics, and characterization of existing
libraries and mechanisms.  Groups within the IEEE and the AIAA
are also pursuing related work.  The significance of this
development is the additional safety that it provides for
entrepreneurs interested in entering the marketplace.  A
marketplace with a stable set of standards significantly reduces
the risk for a new business.  The standards can be viewed as
defining electronic niches where businesses may be founded with a
high degree of assurance that they will be able to conduct
electronic commerce with other businesses and customers.  The
current efforts on standardization serve to define niches
appropriate to the interoperability model exemplified by the CAD
interoperability.  Additional work is needed to standardize the
richer interoperability implied by the LID demonstration.

The National Software Reuse Directory (NSRD) is a new project of
the ASSET library.  ASSET was founded on the premises that it
should be national in scope and part of a distributed network of
libraries~\cite{Lil91}.  One strategy for accomplishing this goal is
to act as a ``reference library'' to assist users in locating other
libraries which may specialize in their areas of interest.  The
NSRD is a kind of software ``yellow pages'' intended to facilitate
this kind of search.  The NSRD is a collection of information
regarding software assets contained in various, different
libraries or from other sources.  The information within the NSRD
is that specified by the RIG's BIDM.  The concept is that various
component producers or library operators will provide BIDM
descriptions of assets to be listed in the NSRD.  Users will
search the NSRD for components of interest, thereby learning of
the libraries which contain those components.  At this time, the
user would have to access the listing library directly, but in
the future, interoperability mechanisms will permit direct access
to the libraries containing the components.  The primary
significance of this development is that it points toward a
distributed electronic marketplace where some libraries
specialize in particular areas of expertise and others provide
services to assist users in locating the specialized libraries.
The current NSRD also points the way toward future commercial
indexes which add value by selecting, listing, and perhaps
reviewing, certifying or evaluating components which are actually
stored elsewhere.

\section{Comparison}

Taken as a group, the efforts described above imply a sea change
in the structure of a reuse industry.  Instead of an industry
dominated by one or two large government-sponsored libraries, we
can foresee an industry providing niches for many small
entrepreneurs:
\begin{itemize}
\item The interoperability efforts provide a basis for a network
of libraries as opposed to the previous concept of one or
two large, all-inclusive libraries.

\item The LID demonstration shows that libraries of the future need not be as 
monolithic as the libraries of the past.  In fact, it seems that the storage 
of assets, the cataloguing of assets, and the presentation to the user may all 
be distinct businesses.

\item The ongoing efforts for standardization reduce risk in
entering the business.  Previously, any entrepreneur who
might try to add value to an existing monolithic library was
deterred by the simple fact that the library might change
its external interfaces at any time.

\item The NSRD is both a first step toward the specialization of
library roles and a first step toward an infrastructure
promoting commerce in services as well as components.  Both
steps are radically different from prior models where users
dealt solely with a centralized library providing all services itself.
\end{itemize}


\bibliography{moore}

It would be improper to leave this subject without acknowledging
the seminal role of the ARPA STARS program in enabling the
advances described above.  To wit:
\begin{itemize}
\item STARS wrote a mission statement for ASSET which made it the
first government-sponsored library chartered with the
responsibilities to foster a reuse industry and to function
as a node within a distributed network;
\item STARS developed the ALOAF technology which was the basis of
the LID demonstration; and
\item STARS was a charter member of the RIG and has supported its
efforts both technically and financially.
\end{itemize}


\section{Acronyms}

Acronyms pervade both government and technology and reuse is no
exception.  Since most of the efforts are better known by their
acronym than their name, I have chosen to use the acronyms in the
body of the paper and explain the names here:
\begin{description}
  \item [AIAA]: American Institute of Aeronautics and Astronautics
  \item [ALOAF]: Asset Library Open Architecture Framework
  \item [ARPA]: (Defense) Advanced Research Projects Agency
  \item [ASSET]: Asset Source for Software Engineering Technology
  \item [BIDM]: Basic Interoperability Data Model
  \item [CAD]: CARDS/ASSET/DSRS
  \item [CARDS]: Central Archive for Reusable Defense Software
  \item [DSRS]: Defense Software Repository System
  \item [IEEE]: Institute of Electrical and Electronic Engineers
  \item [LID]: Library Interoperability Demonstration
  \item [NSRD]: National Software Reuse Directory 
  \item [RIG]: Reuse Library Interoperability Group
  \item [STARS]: Software Technology for Adaptable, Reliable Systems
\end{description}


\section{Biography}

{\bf Jim Moore} is a Senior Engineer at IBM's Federal Systems Company.  He 
currently works on the ARPA STARS program where he served as IBM's technical 
lead in the founding of the ASSET library.  He is a charter member of the RIG 
and serves as the chairman of its Executive Board.  He holds BS and MS degrees 
from North Carolina and Syracuse, respectively and is a member of the IEEE 
Computing Society and the Association for Computing Machinery.  He serves as a 
member of the Ada Federal Advisory Board and as a member of the U.S. delegation
 to ISO-IEC JTC1/SC22/WG9, the group responsible for Ada standardization.
 
\end{document}
