Top
Past Meeting Archive Los Angeles ACM home page National ACM home page Click here for More Activities this month
Check out the Southern California Tech Calendar

~Announcement~

Regular Meeting of the
Los Angeles Chapter of ACM

Wednesday, December 6, 2006

"Is Ada Obsolete? What Will Replace It?"

Round Table Discussion
All Attendees May Participate

Is Ada Obsolete? If Not Ada What Language for Mission Critical Systems? C++? Is Air Force Undersecretary Ronald Sega right in saying C++ is a more modern language? Or should anyone really care? Come to LA ACM round table and let yourself be heard, or just listen to other views.

The meeting will be a loosely moderated open discussion. If you want to present your own viewpoint (and we hope you do) then send a short abstract to Mike Walsh. This will guarantee you will have time to present your opinion. This is not required though so feel free to join us in what we hope will be an exciting and educational discussion on the future or funeral for Ada.

Part of an article from Space News:

Pentagon Scales Back SBIRS (Space Based Infrared System) Program

JEREMY SINGER, Space News Staff Writer, reported that Air Force Secretary Michael Wynne said the problems with SBIRS are so deep-rooted that staying the course with five satellites would have required extensive redesign work. One of the biggest problems with SBIRS lies with its operating software, which is based on a programming language called Ada that was developed in the 1970s, Wynne said. “Ada is a program that is not popular any longer,” Wynne said. “It is a software design that was literally invented around the time that DOS [Microsoft Corp.’s original Disk Operating System] was invented. DOS is no longer even talked about, nor should Ada be, but we still have Ada-based programmers trying to do it.”

The Air Force hopes to use a more modern computer language like C++ for the SBIRS follow-on system, Air Force Undersecretary Ronald Sega told reporters during a Dec. 15 briefing at the Pentagon.

DoD’s past advice has been:

Q. What is DoD's programming language policy now? (1998)

A. For major systems, Ada should be considered "in the context of the systems and software engineering factors that influence overall life-cycle costs, risks, and potential for interoperability".

Q. Does DoD offer guidance for programming language selection?

A. Yes. The intrinsically low level nature of C and lack of direct support for modern software engineering approaches and discipline make it an undesirable language for the development of large, general purpose DoD software applications. Because the mechanics of the C language are embedded in C++, it is susceptible to many of the above noted difficulties with C, despite the introduction of OOP software engineering into the language. Use of C++ for the development of critical systems applications is not recommended.

But maybe Ada is now obsolete, but another view from a commercial source:

Boeing 777 Flies on 99% Ada

Ada's status as a well-established programming language has sometimes led to the perception that it's outdated or even obsolete. It's worth noting, however, that in the same year Ada debuted, Microsoft introduced a new product called Windows. Today, few would call Windows outdated or obsolete because, like Ada, constant innovation improves, enhances, and maintains Windows' competitive capabilities. For Ada, this constant innovation is most obvious in the real-time arena, where Ada 2005, like Ada 95 before it, raises the bar for real-time programming languages by providing facilities that are either new to the industry or are only partially available in other programming languages.

OK, what is it? Does the programming language really make any difference in critical systems?

Mike Walsh, LA ACM Secretary read the Space News article and felt like sending in a letter to the editor refuting Michael Wynne’s remarks, but remembered he had retired in 1992 so maybe Wynne is right. Mike waited for someone else to write in, but nobody did. Mike sent email to some currently working software specialists but there was no commentary received at the time of publication of this article.
prepared by Paul Schmidt
 

~Summary~

LA ACM Chapter December Meeting,
held Wednesday, December 6, 2006

The presentation was a group discussion of mission critical programming languages. SBIRS is the Space Based InfraRed Systems. From an article in Space News:

      Pentagon Scales Back SBIRS Program

      By JEREMY SINGER
      Space News Staff Writer
      Posted: 19 December 2005
      01:06 pm ET

