|
ATP
FOCUSED PROGRAM: Component-Based Software
Potential for U.S. Economic Benefit. When the average person thinks of "software," they think of packaged, commodity softwareaccounting spreadsheet programs for home and office, PC-based word-processing programs, even entertainment software such as games. But all the shrink-wrapped packaging in neighborhood computer stores represents only a relatively small fractionperhaps about 15 percentof the domestic installed base of software. The vast majority of the work is in major custom applications for large customers: complete systems for financial services, manufacturing, or chemical processing, for example. And this 85 percent of the software industry bears a strong resemblance to many industries of the early 19th centuryvirtually all of the products are expensive, hand-crafted, error prone, one of a kind. Large industrial software systems tend to be monolithic. In general, while there is an emerging trend toward incorporating customized versions of commercial applications in larger systems, this trend has only begun to affect a few key software pieces such as databases. As yet, individual pieces of a system cannot be reused easily (except perhaps in the same company) because of the close cooperation required between the programmer and the systems integrator. By most estimates, over half of all large application development projects in this industry end in failureafter all the time and money is spent, the product still cannot be used operationally. The goal of the ATP Component-Based Software focused program is to develop the technologies needed to enable systematically reusable software componentsrelatively small, carefully engineered software elements suitable for a broad array of applications. These technologies would enable software companies to build specialized components that can be sold to systems integrators and custom builders, who would combine them with other, largely purchased, off-the-shelf components to create high-quality custom applications. From the point of view of system integrators and custom end users, software tools would automatically match components to applications systems, ensuring compatibility and reliability. Numerous sources of cost and error in application development would be eliminated. Major applications would no longer be large monolithic structures built from the ground up but rather assemblies of smaller components, competitively purchased from vendors who would have the specialized skills to concentrate on issues such as quality and reliability for the components they provide. Far from relying on todays profusion of software interface standardswhich many times have life expectancies shorter than the standards-setting processthe proposed technology should make many existing software interface standards unnecessary. Initial goals for the ATP Component-Based Software focused program aspects that would be enabled in the next five to seven yearsinclude: enabling automated assembly of software components, bringing greater quality and reliability, reduced time to develop and test new systems, and cost amortization from multiple use of software components, which would lead to increased productivity in software development; enabling increased productivity for software users, brought about by increased quality of components and dependability of systems; and enabling systematic reuse of components, increased interoperation of software, and easier adaptation of software for foreign markets, which may lead to expanded markets for U.S. software products. In the longer runperhaps 10 years after successful completion of the ATP focused programan established software-components industry would provide a rapid, responsive channel for marketing software innovations, while constantly improving quality, reliability, and capability, in much the same fashion that the semiconductor component industry has constantly reduced cost and improved performance of computer chips since the invention of the integrated circuit, through rapid infusion of technical innovations. Technology Challenge. The production of easily reusable software components has been the goal of a long stream of software innovations, including structured programming, object-oriented programming, and computer-assisted software engineering. Gains in productivity have remained elusive, however, particularly in the world of large, custom-built software systems. Examples from the physical world often are invoked to explain software systemsin some systems, for example, standard software interfaces for network communications are called "sockets." The analogies are insidious, however, because the realm of software is nothing like the realm of physical objects. The idea of manufacturing only one kind of light bulb, which would be reconfigured automatically at the point of use to fit into any desired socket at any voltage, is absurd. But for software components, the idea is not only feasibleit could be the necessary enabling technology for the complex systems software needed for new, advanced information technology applications. The ATP focused program in Component-Based Software will enable this sort of protean software by combining formal semantic methods, which are effective but difficult to use, with more innovative automated methods for software transformation and synthesis that would handle the actual composition of software systems from formal specifications of the desired product and the available components. The technical goals of the ATP Component-Based Software focused program include: Enabling practical, automated composition of major software applications based on semantic analysis of independently produced componentsthus enabling systematic reuse of the components. Developing automated tools and methods for component-based software to expand the portion of the process that can be automated and thus reduce the need for error-prone, handcrafted solutions. Developing necessary technologies to overcome other barriers to the widespread use and reuse of software components. This includes problems such as:
Industry Commitment. The ATP received over 100 "white papers" proposing program areas in various fields of software and information technology. More than half of these proposed programs contributed to this initiative. Five regional workshops on software technology conducted by the ATP confirmed broad general support for this focused program. Given the disaggregate nature of the U.S. software industryroughly 4,500 firms with an average of fewer than 20 employees, and no broad-based industry associationsthe majority of program participants are expected to be small companies with new and innovative approaches. Significance of ATP Funds. The structure of the software industry and the nature of software itself provide strong reasons for ATP support of the Component-Based Software focused program: Any technology that addresses these pervasive problems can succeed only if it is used broadly throughout a market segment. This may require cooperation from competing companies to overcome non-technical barriers. Through the Component-Based Software program, the ATP creates a needed forum for many individual software firms to cooperate on problems. Software is a key element of the technology infrastructure, so ATP funds in this area are highly leveraged. The ATP Component-Based Software focused program, if successful, will enable important advances in many other economically significant areas, including manufacturing systems, healthcare information systems, and the National Information Infrastructure. Additional Information. For information about eligibility, how to apply, and cost-sharing requirements, contact the Advanced Technology Program: (800)-ATP-FUND
(800)-287-3863 For technical
information, contact: Date created:
January 1999 |
ATP
website comments: webmaster-atp@nist.gov
/ Technical ATP inquiries: InfoCoord.ATP@nist.gov NIST is an agency of the U.S. Commerce Department Privacy policy / Security Notice / Accessibility Statement / Disclaimer / Freedom of Information Act (FOIA) / No Fear Act Policy / NIST Information Quallity Standards / ExpectMore.gov (performance of federal programs) |