Recent work in interconnecting software reuse libraries has implications which suggest that a software component industry may have much greater diversity than previously expected.
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 non-trivial, 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 [#!Ber93!#] 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:
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:
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) [#!RIG93!#], 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 [#!Lil91!#]. 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.