The Impact of Reuse Library Interoperability upon a Software Component Industry

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

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.

Keywords: Software reuse, reuse libraries, reuse industry, reuse economics, interoperability, standards.

Workshop Goals: Improve understanding of the requirements for a software reuse industry.

Working Groups: Reuse management, organization and economics.

1 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.)

2 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.

• 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.

• 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.

• The Reuse Library Interoperability Group (RIG) has recently completed the first of a planned series of proposed standards intended to facilitate interoperability.

• The ASSET library is creating a National Software Reuse Directory.

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 nontrivial, 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 [1] 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:

• a storage layer which safely preserves the software components • a catalog layer which adds value by indexing the components in ways intended to be useful

• a user interface layer which presents the catalogs and other services to the user.

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:

• Safely storing and preserving components for future access.

• Performing value-added indexing of components selected from various storage libraries.

• Providing powerful user interfaces which allow access to various catalogs.

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) [2], 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 [3]. 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.

3 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:

• 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.

• 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.

• 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.

• 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.

References

[1] P. Berggren, “Library Interoperability Demonstration,” in Proceedings of the DARPA Software Technology Conference, (Salt Lake City, Utah), April 1993.

[2] “Basic Interoperability Data Model,” Tech. Rep. RPS-0001, Reuse Library Interoperability Group, 1993.

[3] C. W. Lillie and J. W. Moore, “Asset Source for Software Engineering Technology (ASSET) Software Reuse and Reengineering,” in NISQP Software Reuse and Reengineering Conference, (Alexandria, VA), April 1991.

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:

• 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;

• STARS developed the ALOAF technology which was the basis of the LID demonstration; and

• STARS was a charter member of the RIG and has supported its efforts both technically and financially.

4 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:

AIAA : American Institute of Aeronautics and Astronautics ALOAF : Asset Library Open Architecture Framework ARPA : (Defense) Advanced Research Projects Agency ASSET : Asset Source for Software Engineering Technology BIDM : Basic Interoperability Data Model CAD : CARDS/ASSET/DSRS CARDS : Central Archive for Reusable Defense Software DSRS : Defense Software Repository System IEEE : Institute of Electrical and Electronic Engineers LID : Library Interoperability Demonstration NSRD : National Software Reuse Directory RIG : Reuse Library Interoperability Group STARS : Software Technology for Adaptable, Reliable Systems

5 Biography

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.