\markboth{Hobbs}{Hobbs}
%%%%%% 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      %%%%%%
 
\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{Hobbs}{Hobbs}
\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}
}

\input{epsf}
\begin{document}
 
\bibliographystyle{ieeetr}
 
\title{A Uniform Data Model for Reuse Library Interoperability}
 
\author{Elizabeth T. Hobbs\\
\\
ConQuest Software\\
9700 Patuxent Woods Drive, Suite 140\\
Columbia, MD  21046\\
Tel: (410) 290-7150\\
Email: hobbs@source.asset.com\\
}
\date{}
 
\maketitle
 
\begin{abstract}
Existing reuse libraries use different data models, classification schemes,
and terminology.  This diversity supports various domains, customers,
and technology explorations.  Unfortunately, the differences inhibit sharing
assets between libraries.  The inability to share reusable assets reduces
the asset pool available to reusers, potentially causing redevelopment of
assets.  The Reuse Library Interoperability Group (RIG) formed in 1991 to
examine interoperability between software libraries.  One RIG technical
subcommittee, TC2, has developed a data model defining information about
assets that libraries should exchange to support interoperability, known as
the Uniform Data Model (UDM).
 
\vspace{0.2in}
\noindent
{\bf Keywords:} reuse libraries, interoperability, data models.
 
\vspace{0.2in}
\noindent
{\bf Workshop Goals:}  To share the UDM with workshop participants and receive
feedback from them.
 
 
\end{abstract}
 
\newpage
 
\section{Background}
The Reuse Library Interoperability Group (RIG) \cite{Moo92} 
formed in 1991.  Terri
Hobbs has chaired TC2 since its creation in July 1991.  TC2 took the task of
developing a general data model to support interoperability between many,
widely divergent libraries.  As part of this effort, TC2 first developed a
subset data model for interoperability, the Basic Interoperability Data Model
(BIDM) \cite{RIG93a} that became a RIG proposed standard.  TC2 also completed
the draft of the UDM.  The UDM includes the BIDM and expands upon it. In
addition, TC2 has begun compiling a preliminary list of vocabulary terms
for use in some of the UDM (and BIDM) attributes.


\section{Position}

The UDM solves some of the difficulties with sharing assets between
diverse reuse libraries.  In particular, it defines an important set of
information that libraries should exchange about assets to support
interoperabilty.

\subsection{Why Interoperability?}



In \cite{Tra87}, Tracz identified access to reusable assets as a condition for
fostering widespread reuse.  Access involves locating reusable assets and
having the ability to obtain them.  Reusers working in one library might
have no knowledge of assets in other libraries.  Even if they discover
that an interesting asset resides in another library, the reusers would
still need accounts or other means of entering the other reuse library.
Interoperability, however, would allow libraries to make their publicly
available assets known to other libraries and would eliminate the need for
reusers to have direct access to other libraries.



Without interoperability, reusers browsing an unfamiliar library or
receiving assets from an unfamiliar library would need to learn how the
library modeled assets, how the classification scheme worked, and how
terms are defined.  Reuse researchers and practitioners have long recognized
understanding as a crucial problem.  Without interoperability, reusers would
spend increased time to understand an asset simply learning the other
library's representation of that asset.  With interoperability the other
library's data model would map to the familiar library's model, eliminating
one potential source of understanding problems for the reuser.


\subsection{Brief Introduction to the UDM}



The UDM and BIDM define a meta-model based upon the methodology and concepts
of ALOAF \cite{ALO92} and CDIF \cite{CDI91}.  The meta-model uses the following
entities: classes, a class hierarchy, class attributes, bi-directional
relationships between classes, and relationship attributes.  Figure 1 shows
the classes, attributes, and relationships of the UDM.


\begin{figure}[ht]
\centering
\leavevmode\hbox{ \epsfbox{hobbs-fig1.ps}}
\caption{UDM Class Hierarchy}
\label{f:overview}
\end{figure}


 
 
BasedIGObject class provides the basis for the other classes in the UDM.
The Asset class contains descriptive information about a reusable entity, or
"asset" (with lowercase "a").  The Element class models the discrete pieces
of an asset, for example, documents, source code, and test cases.  The Library
class provides information about repositories needed for the exchange of
assets.  The Organization class describes entities like people, companies,
and committees, defining only dat needed for the exchange of assets.
During an asset transfer, the sending library must fill all mandatory
attributes and relationships.  As an abbreviated example, if IBM authored a
reusable asset, Order\_Tracking, in the application area, Manufacturing, with
keyword Order, the appropriate data would appear as follows:

