Loral Federal Systems--Owego MD 0210, Owego, NY 13827 Tel: (607) 751-6899/4889, fax: (607) 751-6025 Email: poulinj,keithw@lfs.loral.com
This paper describes a Reusable Software Library (RSL) interface and search tool implemented using Mosaic. Mosaic provides a simple, easy-to-use method to find and extract reusable assets from a RSL, allows distributed access to assets from a variety of platforms, and can support most of the features of formal RSLs without any modifications. Through the use of HTML forms, we implemented functions normally found in commercial-grade RSLs, such as component search, user registration, and problem reporting. Automatic generation of HTML pages and the use of command scripts further allowed us to provide different views of the RSL, such as search by subject. Finally, integrating the RSL with Wide Area Information Search (WAIS) provided a keyword search with minimal effort. Our Mosaic RSL cost less than 1% of the cost to develop a standard RSL and has quickly gained favor due to its intuitive interface and simple yet powerful information retrieval tools.
Keywords: Software Reuse, Reusable Software Libraries (RSL),
World Wide Web (WWW), Mosaic.
The quest for ways to improve the software development process has
led many organizations to pursue the substantial benefits available
through software reuse. To this end, these organizations have given a
lot of attention to technologies that facilitate reuse; application
generators, domain analysis techniques, formal methods, and
application frameworks. Many organizations focus their reuse
initiatives on a reuse library where members of the organization can
both store reusable assets and retrieve assets when they need them.
Traditional RSLs use specialized methods for component classification,
search, and retrieval. Unfortunately, these formal tools and
techniques require both a large investment to implement and
substantial training to use. For these reasons, many organizations
have seen little use of their RSLs even though they may contain a
large number of quality assets.
This paper describes a software reuse library (RSL) interface and
search ability using Mosaic [Ber92,Ber94]. We developed this interface for the
Loral Federal Systems Group RSL, which we refer to as the
Federal Reuse Repository (FRR). Mosaic provides an simple,
easy-to-use method to search for and extract reusable assets from the
FRR. With large organizations investing as much as 80 to 130
person-years to develop a formal RSL, the Mosaic interface cost
less than 1% of the cost to develop and maintain a standard,
commercial-quality RSL[Berg94,Pou95]. Nonetheless, the Mosaic-based RSL has
quickly gained favor due to its intuitive interface and powerful yet
simple features.
The Mosaic interface allows us to take advantage of the existing
AIX(TM) (UNIX(TM)) file structure and to generate multiple views of
the RSL, thereby allowing users to search for assets in several ways.
First, we provide a hierarchical view based on the original source of
the asset. Second, we provide an "asset by subject" view of the same
information. Third, we have implemented a keyword search using WAIS.
Finally, we have found that the tools and features of Mosaic such as
forms and the Common Gateway Interface (CGI) allow us to implement a
variety of common RSL functions such as registering users of RSL
components, logging statistics of module usage, and automatically
notifying users of the RSL (via e-mail) of component updates, problem
reports, and other RSL-related information.
The original Loral Federal Systems RSL provided a central repository
for sharing, managing, and reusing software-related products across
Loral Federal Systems sites. A copy of the RSL ran at each site and
operated in cooperative fashion with the RSLs at the other sites.
Together, the RSLs established a system of shared libraries; any
organization could establish a library to service the needs of a
department, project, business area, or higher organization.
The RSL ran on IBM's two major mainframe operating systems, Multiple
Virtual Storage (MVS) (TM) and Virtual Machine (VM) (TM), because
nearly every member of the company has access to these systems.
Although the RSL interface complied with the IBM Systems Application
Architecture (SAA) (TM) and Common User Access (CUA) (TM) interface
standards, developers repeatedly expressed the desire for a
workstation-style Graphical User Interface (GUI). This need increased
in priority as development work moved almost exclusively to
workstation platforms.
The search mechanism implemented in the RSL used a detailed
classification scheme based on the work of Prieto-Diaz and Freeman [Pri87,Pri91]. To locate a
component for reuse, a user invoked the RSL tool and specified
"facets," or pre-defined software attributes, and acceptable values
for those facets. The tool executed a search of the RSL database for
components classified with facet values equal to those specified by
the user. If the user felt satisfied with any of the components
located by the search, the user copied the component from the RSL onto
the user's local disk space. A detailed discussion of the
classification scheme and the issues surrounding this kind of
classification appears in [Pou93b].
In theory, this extensive and formal mechanism provides detailed
information upon which a user can search for and assess the usefulness
of reusable components. However, quite often the quantity and
formality of the information only serves to confuse the user. First,
the up-front presentation of large amounts of classifiers makes it
difficult to quickly extract the key bits of needed information.
Second, having a formal classification scheme requires users to
receive training in its use; untrained users will not effectively use
the mechanisms so carefully provided to assist them [Ygl93]. Users of the RSL demanded a simple, easy to
use keyword search that although might lack the precision of a formal
mechanism, required little or no training to use.
Users of the existing RSL made the first two requirements for our
replacement implementation explicit:
The remaining major requirements consisted of a set of constraints and
desired features.
Like many companies facing highly competitive markets, we sought the
most efficient and cost-effective means to manage our information.
The implied task involved porting the contents of the RSL tool from
the mainframe to a workstation-based environment. Furthermore, we
needed a way to not only locate reusable software but also a way to
locate other items of interest such as key personnel, information
about ongoing programs, the latest developments in various
technologies, and trade studies previously conducted by our company.
The desired information retrieval tool had to handle all these types
of information.
Since many Loral Federal Systems customers require compliance with
"Open Systems" platforms, much of our software development staff works
in an AIX or UNIX environment. However, we also have a large
population who work with and integrate local area networks based on
the DOS or OS/2 (TM) operating systems. Finally, we required
compatibility with the host legacy systems, especially for support
personnel. We sought an information retrieval tool accessible by
users on all these platforms and one that did not restrict the user's
access to information which happens to reside on any other platform.
Of course, we especially desired a system that would cost very little to
build and maintain.
The detailed classification scheme described above brought with it the
burdensome process of manually classifying every component a user
entered into the RSL. To avoid this, we wanted the ability to
automatically or semi-automatically index components in the RSL, even
if this meant losing a detailed search ability for the RSL. However,
users felt that keyword searches adequately met their search needs
despite their poor precision relative to that available with facets.
With all the power resting on their desktops, users felt they could
afford several attempts at locating a suitable component.
Because the tool would provide a search mechanism for more than just
code the tool needed to have the ability to launch other tools such as
browsers, viewers, and programs that handle diverse kinds of
information such as multi-media. From security reasons we also needed
an access control ability to limit access to the RSL to authorized
users. Finally, we considered several additional features that we
wanted to have:
Finally, everyone insisted that the tool have very good performance.
We reviewed a number of specialized reuse library tools against the above
requirements and now discuss some of the results.
Among the tools we considered, the ReDiscovery (TM) information
retrieval tool from IBM allows users to create
and search meta-databases of information about virtually any kind of
database or file system.
However, ReDiscovery requires the user to create and maintain these
meta-databases and it only runs on OS/2.
We briefly looked at two IBM internal use tools but dropped them for
consideration when IBM sold their Federal Systems Division (to which
we belong) to the Loral Corporation. We first considered an OS/2
LAN-based tool, called the Reuse Library System (RLS), which provides
users with a easy-to-use GUI interface components stored on an OS/2
LAN. The second of these tools, called XGuru, automatically
indexes any collection of text files using a highly intelligent
information retrieval algorithm [Maa91]. Created
by IBM research and in use at several IBM locations, XGuru allows the
user to ask natural language queries. By using the same algorithm
used to index the information XGuru returns candidate files in a
ranked order of preference.
The public domain contains a specialized tool called the STARS Reuse
Library (SRL), one product of the United States Advanced Research
Projects Agency (ARPA) Software Technology for Adaptable, Reliable
Systems (STARS) program. The Asset Source for Software Engineering
Technology (ASSET) program uses the SRL to manage it's reuse library.
The SRL has a friendly system of menus and built-in security,
browsers, and librarian tools. However, it requires an underlying
Oracle (TM) database and has no GUI interface [ASSET].
Finally, we considered the InQuisiX (TM) reuse library from
the Software Productivity Solutions Corporation. SPS sells the
InQuisix tool to companies who want a full function library tool. It
met our requirements for GUI interface, distributed data management,
and integration of multiple media types, but only ran on a limited set
of platforms. The greatest disadvantage of InQuisix came from its
requiring a license for every user of the tool, thereby leading to a
cost we did not want to incur [Don94].
Among the options for free, shareware, or public-domain tools, we
considered numerous utilities that have recently become popular for
resource discovery on the Internet [Obr93]. As
opposed to specialized library tools and commercial products each of
these tools runs on a wide range of operating systems and platforms.
The popularity of these products, as demonstrated by the their
explosive growth and wide distribution, gave us confidence in their
use despite the lack of official `support.'
Anonymous FTP sites provided perhaps the simplest and cheapest overall
solution. A common method to distribute software and one that
requires no special tools, it lacks a user-friendly interface and
requires some training to use in its basic form. FTP also has no
search ability and works best only when the user knows exactly where
and for what to look.
Archie and Gopher both provide client-server methods of traversing
pre-established lists of information at distributed sites. Both use
primarily character interfaces, even in their GUI versions. Although
Gopher does not have a search ability, Archie searches files at
anonymous FTP sites for a user-specified filename or part of a
filename; it does not search file contents. We would have to use
additional tools, such as VERONICA, to provide text search ability.
Finally, the tool that met nearly all of our requirements came in the
form of Mosaic. Mosaic provides a client-server method of traversing
pre-established menus (presented to the user as "pages") via hypertext
links. Although Mosaic does not have a search ability, WAIS provides
a keyword search that integrates tightly with the Mosaic interface.
Mosaic runs on every platform we required, handles multi-media, has
the ability to launch external applications and viewers. The html
forms capability allows us to easily implement most of the reuse
related features (such as user registration and problem reporting)
that do not come by default with the stock Mosaic server (such as
usage statistics).
Porting the contents of the RSL from the mainframe to distributed
platforms demanded reorganization of the FRR assets from the flat file
system on the mainframe to the hierarchical system used by AIX
systems. Each FRR component normally comes in its own file, along
with up to 15 files containing information supporting its use; e.g.,
design specifications, an abstract, and integration instructions. We
made the natural choice to store an asset and its supporting
information together in one AIX directory. We then chose to organize
the groups of assets based on source; e.g., a parent directory for all
components supplied by Program A or licensed from Company
B. Although this organization may not necessarily make it easy for
reusers to locate assets, it made control of the assets much easier.
We decided to provide alternate views (or indices) of the FRR, such as
grouping assets by function, using html pages. The use of the
hierarchical file system not only allowed a very nice way to organize
the FRR contents, but it obviated the need for an underlying database
system to manage the data and therefore required little investment
and effort.
The second major consideration concerned security. Again we relied on
the safeguards already in place in our environment; Andrew File
System (AFS) Access Control Lists (ACLs) and standard AIX file permissions
allowed us to grant and deny access to the FRR. We actually authorize
users through the use of subnet masks based on Internet Protocol (IP)
address; this allows us acceptable level of access control to users
throughout Loral Federal Systems.
The figures show the implementation of the FRR using Mosaic. Figure 1
shows the FRR Home Page. As shown, we currently provide three ways to
browse the FRR; (1) by a hierarchical view which mirrors the
organization in the AIX file system, (2) by subject based on the major
function or service provided by the component, and (3) via keyword
search using WAIS.
We sorted the hierarchical view based first on implementation
language. If the user selects the Ada programming language, the
mosaic page shown in Figure 2 appears. This page lists the various
sources of reusable Ada software. Selecting "Circuit Card Assembly
and Processing System (CCAPS)," one of the programs that produced
software for the FRR, results in the page shown in Figure 3.
Figure 2: The Ada Language Home Page
Note that monitors and a semaphore both appear as
components supplied from the CCAPS program. This hierarchical
approach shows one way a user can get to this information. The user
can also get to these same components using the second method on the
FRR Home Page; Figure 4 shows the page produced if the user elects to
search the FRR, arranged by Subject. Note that
Synchronization Components appears on the FRR component listing by
subject. Since monitors and semaphores both provide synchronization
functions, the user will find them on the Synchronization
Components page along with other monitors, events, barriers, locks,
pulses, and related Ada language synchronization from sources other
than CCAPS.
Figure 4: The FRR, Arranged by Subject
The third search option consists of a standard ISINDEX WAIS search
form. Because WAIS integrates well with xmosaic, we selected it for
simple keyword searches of the FRR. By using the classification data
from the original RSL to index the WAIS database we feel we have
achieved a reliable index for keyword searches.
The Repository Based Repository for Software Engineering (RBSE)
research and development group has developed the Multimedia Oriented
Repository Environment (MORE) using Mosaic and the Web as its sole
user interface. MORE provides client browsing, search, repository
definition, and data entry through Web clients. Unlike the system in
this paper, MORE uses a meta-data based repository, or a database that
contains information about the reusable assets rather than the actual
assets. With the exception of the system home page the MORE
dynamically generates the entire user interface [Eic94].
Our future activities include providing several searching capabilities
for retrieval of software modules and associated documentation based
on the Structured Abstract concept proposed in [Pou93a]. The Structured Abstracts will allow users
to provide a more detailed search than the simple keywords offered by
WAIS by using the classification information previously developed for
the original RSL. Using html forms for the Structured Abstracts will
also allow us to keep the simple, easy-to-use GUI interface. To
provide access to the FRR to users of ascii-only terminals such as
3270 protocol sessions, we plan to implement a Lynx interface.
We will complete implementation of html forms for the "check
out/check-in" capabilities of the Software Reuse Library via a
back-end database and the webserver CGI. Keeping in mind the desire
for a simple, intuitive tool, we plan html forms for component user
registration, problem reporting, and submission forms for new software
modules. In addition, we will also look at integrating documentation
(authoring) tools into the RSL environment to allow users to make
their own html hyper-linked documentation point to the relevant
reusable software modules in the FRR.
The authors would like to acknowledge Jim McKinstry for his early work
on this project and Allen Matheson of the Cimarron Corporation for his
continued support of the FRR and key role he has had in implementing
the work described in this paper.
Dr. Poulin works with the Advanced Technology department of Loral
Federal Systems-Owego where he
serves as Principal Investigator (PI) for Open Systems Environment
Independent Research and Development (IRAD). His past Loral Federal
Systems-Owego responsibilities include:
Dr. Poulin formally served with the IBM corporate Reuse Technology
Support Center (RTSC) where his responsibilities included reuse
standards, economics, and legal issues. As part of his reuse metrics
work, he helped lead the development of the IBM reuse measurements and
return on investment (ROI) model. His background includes semantic
data modeling in object-oriented database systems with a focus on
support for Computer Aided Software Engineering (CASE). He
participates in the Association for Computing Machinery and the IEEE
Computer Society. A Hertz Foundation Fellow, Dr. Poulin earned his
Bachelors degree at the United States Military Academy at West Point
and his Masters and Ph.D. degrees at Rensselaer Polytechnic Institute
in Troy, New York.
Dr. Werkman, formerly employed by IBM's Federal Systems Company in
Owego, NY, now participates as a member of Loral Federal
Systems-Owego's Advanced Technology department assisting as one of the
sites resources in artificial intelligence (AI). One of his research
tasks integrates AI into a variety of new and existing business
areas. Dr. Werkman has worked on developing AI tools with multimedia
interfaces to support these enhanced user environments at LFS-Owego.
His research interests include using distributed AI to support a
variety of user information environments including those for software
reuse, agile manufacturing, concurrent engineering, group decision
support systems and groupware. He participates in the American
Association of Artificial Intelligence (AAAI), Association of
Computing Machinery (ACM), ACM SIGART, and IEEE Computer Society.
Dr. Werkman earned his Bachelors and Masters degrees from Lehigh
University in Bethlehem, PA. While employed as a National Science
Foundation Engineering Research Center (NSF-ERC) Fellow at the ATLSS
Center and Lehigh, Dr. Werkman earned a doctorate in Computer
Science based on his distributed AI negotiations research. Dr.
Werkman has over 30 publications in the areas of Distributed
Artificial Intelligence (DAI), Concurrent Engineering (CE), AI in
Design, Computer Supported Cooperative Work (CSCW), Design for
Manufacturability (DFM) and Enterprise Integration (EI).
poulinj@lfs.loral.com or keithw@lfs.loral.com
1. Background
2. Reusable Software Libraries
3. Requirements for the RSL
3.1 Constraints
3.2 Desired Features
4. Possible Solutions
5. Approach using Mosaic
6. Related Work
7. Future Work
8. Acknowledgements
Cited References
10. Vitas
Jeffrey S. Poulin, Ph.D.
Keith J. Werkman, Ph.D.
For more information, contact: