The Emerging Market in Adaptable and Reusable Software Components

Impact on System Engineering and Enterprise Integration

John S. Morrison, President Technology Transfer International, Inc. 6736 War Eagle Place Colorado Springs, CO 80919-1634

Telephone and fax: (719) 260-0925

1 Overview

Technology Transfer International, Incorporated has launched the first phase of a global study on the technology and processes of software reuse and information factories. The study team includes M.I.T. Associate Professor Michael Cusumano, author of Japan’s Software Factories, and Dr. Adele Goldberg, CEO of ParcPlace Systems and former leader of the Xerox PARC team which developed SmallTalk. Professor Cusumano will serve as Editor of the study report, and Dr Goldberg will contribute as an author and analyst.

The study aims to collect quantitative and qualitative data to resolve the following issues:

• Why should companies adopt software reuse tools and processes?

• How can companies establish efficient internal software reuse programs?

• What is the payoff from using object-oriented concepts?

• What market factors are associated with reusable software components?

• How should companies perform make-versus-buy decisions for software?

• How should software developed through outsourcing be managed and integrated?

• What is the payoff of software metrics programs?

• What will software and information factories of the future be like?

The study will be accomplished in three phases. The first phase will focus on Japan, the second phase on Europe, and the third phase on the U.S. Each phase will result in study products. The extended study, encompassing all three phases, will eventually sample organizations in eleven industries and seven countries. The Japan phase of the study is now in progress and will be completed in March, 1992.

2 Emerging Market

Software reuse is a method of software system development which creates systems from modular software components, each of which are designed to be adapted to a wide range of applications. The approach has the potential for significantly reducing both the cost and the time associated with the development of computer software. Dr. Brad Cox, Stepstone Corporation, has been a leading advocate of software reuse since 1982, and has promoted the creation of a market in “software ICs” as a means for meeting the growing world demand for software. We believe that such a market is now on the horizon, and that it has international dimensions.

The emergence of a market in adaptable and reusable software components and flexible data and information components will spark significant changes in how software is developed, integrated, tested, marketed and supported. These concepts have already spawned small companies intent on creating reusable software components, motivated larger companies to look for sales outlets for internally developed modules, and stimulated third party companies to act as brokers for software components. Commercially available software components will ultimately be used like “Legos” to rapidly construct software systems, and help meet the overwhelming commercial and government demand for software. Reuse concepts are changing the way the U.S. Government and commercial companies view software acquisition. Such concepts have the potential to profoundly affect the international market in software. There is some evidence that an international trade in software components already exists between some U.S. companies and some third world firms who are able to deliver source code cheaply. Japanese software factories reportedly have high internal reuse rates, and may become a strong international development force in the future.

While the U.S. Government and some private companies are poised to enter, shape or create a software reuse marketplace, many of the approaches to the market advocated by industry and government appear to be based on theoretical considerations of the technology rather than on analysis of user needs. Such primary field data will be essential to establishing the trading mechanisms, technology focus, and investment strategies important not only for the success of the market, but for the business success of individual companies participating in that market. The “flip-side” of such a market is enterprise engineering and system integration.

The emerging market reflects global forces driving system development and enterprise engineering to ever greater levels of efficiency. High efficiency will be a requisite for business survival in a global economy, and will demand world-class approaches. While a market in software components could yield an increasing level of outsourcing during system development, it also presents the challenge of how to integrate such components, given that there exists some mechanism to find them. The concept of an “integrating” framework has achieved some success. In the Department of Defense’s Strategic Defense Initiative (SDI) program, a simulation framework was used to integrate simulation models of the various elements comprising the “Star Wars” system. The framework provided simulation services and a model of the global environment in which the various elements operated. The Computer Aided Design (CAD) Framework Initiative, which includes Motorola, Sun Microsystems, Microelectronics and Computer Consortium (MCC), and Digital Equipment Corporation is examining the problem of tool integration for integrated circuit development. An even more ambitious program is the Engineering Information Systems (EIS), which will develop a framework for engineering design automation. The EIS project joins Xerox, TRW, MDAC, CLSI, and ASU in an effort to provide designers with a homogeneous view of data resident within a heterogeneous hardware environment. With the emergence of DoD’s Computer Aided Logistics System (CALS), concurrent engineering, and enterprise-level modeling initiatives, the need for a broad-based integrating infrastructure becomes paramount. Such an infrastructure must span engineering, business, enterprise and product lines.