\begin{tabbing}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \= \kill
Asset     \>                    Organization  \\
Domain = Manufacturing   \>     Address = Owego, NY \\ 
Keywords = Order         \>     Fax = (555) 555-5555 \\
Name = Order\_Tracking    \>     Name = IBM  \\
WasCreatedBy  --------------$>$  \> Telephone = (555) 555-0000
\end{tabbing} 

The UDM and its subset, the BIDM, contain attributes with restricted
vocabularies.  As a supplement to the UDM and BIDM, TC2 will produce a RIG
document listing these vocabulary terms.  The attributes Domain,
ConformanceToStandards, Format, and LibraryClassificationMechanism, for
example, require controlled vocabularies.  The preliminary vocabulary
list for Domain includes Expert\_Systems, Configuration\_Management,
and Image\_Processing, among many other terms.  The attribute vocabulary
document will contain term descriptions so that mappings to these terms
remain consistent across libraries.



\subsection{What the UDM Accomplishes}



The UDM gives libraries a common representation for sending assets to each
other, eliminating the need for every library to create mappings to all
other libraries' data models.  The UDM also identifies important
characteristics for describing reusable assets, such as cost, certification,
language, warranties, target environment, location (IsLocatedIn), author
(WasCreatedBy), and contents (IsMadeOf).  In addition, the BIDM subset of the
UDM defines a data model that has formed the basis of the data model used by
ASSET's (Asset Source for Software Engineering Technology) on-line asset
catalog.  The UDM also provides a term set, consisting of the UDM attributes,
relationships, and attribute vocabularies, that libraries and people can use
to associate their diverse terminology.



\section{Comparison}



The STARS (Software Technology for Adaptable, Reliable Systems) Asset
Library Open Architecture Framework (ALOAF) project 
\cite{ALO92,Sol92} has
examined many of the same issues as TC2 and helped direct early TC2
efforts.  The ALOAF includes a meta-model, aspects of which appear in the
UDM meta-model.  The ALOAF also defines the Common Data Model for
interoperability.  The UDM uses some of the classes and attributes of the
Common Data Model.  The ALOAF, however, also considers services for
interoperability, which TC2 has just begun investigating.  According to
Solderitsh \cite{Sol92}, the ALOAF will incorporate the results of the RIG,
bringing the two efforts into agreement.  Finally, the ALOAF project
implemented and demonstrated interoperation between STARS libraries.

Another effort, the ASSET-CARDS-DSRS (Central Archive for Reusable Defense
Software) (Defense Software Repository System) project 
\cite{Fle93}, also has
investigated reuse library interoperability.  The project incrementally
prototyped interoperability first between ASSET and CARDS, and then among
all three libraries.  The implementation of interoperability among these
libraries gave the project valuable lessons learned, both related to
technical and business issues.  The lessons learned included the need for a
memorandum of understanding between the participating libraries, for an
interoperability plan, and for authentication of user distribution classes.
TC2 made immediate use of this effort by adding the DistributionStatement
attribute to the BIDM.



The scope of both these projects and TC2 differ, making exact comparisons
difficult.  These two projects have addressed many issues that fall outside
the scope of TC2.  In the area of data modeling, which these projects and
TC2 both tackled, TC2 considered a wider range of libraries in the
development of the UDM than ALOAF and ASSET-CARDS-DSRS examined in the
creation of their data models.



\bibliography{hobbs}

\section{Biography}



Terri began her "official" involvement in reuse in 1988 when she joined
the newly formed Westinghouse Reuse Working Group.  She and another
developer subsequently wrote the first version of the Westinghouse reuse
library mechanism, ReuSE.  In 1992, Terri also examined the feasibility of
classifying software from source code automatically and developed a program to
produce best-guess classifications for data structure and numeric function
Ada source code.  In addition, she has worked to put reuse principles into
practice while developing and maintaining different types of software tools,
written in FORTRAN, Ada, and C.  Terri currently works for ConQuest Software,
pursuing her interest in text search and retrieval that began during the
development of ReuSE.




 
\end{document}
