Software Reuse Libraries with Mosaic
Jeffrey S. Poulin and Keith J. Werkman
Loral Federal Systems--Owego
MD 0210, Owego, NY 13827
Tel: (607) 751-6899/4889, fax:
(607) 751-6025
Email: poulinj,keithw@lfs.loral.com
Abstract
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.
The 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 a 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
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.
Figure
1: The FRR Home Page
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
Figure
3: The CCAPS Home Page
Note that monitors and semaphores
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 mosaic, 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 Abstracts 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 web server 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.
[ASSET]
Asset Source for Software Engineering Technology (ASSET), Building 2600, Suite
2, 2611 Cranberry Square, Morgantown, WV, 26505, e-mail: info@source.asset.com
[Berg94]
Berg, Klaus, “CLASSLIB - Class
Management and Reuse Support on a MVS Mainframe,” Reusability Track of the
1994 ACM Symposium on Applied Computing (SAC’94), Phoenix, Arizona, 6-8
March 1994, pp. 53-58.
[Ber92]
Berners-Lee, Tim, Robert Cailliau, Jean-Francois Groff, and Bernd Pollermann,
“World-Wide Web: The Information Universe,” Electronic Networking: Research,
Applications and Policy, Vol. 11, No. 2, Meckler, Westport, CT, Spring
1992.
[Ber94]
Berners-Lee, Tim, Robert Cailliau, Ari Luotonen, Henrik Frystyk Nielen, and
Arthur Secret, “The World-Wide Web,” Communications of the ACM, Vol. 37,
No. 8, August 1994, pp. 76-82.
[Don94]
Donaldson, Cameron, “InQuisiX: An
Electronic Catalog for Software Reuse,” SIGIR Forum, Vol. 28, No. 1,
Spring 1994, pp. 8-12.
[Eic94]
Eichmann, David, Terry McGregor, and Dann Danley, “Integrating Structured
Databases Into the Web: The MORE System,” First International Conference on
the World Wide Web, Geneva, Switzerland, 25-29 May, 1994.
[Maa91]
Maarek, Yoelle S., Daniel M. Berry, and Gail E. Kaiser, “An Information
Retrieval Approach for Automatically Constructing Software Libraries,” IEEE
Transactions on Software Engineering, Vol. 17, No. 8, August 1991, pp.
800-813.
[Obr93]
Obraczka, Katia, Peter B. Danzig and Shih-Hao Li, “Internet Discovery
Services,” IEEE Computer, September 1993, pp. 8-22.
[Pou93a]
Poulin, Jeffrey S., “Automatic Generation of a Rapid Assessment Aid for
Reusable Components,” Research Proposal, Loral Federal
Systems-Owego, Owego, NY, 18 July 1993.
[Pou93b]
Poulin, Jeffrey S. and Kathryn P. Yglesias, “Experiences with a Faceted
Classification Scheme in a Large Reusable Software Library (RSL),” Seventeenth
Annual International Computer Software and Applications Conference,
Phoenix, AZ, 3-5 November 1993, pp. 90-99.
[Pou95]
Poulin, Jeffrey S., “Populating Software Repositories: Incentives and Domain-Specific Software,” to
appear, Journal of Systems and Software, spring 1995.
[Pri87]
Prieto-Diaz, Ruben and Peter Freeman, “Classifying Software for Reusability,” IEEE
Software, Vol. 4, No. 1, January 1987, pp. 6-16.
[Pri91]
Prieto-Diaz, Ruben, “Implementing Faceted Classification for Software Reuse,” Communications
of the ACM, Vol. 34, No. 5, May 1991, pp. 88-97.
[Ygl93] Yglesias, Kathryn P., “Limitations of Certification
Standards in Achieving Successful Parts Retrieval,” Proceedings of the 5th
International Workshop on Software Reuse, Palo Alto, California, 26-29
October 1992.
Jeffrey S. Poulin, Ph.D.
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.
Keith J. Werkman, Ph.D.
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).
For more information, contact: poulinj@lfs.loral.com or keithw@lfs.loral.com