to make Ada compilers as inexpensive or ubiquitous as C compilers. The strategy recognizes that a compiler for a reliability-oriented language like Ada, with large numbers of compile-time and run-time consistency checks, will inevitably be larger and more expensive to develop and maintain than other 3GL compilers. A reasonable target would be for a production-quality Ada compiler to be available at a price comparable to the cost of a production-quality C compiler, plus additional production-quality third-party compile-time and run-time checking tools for C (for example, a "lint"-like tool and a "purify"-like tool). The strategy also recognizes that any compiler for an embedded system with associated robust cross"debugging" support and integration with an appropriate real-time executive will be more expensive than a personal computer (PC) native compiler. It is not expected that Ada cross-compilers will ever match the price of off-the-shelf PC native compilers.
For similar reasons, it is not a goal that Ada become the predominant programming language for commercial programming. For critical systems programming, Ada already has a significant market share. Nevertheless, this is a relatively small marketplace, and DOD is a major player, meaning that it will have to continue to invest in the market for tools that support the development of critical systems.
The third goal is to ensure that an Ada-compatible interface is readily available for all off-the-shelf software components used in DOD's warfighting systems. Such systems include relevant database management systems, operating systems, real-time executives, and networking packages. It is not a goal that such components necessarily be written in Ada.
The fourth goal is that more educational institutions provide exposure to Ada concepts in the context of a software engineering curriculum, particularly in courses covering critical systems development. It is not a goal that Ada become the predominant teaching language (though Ada has advantages for teaching because of its readability and consistency checking). Rather, the goal is to increase the exposure to and use of Ada in the educational environment, thereby increasing the pool of programmers familiar with Ada and reducing the ultimate training costs for DOD's contractor community.
A related goal is to increase the use of Ada in software engineering research, which will enhance the Ada technology base for warfighting systems, as well as increase exposure to and understanding of Ada in the academic and research communities. It is not suggested that all DOD-sponsored research use Ada or that all DOD research prototypes be written in Ada. Rather, it is recommended that critical systems software research emphasize Ada's use, that more research programs include Ada in the set of languages they consider, and that an increased number of advanced technology tools support Ada in addition to other languages that are supported.
The final goal relates to centralized support and infrastructure for DOD 's use of Ada. DOD can continue to benefit from using Ada for its critical systems, but the benefits will be offset by other cost increases if each project needs to maintain its own support infrastructure for Ada. By continuing to support a centralized organization like the Ada Joint Program Office, even if its mission is redirected toward ongoing support rather than product development, DOD can achieve economies of scale. It is not suggested that such an organization directly support the development of new Ada compilers. Rather, it is emphasized that a centralized organization is necessary to provide expertise, resource directories (such as the World Wide Web site supported by the Ada Joint Program Office), technology management, and technology transition.
DOD can benefit from providing ongoing support for Ada technology by building on its significant investment in Ada 83, and the Ada 95 revision. In addition, DOD should use its leverage as a large customer for commercial hardware and software products to expand the availability of commercial tools and components that support Ada, which would help the Ada market become more self-sustaining.