In between those organizations concerned with integrating large systems and those enterprises which build pieces of systems are the toolmakers. Often they must follow in the footsteps of the large integrators who, through joint ventures and consortia, establish de facto standards. The Open Document Architecture Consortium, for example, was formed to develop and promote an open system for exchanging electronic documents. The group includes the U.S.-based companies IBM, DEC, and UNISYS; U.K.-based ICL Plc; Groupe Bull of France; and Siemans Nixdorf Informationssysteme A.G. of Germany. It does not include toolmakers. The world’s first formal Computer Aided Software Engineering (CASE) tool standardization effort, however, does include toolmakers. Known as PCTE, for Portable Common Tool Environment, the standard was recently adopted by the European Computer Manufacturer’s Association. One critical capability which toolmakers must provide is the ability to adapt and re-engineer software and information components to fit into the variety of frameworks which will undoubtedly exist in the future. If toolmakers are to provide such enabling technologies for integration, they must have a source of information on the constantly changing terrain of information standards.

This particular research study aims to help fill a void in available data by going directly to those companies and agencies most likely to be on the “front lines” of the technology transfer marketplace. These companies are the system integrators, the component developers, the toolmakers, and the information brokers.

3 Reuse Initiatives and Opportunities

The creation of a national market in reusable software components would ease the cost of development and maintenance of software. The U.S. Department of Defense (DoD) is interested in the concept because such a market could mitigate the current software crisis, and assure a ready pool of high quality software components from which larger systems could be quickly constructed. DoD software reuse initiatives include:

• The DoD Software Master Plan, which specifies reuse objectives;

• The Strategic Defense Initiative (SDI), which has established reuse as part of its mission critical software development strategy; • The Defense Advanced Research Projects Agency (DARPA) which funds the Software Tech-

nology for Adaptable and Reliable Systems (STARS) program, and ASSET, the national asset library and registry for software components, now in development;

• The Joint Integrated Avionics Working Group (JIAWG), consiting of programs from different services mandated by Congress to be interoperable. These participating programs have been developing a concept for sharing software components through cooperating reuse libraries;

• The Army RAPID program, which is an operational software reuse library;

• The Air Force RAASP (Reusable Ada Avionics Software Packages) program;

• The Ada Joint Program Office (AJPO), which is encouraging software reuse in Ada components;

• The Reuse Interoperability Group (RIG), a national joint government/industry working group to define standards for reusable software components and libraries.

Commercial companies stand to benefit from a market in reusable components:

• Companies such as IBM which have established ectensive internal programs of software reuse could extend those internal programs to an external market. A controlled extension of software component libraries could provide such companies with an additional source of revenue, and could encourage software standardization, interoperability and technology transfer among strategically allied companies. Westinghouse appears to have adopted such a strategy.

• Companies such as EVB and Booch’s Wizard make and market components. In addition, EVB has become a broker for Westinghouse software components.

• Availability of software components could reduce time to market for companies developing systems.

• A software market would allow large industrial companies to rapidly create integrated software systems which better match their internal engineering and production processes, avoiding the rap of “one-size-fits-all” applications.

• Software component based systems could be more rapidly adapted to changing technology standards. This will be particularly important for companies whose products interface with a variety of other “moving train” technologies.

A market in reusable software components could make companies more competitive by facilitating technology transfer and technology insertion. A global market could provide a mechanism for rapidly diffusing new technology into a wide spectrum of software-based products worldwide. International developments support the concept of such a market:

• The Japenese have proposed a multinational Computer Integrated Manufacturing Initiative which could create software standards for large-scale robotic-based manufacturing systems.

• Nokia, a Finnish electronic systems conglomerate, is applying Ada and reuse to development of an automatic teller machine network for the banking community.

• Software companies in the United Kingdom, France, Sweden, Canada and Germany are investing in research and development of object-oriented and object-based design technologies.

• Sema-Metra, a large French conglomerate, is using an Ada-based approach with extensive reuse in an effort to standardize on control software for the French nuclear power industry.