In a briefing with reporters Dec. 13, Air Force Secretary Michael Wynne said the problems with SBIRS are so deep-rooted that staying the course with five satellites would have required extensive redesign work. Defense officials did not have a full appreciation of these problems when they reviewed SBIRS following a Nunn-McCurdy breach back in 2002, he said. Wynne also noted that concerns about a gap in U.S. missile warning capabilities have diminished since then because the existing Defense Support Program satellite system is lasting much longer than expected.

One of the biggest problems with SBIRS lies with its operating software, which is based on a programming language called Ada that was developed in the 1970s, Wynne said. "Ada is a program that is not popular any longer," Wynne said. "It is a software design that was literally invented around the time that DOS [Microsoft Corp.'s original Disk Operating System] was invented. DOS is no longer even talked about, nor should Ada be, but we still have Ada-based programmers trying to do it."

The Air Force hopes to use a more modern computer language like C+ (sic) for the SBIRS follow-on system, Air Force Undersecretary Ronald Sega told reporters during a Dec. 15 briefing at the Pentagon. In addition, the Air Force would like to see upgrades including faster data processors and improved focal plane sensor technology, he said.

What did the DoD used to think and recommend about Ada? From a DoD online report:

The Ada Joint Program Office (AJPO) has closed as of October 1, 1998, declaring its mission accomplished. Some excerpts from its report are provided below.

Q. What is DoD's programming language policy now?

A. For major systems, Ada should be considered "in the context of the systems and software engineering factors that influence overall life-cycle costs, risks, and potential for interoperability."

This policy was proposed almost verbatim in the 1996 AIA Position Statement on Ada, which recommended that each project or family of projects conduct a language selection trade study, with consideration to include life-cycle costs, interoperability, and the special needs of safety/flight critical systems and large-scale systems.

Q. Does DoD offer guidance for programming language selection?

A. Yes. The DoD Joint Technical Architecture V2.0 references the Information Technology Standards Guidance V3.1, which includes the following guidance:

from section 3.2.3.3.3: "the intrinsically low level nature of C and lack of direct support for modern software engineering approaches and discipline make it an undesirable language for the development of large, general purpose DoD software applications."

"Because the mechanics of the C language are embedded in C++, it is susceptible to many of the above noted difficulties with C, despite the introduction of OOP software engineering into the language."

from section 3.2.3.3.6: "Use of C++ for the development of critical systems applications is not recommended."

from section 2.1.5: "Testing implementations for conformance to a required standard is necessary."

from section 1.1: "The standards arena is broad and is changing rapidly enough to make the ITSG quickly obsolete. The ITSG represents the consensus DOD target as it was best understood at the time of publication."

Who else is using Ada?

Boeing 777 Flies on 99% Ada

One challenge to the "Working Together" model was Boeing's insistence that the software be written in the Ada programming language. According to Brian Pflug, engineering avionics software manager at Boeing's Commercial Airplane Group, most companies disliked the idea of a standard language at all, and then seriously objected to Ada as too immature. In addition, one supplier was already six months into the development of their part of the project and had used another language. Honeywell approached the request by conducting an extensive study into the benefits of Ada versus the C programming language. When the results were in, Honeywell agreed with the decision to use Ada: the study concluded that Ada's built-in safety features would translate into less time, expense, and concern devoted to debugging the software.

Ada's status as a well-established programming language has sometimes led to the perception that it's outdated or even obsolete. It's worth noting, however, that in the same year Ada debuted, Microsoft introduced a new product called Windows. Today, few would call Windows outdated or obsolete because, like Ada, constant innovation improves, enhances, and maintains Windows' competitive capabilities. For Ada, this constant innovation is most obvious in the real-time arena, where Ada 2005, like Ada 95 before it, raises the bar for real-time programming languages by providing facilities that are either new to the industry or are only partially available in other programming languages.

What are today’s favorite languages for Mission Critical Systems?

Some email comments received after the December DATA-LINK was published.

