Solutions in Ada
When the U.S. Department of Defense (DoD) offered to subsidize the creation of a new language for embedded systems in 1979, it was searching for a solution to the armed services' software problems. Their embedded computer systems that controlled airplanes, submarines, etc., were written in dialects, which required unique compilers and tools. Because each piece of software had a vocabulary specific to it, the DoDís laboratories could not easily and inexpensively alter software as their needs changed, or port it to new hardware platforms, or depend on the result.
The DoDís solution was to establish a competition for the creation of a powerful language that would embody modern software engineering techniques. After the department chose what it considered to be the best language, it mandated that all new embedded systems be written in MIL STD 1815A, or Ada. It was accepted as an international standard, and other countries' defense departments, such as those of Germany, France, and Australia, also began mandating or introducing Ada to their software laboratories. As a result, a decade ago almost everyone who used Ada did so under a general's orders. Today, the language has infiltrated some commercial sectors which have the same software problems of maintaining and reusing their software, and are looking for the same solution in Ada.
This trend of certain commercial sectors accepting Ada is welcome news to vendors of Ada compilers and development tools. Since the international "outbreak of peace", brought on by the collapse of Warsaw Pact and the demise of the Soviet Union, Ada product vendors have been motivated to explore market niches outside the Pentagon in anticipation of defense budgets shrinking in the '90s.
The commercial sector can expect to receive more telephone calls not only from Ada product vendors but also from Ada programmers and trainers who will be job hunting as defense related industries lay off staff. Wells Fargo Nikko, in San Francisco, Calif., for example, cites the availability of highly experienced Ada programmers as one reason it chose the language for its new investment analysis application.
While a reduced demand for Ada products and developers in the defense market may increase the commercial use of Ada in the future, those in the private sector who use Ada now are reacting to different economic forces. Most developers of commercial applications interviewed for this article mentioned Ada software engineering features, such as packaging and information hiding, as their main reason for choosing the language. Others chose Ada because it was known to facilitate reuse and the development of large applications. Both characteristics increase the software's reliability, which aviation and space agencies and financial services companies mentioned as the deciding factor in using Ada in their new applications.
Ada in Financial Services
One of the early high profile Ada successes was with Reuters financial services in Hauppauge, NY. Reuters is best known as a British international print and photo wire service that transmits real time information on financial markets and news. Lesser known are its automated currency futures trading and options trading systems for the Chicago Mercantile Exchange.
Reuters' two systems enable trader to trader communication and automate the matching of orders. The systems respond within two seconds, handle high loads, and improve the presentation and usefulness of data to clients. Most importantly, the software must transmit and process the data absolutely correctly and on time. Because the application had to carry a heavy load of data accurately and quickly, Reuters ran a greater risk of the software failing due to its complexity. The resultant mistakes could have been extraordinarily costly. According to Alfred H. Scholldorf, manager of Advanced Projects, after studying the language and building a prototype system in 1985, Reuters decided that using Ada was "required for success".
Each system used eight Ada developers to write 250,000 lines of code. Reuters invested 25 staff years to build each application's 10 major subsystems. They now run on several large VAX machines with multiplex inputs arriving from PCs in New York, Chicago, London, and Tokyo, which are broadcast to other PCs internationally. The applications process billions of dollars daily. "Without a doubt, we could not have developed the products in C with the same amount of time and to the same level of quality," Dr. Scholldorf said.
Wells Fargo Nikko Investment Advisors also chose to write financial applications in Ada, after comparing the language in January 1990 with C++, Pascal, and PL/1. Based in San Francisco, with offices in London and Tokyo, the company was able to hire from a "real gold mine of senior Ada developers" that had left California's defense industry, according to Timothy A. Wendt, a vice president in the Systems Group. The company manages index funds, which means that it tries to match their portfolios' performance and risk to that of a published index, such as the S&P 500 (Standard & Poor 500).
The company's current system is written in FORTRAN and is 15 years old. The maintenance costs were becoming "unacceptable", according to Mr. Wendt. Ada's long term advantages sold the company's top executives on converting the system to the new language.
The newly hired developers retrained four Wells Fargo Nikko programmers in Ada, and were trained themselves in the securities industry. By mid 1991, the development team had written one application, a database management system and graphical user interface. The Ada system allows users to query a database of 7,500 stocks and to access different sets of stock according to certain criteria.
The software engineers have already seen benefits in the switch to Ada. Though the initial development stage took longer than anticipated, integrating the system, which they expected to take two months, took instead two weeks. They were able to reuse some components immediately, which surprised them. For example, they created a new software development tool by reusing code for 80 percent of the software. Instead of taking the scheduled three weeks, programmers completed the tool in days. All together, the programmers automatically generated one in six Ada statements in the company's first project either through reuse, commercially available components, or through the Ada code generation package in its CADRE TeamWork CASE tool. Ten senior programmers took 125 person months to complete 98,000 lines of code. That equaled about 38 lines of code per workday per person. Between October 1991 and March 1992, the number of lines of code doubled as the team began its second major application.
Hewlett Packard (HP) in Paolo Alto, Calif., switched from Pascal to Ada three years ago when improving its computer aided design (CAD) system for laying out HP microprocessor chips. Around 50,000 lines of Ada have been reused to create the project's total of 640,000 lines. Each line of original code generated an average of almost 13 more lines. The software engineers recently rejected suggestions to write future versions in C++ and decided to continue it in Ada. "People are remarkably happy with Ada", said Eric A. Slutz, an engineer scientist who was the project's manager. "There was a lot of skepticism going into it, but it turned out very well." He also said that, in his experience, Ada compilers check types more extensively than do Pascal compilers, which "is a great advantage to getting the programs right".
Unlike Reuters and Wells Fargo, which implemented internal systems in Ada, Genesis Software, Inc., of Kansas City, Mo., has written a financial service in Ada that it is marketing to government agencies and contractors. The system, Prompt PayMaster (PPM), is in the leading edge of MIS technology. Originally written for the Wang VS, PPM now runs on a Digital VAX with VMS. It uses imaging software which scans documents for electronic storage, a voice recognition system that allows vendors to query an agency's computer about balances, and network communications.
The system helps agencies and contractors comply with the U.S. Congress's Prompt Payment Act of 1982 which, among other requirements, forces government agencies to pay interest due on bills. PPM also facilitates an agency paying bills on time, notes discounts lost from not meeting vendors' deadlines, and tallies interest payments.
Bill Lee, vice president of Genesis Software, said that his company chose Ada initially because of its maintainability. His programmers are pleased with the results of working with the language and offered no resistance to the suggestion. In eight months, eight programmers wrote over 250,000 lines of Ada code. After the product ran successfully on the Wang platform, the software engineers ported PPM to the DEC platform in six months. Currently, one programmer maintains both PPM and a spin-off product also written entirely in Ada, ImageNow. The new product enables users of the VAX mainframe running VMS or Ultrix to create, file, retrieve, FAX, manipulate, etc., images of documents without reprogramming the system's source code. Genesis plans to expand the platforms for ImageNow to Honeywell, IBM, Unisys, and Wang.
In Europe, Ada influenced financial systems starting in the early eighties, with banking nations Belgium and Switzerland leading the way. Banksys, an organization responsible for electronic fund transfers in Belgium, also develops systems for use in other countries. The system is based on Tandem central computers, a private X25 network, terminal concentrators, and Banksys developed terminals.
Having originally developed the system in C and assembler, Banksys decided to change to Ada because of its real time capabilities, ease of maintenance on larger systems, and high level of portability.
The Union Bank of Switzerland has written two systems, COSY and DESY+, almost entirely in Ada. COSY (Control System) is a real time monitoring and control system for VAX/VMS and RISC Ultrix architectures. It enables the bank to manage large computer sites with a minimum of operations staff and to maximize system up time. COSY was first released in mid 1988. Now in its fourth version, COSY allows almost fully automated systems operations with a graphical user interface running under Motif.
Like Reuters' Ada systems, the DESY (Dealing System) supplies foreign exchange dealers with real time data to support their transactions. The first DESY release was not written in Ada. In 1986, it was modernized with some Ada. The new version, DESY+, will be released next year, and is written almost entirely in Ada.
Ada in Commercial Avionics
Nowhere is Ada more deeply entrenched in both the public and private sectors than in the international avionics market.
In the public sector, Boeing Commercial Airplanes can be credited with leading the push for Ada. On May 25, 1985, Boeing established the policy that it would use Ada in future avionics systems, related laboratory facilities, simulations, and associated tools. After the company lobbied the Airlines Electronic Engineering Committee of the Aeronautical Radio, Inc. (ARINC), the committee selected Ada as the "language of choice" in 1988. (Domestic airlines founded ARINC in the 1940s in order to regulate radio navigational frequencies. Since then, the airlines have tried to maximize standards through ARINC that could benefit the entire avionics community.)
Today, Boeing uses about 500,000 lines of Ada to fly its commercial 747 400 in subsystem components, critical certification, and human safety features. Two of the three largest systems on the 747, or 43 percent of the executable bytes, are written in Ada. The software is FAA certified. Boeing's new 777, which is costing between $4 to $5 billion to develop, will be 90 percent Ada by lines of code when it makes its maiden flight in 1994. Brian Pflug, manager of the Central Software Engineering Group in Renton, Wash., says that Ada portability saves Boeing's suppliers the most money.
Another leader in using Ada for flight is Collins Commercial Avionics in Cedar Rapids, Iowa, of Rockwell International. Collins began using Ada in late 1983 for government work. It decided to write commercial applications also in Ada in order to swap personnel, compilers, tools, and training easily between projects. For example, Collins invented and developed a Global Positioning System (GPS) satellite communications board in Ada for the US DoD in the mid 1980s. Later, the division installed the board in commercial airplanes, trains, and even a van that it uses to demonstrate state of the art technology to international automobile makers. Rockwell's Ada work has since spread to its divisions in California, Texas and Florida.
Collins' first commercial applications of Ada were fiber reinforced plastic corporate turbo props, the Beechcraft Starship 1 and Beechjet. It started programming the Starship's 375,000 lines of Ada in 1984. Since then, Collins has written a Central Maintenance Computer and an Integrated Display System in Ada, both of which fly in the Boeing 747. Boeing's 737, 757, and 767 use Collins' Electrical Flight Instrument System equipment. In June 1991, the Collins division began marketing its Ada run GPS modules, called NavCore V, to original equipment manufacturers for around $450. Collins' market for the 2.5" x 4" module includes manufacturers of navigational systems for airplanes, commercial fishing boats, trains, yachts, etc.
FAA's Advanced Automation System
The largest avionics effort written in Ada is the U.S. Federal Aviation Agency's (FAA) $12 billion effort to modernize its air traffic control system. IBM Federal Sector Division in Rockville, Md., won the contract in 1988 for developing 2.3 million lines of new code for the Advanced Automation System (AAS) portion, which will cost approximately $3.55 billion. About 1.8 million lines of code will be written in Ada.
The AAS portion will support requirements for takeoffs and landings, and will control departures and arrivals. It will monitor flights at 22 en route control stations, 188 terminal radar approach control facilities, 258 air traffic control towers, and more. It also will make suggestions for efficient routing and fuel consumption.
The AAS performance requirements are onerous: In real time, it must handle up to 8,500 flight plans, process information from weather instruments and from 60 short and long range radars, track 5,000 commercial and military aircraft in a surveillance area of 2,500 X 2,500 nautical miles, and show the results of entries from 430 controller keyboards on their high resolution displays. Allowable downtime for the overall system is two minutes per year; for the workstations, it is two seconds per year.
IBM is ensuring this reliability by distributing the system over a network that connects all the air traffic control centers. The en route centers will be completely redundant in both hardware and software. Also, according to Peter Barton, manager of Software Development Environment, IBM made a "very conscious decision early on to mitigate risk through reuse". A small group of "highly talented" programmers designed the initial reusable components. Mr. Barton listed some of the modules that "we didn't want people reinventing", such as address space management, timing components, and error recovery.
IBM has around 1,000 staff working on the program and nearly 700 subcontractors. Communicating and coordinating the project is a potential nightmare. Because the project is in Ada, independent teams are able to compile their code separately. That facilitates developing the entire project in parallel. Also, the design, which follows an object oriented approach, is in fully compilable PDL Ada and is not a separate paper design. The software designers can thus more easily communicate their ideas to programmers. The result is high quality software. As of May 1991, fewer than four errors per 1,000 lines of code were reported for 700,000 lines. By next November, IBM should have completed one million lines of code.
IBM's main competitor for the project, Hughes Aircraft, won a contract to upgrade the Canadian Automated Air Traffic System in Ada. The new system will include processing flight data and weather changes, monitoring flight status automatically, and maintaining control and time distributions between flights.
IBM is competing with Hughes and with Thompson CSF of France for the British and German systems, as well as for the Asian market. In Ireland, France, Spain, Denmark, Pakistan, and Kenya, Thompson CSF is installing new radars and entire air traffic control systems written in Ada. IBM successfully won a bid in March 1991 to build Taiwan's World Wide Air Traffic Control system. The 60,000 100,000 lines of software, due in March 1994, will be partially in Ada.
Ada in Space
NASA has not mandated that Ada be used except on its largest project, the Space Station Freedom. The agency expects to maintain the Space Station's estimated 10 million lines of Ada over the next two or three decades and to port the software to the 21st century's hardware systems. Ada will be used in the Space Station's Software Support Environment, the on board data systems, the ground data systems, and all robotics and flight software.
NASA's Flight Telerobotic Servicer, a robotics manipulator system to be remotely operated from the Shuttle or Space Station, is already mostly operational. Written entirely in Ada at the Goddard Space Flight Center in Greenbelt, Md., the servicer is now achieving a 10 millisecond cycle rate, which means, for example, that it checks for changes or outside stimuli 100 times per second.
Traditionally a FORTRAN shop, NASA is branching out slowly to include more Ada in its projects. For example, Goddard is also writing the Second TDRSS (Tracking and Data Relay Satellite System) Ground Terminal, a new ground station for the space tracking network, completely in Ada. Typical systems at the Flight Dynamics Division of Goddard are 150,000 300,000 lines of code, 85 percent of which is written in FORTRAN, 10 percent in Ada, and five percent in other languages.
The Canadian Space Agency plans to launch a remote sensing satellite, Radarsat, in late 1994. A subsystem, the payload computer unit, is being written with approximately 10,000 lines of Ada. The software will control payload subsystems and produce image data that can be stored or downloaded to the ground station. The operations will be synchronized with time and orbit parameters. The satellite is designed to penetrate thick cloud cover and darkness in order to observe detailed images of the Earth's environment.
European Space Agency
Most of the thrust of Ada in the European Space Agency (ESA) has come from its large projects: Columbus (the European segment of the International Space Station Freedom), and Hermes (the European Space Plane). The complexity of these projects (one million lines of code) and the difficulties of developing them in geographically disparate laboratories make Ada support for programming in the large especially attractive.
The first Ada code to be flown in an ESA spacecraft should take place in the Infrared Solar Observatory (ISO) satellite in May 1993. ISO is a scientific satellite going to the Sun. The Attitude and Orbit Control subsystem of the satellite is developed in Ada using a 1750 processor (MAS 281) from UK based Marconi.
At present, ESA is investing heavily in preparing future Ada technologies, such as in developing an Ada Tasking Coprocessor (ATAC). ATAC is a VLSI chip implementing the full Ada tasking model which can be attached to any 16 or 32 bit microprocessor available in the market. It takes care of all scheduling decisions.
The agency's hard real time system studies have led to the proposal of new methodologies for Hierarchical Object Oriented Hard Real time Systems (HRT HOOD). ESA was instrumental in developing HOOD as a method to incorporate state of the art scheduling techniques; i.e., deadline monotonic scheduling.
Ada in Oil Exploration
Like NASA and the ESA, Shell Oil and Dowell Schlumberger Inc. were concerned first with writing reliable and accurate software, and chose Ada because of its reputation. The oil companies hoped to save money by using software to predict the outcome of proposed projects.
Shell initially selected Ada in 1985 because of its software engineering features such as records, pointers, strong typing, generics, exception handling, and multi tasking and because of the international standard. It uses two Ada systems in testing ocean floors for oil: a seismic processing system, which is written almost entirely in Ada, and a graphical user interface, which includes C and UIL. Both systems constitute a single, larger project.
The seismic system breaks long processing sequences into small parts. Each part is programmed with an Ada task, allowing for parallel execution. The system has been ported and successfully executed on Sun3, Sun4, Convex, VAX, RS6000, and Cray machines, using several different compilers.
Seismic processing involves performing hundreds of individual steps on a great quantity of data. The graphic interface allows a user to assemble hundreds of batch jobs and to decide the sequencing among them. A multi colored display shows their status. The system uses Ada for the background processes (which handle the job management functions) and the internal portion of the actual interface. Roughly, the user interface consists of 217,000 lines of Ada code, and 363,000 lines of other languages. The runtime system consists of 222,000 lines of Ada, and the operations is projected to be 250,000 lines of Ada. The interface is now in production use, driving an older signal processing system. Users will begin testing the Ada seismic system later this year.
Dowell Schlumberger Inc., in Tulsa, Okla., an oil field service company, has written between 150,000 175,000 lines of Ada for simulation software since 1985. The company's five Ada applications, which run on MicroVax IIs, predict what will happen and how much material is needed when the company provides a service for an oil producer. The tool CemCADE (Cement Computer Aided Design and Evaluation), for example, simulates the cementing of an oil well to stop oil and gas from rising and mixing with the fresh water supply around it. PacCADE does the same for packing gravel around the oil well. The company's 200 international locations all use the tools.
Victor Ward, section head of the CADE Product Team in Tulsa, says Ada was originally chosen because of its generics and because code could be easily maintained and reused. "Ada isn't more difficult to use than any other language", he said, "once you get over the start up costs".
Ada in the Pacific
The Japanese SIGAda, with 410 members, is one of the international special interest group's largest chapters. Only about 25 of the members in Japan are from academia; the others are from Japanese corporations. The world's largest corporation, Nippon Telegraph and Telephone (NTT), was one of the first to commit to Ada by developing compilers and support tools in 1983, when the language became a standard. By 1989, NTT had developed 2.5 million lines of Ada code. "Software productivity and reliability are critical to NTT," according to Kiyoshi Tanaka, a senior research engineering supervisor. "The Ada language promised, and has proven to be in practice, a sound basis for the development of large scale commercial software systems."
NTT has implemented several commercially available telecommunications services in Ada: a videotext communication system, a cellular telephone service, a satellite communications system, and a database management system. It has started developing a digital cellular telephone system service in Ada, using an object oriented design.
The Australians first used Ada for its Royal Navy helicopter, then began applying the language commercially. For example, Universal Defence Systems, of western Australia, wrote a kernel command control entirely in Ada. Its over 500,000 lines of code provide a core set of functions for any command and control system. It has since been applied commercially to a Vessel Tracking System and to an Irrigation Monitoring System.
The Vessel Tracking System receives information from satellite based technology. The Irrigation Monitoring System processes information from weather forecasts, and moisture sensors planted in the ground, in order to manage water and labor costs on the terrain.
Advanced Systems Research and Lend Lease Corp. of Pymble, Australia, developed a vehicle location system, called QUIKTRAK, using Ada for 75 percent of its code. QUIKTRAK, a joint venture, is operational in Sydney. It tracks information about vehicles in cities and suburbs, and presents a map indicating their locations on the customer's PC.
Ada in Europe
The political shape of Europe is changing almost by the month. As former Eastern bloc countries scramble to climb on board the technology band wagon, they are increasingly looking to Ada as both a teaching tool for universities and as a basis for solutions in industry. Moreover, as the rest of Western Europe adapts to this change, Ada vendors and developers are becoming less dependent on defense related contracts and are moving to avionics, telecommunications, and financial applications.
The European Ada market represents some 20 percent of the total world market for the language. Considering the close links Europe has with the US, and Ada having been developed in France, the European market share is no surprise. What is interesting, however, is the diversity of use of Ada throughout Europe and the support it has been given at both European Community and government levels.
The Commission of the European Communities (CEC) stepped in to support the Ada market as early as 1979 with its Multi Annual Programme (MAP). The support represented 50 percent of the total CEC R&D budget for information technologies at the time. Through this program, some of the first European compilers were developed and the foundations laid for the PCTE (The Portable Common Tool Environment), which is an Ada Programming Support Environment. MAP also provided funding for the establishment of an Ada Europe Association and for its technical working groups.
The CEC's policy with programs such as MAP and ESPRIT the European Strategic Programme for Research & Development in Information Technology is to form a sound technical basis for future competition with the rest of the world. CEC's promotion of Ada was its first major European endorsement. Once the market was established, the CEC greatly reduced its funding. It still sees Ada as a key strategy at the Community level and is the basis for many CEC funded projects.
Telecommunications is one of the fastest growing markets in Europe. Several pan European projects are in development, such as a European Cellular Telephone Infrastructure project (GSM). The CEC supports telecommunications through its RACE (Research and Development in Advanced Communications in Europe) program.
The industry had fleeting relationships with Chill, C, C++ and Ada. A language similar to Pascal and Ada, Chill was especially developed for telecommunication equipment. It did not take off, but some sectors still use it. C now dominates the business. As projects grow, many users are looking instead to C++ as a more manageable solution. However, as both usage and studies have documented, C++ neither performs nor can be maintained as well as Ada. Therefore, having passed over Ada as the dominant telecommunications language at the outset some years ago in favor of C and C++, the industry is reconsidering the language. Another Ada advantage is that many of the key telecommunications players, such as Ericsson and Motorola, have strong Ada links in the defense market and thus an extant wealth of expertise.
Two British companies have used Ada in telecommunications projects: a GSM Cellular Base Station Software by Orbitel, and a new development of the System X Telephone Switching System by Plessey.
When the Ada Information Clearinghouse in Arlington, Va., first conducted an independent survey of Ada applications in 1986, it found only 13 commercial systems. The number has grown steadily since then, until the Clearinghouse's October 1992 Ada Use Database listed over 90 commercial applications. The language has caught on with some small developers, who are using it to edit videotapes in Saratoga, Calif., and to search documents with hypertext in Houston, Texas. Some larger companies are testing their products' reliability with Ada software, such as Motorola in Illinois testing its cellular phone switching systems, Trace Inc. in California testing bare circuit boards, and Collins Avionics in Iowa testing a variety of its electronic navigational systems.
For future markets, Ada compiler vendors now have products for the hand held computers, which shops use to read bar coded prices and overnight delivery services use to route packages. Ada compilers are also now available for digital signal processors, which operate everything from suspension systems in automobiles to high speed modems in PCs.
By satisfying DoD requirements, Ada was able to appeal to a much larger market than its creators first envisioned. Today, the commercial sector, which includes an estimated 24 percent of the Ada market, may not financially support Ada vendors enough to keep them afloat when the DoD begins canceling projects. Research and development contracts are often the first in line to be cut, and many of them are being written in Ada. As the defense industry slims down, more commercial software developers will have to see Ada as a solution to their cost overruns and maintenance problems in order for the language to be viable in the next century.
The authors thank the following people for their generous contributions to this article: Jose Luis Fernandez of ISDEFE, Spain; Bjorn Kallberg, Ulf Olsson of Nobeltech, Sweden; and Marcus Meier of UBS, Switzerland; and John Walker of the Ada Information Clearinghouse in Arlington, Va.