• Virtual reality, hypermedia, neural networks and the OSI Network Management Forum represent technology areas which are supportive of software reuse concepts and markets.

4 Relationship between Enterprise Integration and the Software and Information Component Market

A key relationship to be examined in the study will be the one linking the software and information component market with enterprise-wide integration systems. Enterprise integration goals established by governments and industries cannot be met with brittle, monolithic information systems, since the technology “substrate” on which such systems must be built – the networks, computers, displays and decision aids – will change with time. Such systems must therefore accomodate rapid change across all parts of their structure. Also, since much of the data they handle will come from a variety of sources external to the system – sources over which the enterprise has no control – they must be built to accomodate rapid changes in the structure of data which they manipulate. Software and information components – designed from the start to be re-engineered, and adapted for use from a variety of internal and external sources – will be the building blocks for evolving systems and the objects which such systems manipulate. That is, they will be both the subject and the substance of future enterprise-wide integration systems.

In the design of software systems, one factor which dominates the cost of projects and the probability of success or failure is how well project team members understand the problem domain associated with the project. For very large and complex problems such as enterprise integration, finding a team, or even technical leadership, with the right expertise across all aspects of the project will be difficult. Software and information components will be a way of packaging expertise from external sources in a way that it can be manipulated by non-experts. Such components, then, could become a primary mechanism for technology transfer within enterprise integration systems.

5 Tests for Success of Software Reuse Approaches

No program can be effective unless clear objectives are defined beforehand. Such objectives are necessary in order to determine whether the program has succeeded or failed. In this respect, software reuse programs are no different from other programs. We believe that government and corporate managers will be unwilling to commit resources to programs where the payoff is ill-defined, where the implementation path is fuzzy, and where performance against pre-determined objectives cannot be measured. We therefore offer a set of criteria which may be used to judge the degree of success in software reuse.

In principle, success (or failure) may occur at several different levels. We propose that at the national or international level, the criterion for success of software reuse is that a market exists in software components. At the corporate or program level, our criterion for success is that a reuse culture has been institutionalized. At the project level, the criterion is that systems have been developed, maintained and improved with reuse in mind. The final touchstone is the consumer criterion, which is that reuse yields lower cost and higher quality products. These levels of success and associated criteria are summarized in the table below.

Level  Criterion
International A market exists

National

Corporate  A reuse culture is Institutionalized

Program

Project  Systems are developed, maintained

and improved with reuse in mind

Consumer  Reuse yields lower cost and

higher quality products Table 1. Levels of Success in Software Reuse.

The issue of whether or not, or to what degree a software component market can be resolved by asking a set of market-related questions such as:

• Is there a pattern of software outsourcing?

• Are there suppliers, consumers, and brokers?

• Do well-defined distribution channels exist?

• Are there market mechanisms which help match the needs of consumers with the capabilities of suppliers?

• Is there a system of licenses or fees for software components?

• Are economic models used for make-versus-buy decisions?

The issue of whether or not, or to what degree reuse is institutionalized can be resolved by asking a set of institutional questions:

• Are there policies and standards for reuse?

• Is reuse incorporated into the design process?

• Are reuse metrics collected, evaluated and reported?

• Are thre formal reuse training programs?

• Are there economic incentives for reuse?

• Is there an operational reuse library?

• Are components in the library maintained?

• Are standards, tools and frameworks provided to design, assemble, integrate and test software component-based systems?

The issue of whether or not, or to what degree reuse-based systems are developed, maintained and improved can be resolved by asking a set of developmental questions:

• Have systems been developed which incorporate reusable software components?

• What proportion of developed systems are comprised of reused or re-engineered modules?

• Are software component-based systems maintained through replacement or modification of components?

• Is the functionality of software component-based systems extended through the addition of components?

The issue of whether or not, or to what degree systems built from reusable components meet the consumer criteria of quality and affordability can be evaluated through consumer opinion surveys and objective analyses.

6 Summary

TTI’s world-wide study will collect information on software reuse, software outsourcing, software measurement, and software integration procedures, practices, tools, and methods. The three-phase study, financed through the contributions of sponsoring companies and through the international sales of study reports, should yield new data on the payoff of software reuse, and help chart the most prominent features of the emerging market in adaptable and reusable software components.