My two-cents’ worth: Ada95 actually beat C++ to the punch as an ISO/ANSI-standard OOP language, but C++ incorporates Ada “generics”. If Ada 2005 does raise the bar for real-time programming, I’d say that’s its strong point vs. C++. Otherwise, Ada could go the way of MS-DOS.

Mark Lento, Systems Engineer

Some comments (edited somewhat) received from SIGAda Chair John McCormick:

Mike,

I have not heard the comments by the Secretary of the Air Force. But I am used to hearing such ridiculous claims.

Here are a few tidbits from recent Conferences I have attended.

At SIGAda 2004, Pam Thompson, Director of Software Engineering, Lockheed Martin, in her keynote address "Can Ada Stand up to the Challenges of C/C++ and Java" stated that many of the C/C++ programs for the Joint Strike Fighter were being redone in Ada. The time to develop and debug C/C++ was far higher than that for Ada. Her office constantly battles with the myth that Ada is out of date despite proof that they can develop better software at lower prices than in C/C++.

At the same meeting, Watts Humphrey, Senior Fellow of the Software Engineering Institute stated that with his Team Software Process and SPARK Ada the number of bugs in a release is measured in faults per million lines of code rather than faults per thousand lines of code seen in C/C++ and Java programs.

The National Ignition Facility ( http://www.llnl.gov/nif/ ) uses Ada and CORBA in perhaps the world's largest distributed control system. The final system will control over 192 lasers (with the accompanying optical amplifiers and switches) to deliver 1.8 millions joules of energy to millimeter size targets. Timing constraints are measured in pico seconds. Talk about a real-time system!

At that same meeting, Rod Chapman presented a paper on the growing use of Ada in the security domain. The National Security Administration is a major customer of Praxis Critical Systems. SPARK Ada allows one to proof security properties such as the confinement of data to different security levels. On a personal note, I often meet Rod in Cedar Rapids, IA where he teaches SPARK courses at Rockwell Collins for the folks who are producing secure radios for the military.

At SIGCSE 2005 Richard Conn reported on the use of SPARK Ada to formally proof the correctness of over one million lines of code in the Lockheed C130J aircraft. The use of formal methods and SPARK Ada reduced testing costs by nearly 60%. The British equivalent of the DOD is currently requiring proof verifications rather than extensive testing. To date, only SPARK Ada fulfills the established requirements.

At SIGAda 2006, Judith Klein, senior architect for the new FAA en route air traffic control system, described that the work they have recently completed in Ada could not have been as safe or robust if done in C/C++. The only C++ in the entire system is for the GUIs.

Other tidbits

The ISO standard for Ada 2005 is in the final stage of balloting. Ada 2005 provides further increases in language security (for example detection of overloading a super class's method when overriding was desired), larger library, and the most advanced scheduling policies of any real-time language.

Sales by Ada vendors has increased steadily over the last decade. AdaCore reports a linear growth over the entire life of the company. Interestingly, they report that not a single employee hired has ever left the company.

I just published "Ada Plus Data Structures: An Object-Oriented Approach," a freshman level textbook. My publisher sees a future in Ada 2005 books.

Ada occupies a niche - systems where failure is not acceptable. It is a small niche, but a great one to work in. As other things pop into my head, I will send them to you. Thanks for your support of Ada.

John McCormick

This LA ACM discussion group was sparsely attended by moderator Mike Walsh, Jim Alstad and Bob Mercer. They looked over the above notes by Mark Lento and John McCormick and we discussed them. The discussion lasted for over an hour and a few notes are provided below.

Bob Mercer brought in a report that said that the use of Visual Basic had declined by about 7%, although Microsoft claimed that wasn’t true. Visual Basic has received considerable use in engineering organizations, of which JPL is one. This does show that a language that initially predated DOS is still around and in wide use after considerable updating through the years. There was a discussion about the early development of Ada and its advantages. If you can get Ada to compile there is a very good chance that it will run successfully. Jim Alstad said that C was designed so that it would be easy to compile over a range of hardware. He said Ada is a superior programming language, but it is getting harder to find trained Ada programmers. C++ is a cut above C, but you can still increment pointers and perform some other unsafe operations inside modules. The ways of putting packages together are safer in Ada. For simple projects C++ is simpler, but this is not true for more complex cases. Jim said he believes that Java programmers could be easily retrained as Ada programmers. What is Spark Ada? Jim said that it is Ada with things that are non-deterministic removed so the code was mathematically verifiable. Currently Europeans are more interested in using Ada. Ada is a hard language to learn and U.S. colleges don’t normally teach it. They are more likely to teach Java, C and C++. Jim said that people are working on real time Java to meet critical mission needs as a possible alternative to C++ or Ada. Mike Walsh commented that the last Ada project he had worked on at TRW integrated several independently developed packages that ran immediately and successfully. Mike said he had looked at online sources and had found quite a number of software people recommending Ada, sometimes rather fanatically, but no strong C++ advocates. The chief reason given for using C++ was that there were not many skilled Ada programmers available. That concluded the meeting.

After the meeting I decided to check back on-line and review some related material. I noted that Air Force Secretary Wynne was correct in saying that DOS and Ada were developed at the same time. Since one of the problems with Ada is lack of trained programmers his statement that Ada is not popular also is true. It is a big stretch to claim that the problems of SBIRS software were a result of using Ada as the programming language.

I made an on-line search to try to find someone who was recommending C++ over Ada for mission critical systems. I did not find any article making this claim. There were concerns about the size of Ada and that it was more difficult to learn. C++ is being used for mission critical systems and there were articles on how to program safely in C++, but I did not find anyone claiming superiority to Ada.

We would like to hear more opinions on this subject. If Ada is as superior as its proponents claim then why is C++ recommended by the Air Force Secretary? Is it simple ignorance? There certainly are companies doing mission critical programming in C++, what are their reasons for choosing the language? Ada is certainly not obsolete and blaming it for problems with SBIRS seems absurd. Getting away from discussing the knowledge background of high DoD officials (which might not be prudent for someone working in the defense industry) could someone send me some good reasons for choice of C++ (or another language) over Ada? Email them to mp_walsh@acm.org.

This was the fourth meeting of the LA Chapter year and was attended by only 3 persons. There will be another discussion group held on January 10, 2006 on Privacy vs. Security. If attendance remains low we will reconsider whether we should continue to hold this type of meeting.
Mike Walsh, LA ACM Secretary 
 

And coming in January . . . Join us for another exciting and informative discussion. If you have a topic you would like to be addressed or discussed then please feel free to e-mail Mike Walsh (See Below) and let him know.
Help Plan for January!


This month's meeting will be held at Loyola Marymount University, University Hall, Room 1767 (Executive Dining Room), One LMU Dr., Los Angeles, CA 90045-2659 (310) 338-2700.

Directions to LMU & the Meeting Location:

The Schedule for this Meeting is

5:15 p.m.  Council Meeting

6:00 p.m.  Networking/Food

7:00 p.m.  Program

9:30 p.m.  Adjourn


No resevations are required for this meeting. You are welcome to join us for a no host dinner in Room 1767. Food can be bought in the Cafeteria. Look for the ACM Banner.

If you have any questions about the meeting, call Mike Walsh at (818)785-5056, or send email to Mike Walsh .

For membership information, contact Mike Walsh, (818)785-5056 or follow this link.

Other Affiliated groups

SIGAda   SIGCHI SIGGRAPH  SIGPLAN

LA SIGAda

Return to "More"

LA  SIGGRAPH

Please visit our website for meeting dates, and news of upcoming events.

For further details contact the SIGPHONE at (310) 288-1148 or at Los_Angeles_Chapter@siggraph.org, or www.siggraph.org/chapters/los_angeles

Return to "More"

Past Meeting Archive Los Angeles ACM home page National ACM home page Top

 Last revision: 2007 0314 [Webmaster]
 Page posted:   2007 0314