%%%%%% TEMPLATE.TEX for WISR'93, version 1.2, 4/22/93 %%%%%%
%%%%%% Updated by Jeffrey S. Poulin, May 1993         %%%%%%
\markboth{Arya}{Arya}
\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{Arya}{Arya}
\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{alpha}
\bibliographystyle{ieeetr}
 
\title{Software Reuse on RCAS}
 
\author{Pamela K. Arya\\
\\
General Research Corp.\\
1900 Gallows Road, Vienna, Va. 22101\\
Tel: (703) 827-4282, Fax: (703) 827-4299\\
Email: parya@grci.com\\
}
\date{}
 
\maketitle
 
\begin{abstract}
In this position paper, I will describe the current state of the Reserve
Component Automation System's reuse program. As the team leader of the reuse
program, I have found that creating reusable components for a specific, active
development effort is very different than creating components for a generic
reuse library or even a domain specific library. I will also describe future
plans for measuring the amount of reuse in our code and which components are
the most popular.
 
\vspace{0.2in}
\noindent
{\bf Keywords:} RCAS reuse program, developing reusable components, measuring
reuse
 
\vspace{0.2in}
\noindent
{\bf Workshop Goals:} 
To share experiences with other pracitioners who are running
similar reuse library programs. To discuss models for measuring reuse and the
financial savings produced. To compare the effectiveness and functionality of
various reuse tools.
 
\vspace{0.2in}
\noindent
{\bf Working Groups:} reuse process models, reuse education,
position paper guidelines.
 
\end{abstract}
 
\newpage
 
\section{Background}
My work in reuse began on a contract that supported the Army RAPID Center (now
ARC - Army Reuse Center). In this position, I certified over 500 reusable
components, analyzed components for reusability, evaluated the certification
process and taught a tutorial in the use of RAPID's library tool. After
changing
employment to General Research Corp., I became the head of the reuse team for
GRC's software development work on RCAS. My responsibilities include 
identifying and developing reusable components, encouraging donation 
of components, and
promoting their use as well as developing a formal reuse plan, setting goals,
and measuring reuse. In addition to my activities on RCAS, I am GRC's
represent-itive to the STAR's TT affiliates program and an active member of the RIG's
technical commitee 2 which I represented on a panel at ANCOST'93.


\section{Position}
The RCAS Reuse team supports over 100 software engineers who have donated 754
reusable Ada packages and 358 data objects (reusable SQL code). We also have
reusable error messages and EVB's Grace components. The engineers have just
finished the Block 1 phase of development where there was exstensive use of the
reusable components to minimize the impact of an agressive schedule. This large
volume of code now provides the opportunity to analyze the reuse habits of over
100 developers.  By using GRC's commercial analytic tool ADAQuest to examine
the
Diana trees, we will be able to count all uses of package calls, types, generic
instantiations, derived types, and renames.

I think this will help to answer an important question that doesn't seem to be
discussed enough: What are the attributes of a successful reusable component ?
Are COTS components preferred to those developed by one's colleague ? Is size a
factor in the popularity of a component ? Do software engineers really crave a
doubly-linked list or do they prefer functionality more specific to their
development efforts ? We will be looking at these sorts of factors in the next
few months after the ADAQuest tool is modified to produce the desired numerical
data. Maybe other practitioners at the workshop can suggest interesting metrics
and factors to analyze.

\section{Comparison}
Unfortunately I really do not know of anyone who is working on populating a
reuse library for an active development effort in a multi-level secure 
environment. Also, due to contractual reasons, 
we may not reuse government furnished
components. I think that the closest work to ours would be domain specific
reuse
efforts where components from one project are installed in the library targeted
for use on designated future projects. In our case components are installed at
the request of the software engineer for immediate use. Since the reuse team
and
the developers are working on the same site, there is much more human 
interaction and a quicker response time to maintenance and 
enhancement requests. It
would be interesting to compare the number of such requests more generic
libraries receive to the number of requests we receive.

\section{Background}  
Pamela K. Arya heads the reuse team on the Reserve Component Automation System
development effort for General Research Corporation, Vienna, Va. Her
responsibilities include developing a reuse plan, 
developing and indentifying reusable
components and measuring the results of reuse. She was previously a Senior
Software Engineer for SofTech in support of the Army Reuse Center. Before that
she worked for Computer Science Corporation developing attitude ground support
systems for GSFC NASA. She received a M.S. in Computer Science from The Johns
Hopkins University in 1992 and a B.S. in Geology-Physics from Brown University
in 1984.


\end{document}
