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 Wednesday, December 6, 2006 "Is Ada Obsolete? What Will Replace It?" Round Table Discussion
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.
DoD’s past advice has been:
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?
|
~Summary~
LA ACM Chapter December Meeting,
The presentation was a group discussion of mission critical programming languages. SBIRS is the Space Based InfraRed Systems. From an article in Space News:
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.
Who else is using Ada?
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.
What are today’s favorite languages for Mission Critical Systems?
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.
Some comments (edited somewhat) received from SIGAda Chair John McCormick:
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.
|
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. |
|
Directions to LMU & the Meeting Location:
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.
From the San Diego (405) Freeway:
Dinner will be in the Faculty Dining Room, UHall 1767: To get to the Roski Dining Hall, where you may purchase your food, take one of the elevators in the bay at the west end of the parking structure to the Lobby level. Exit the
elevators, then walk straight ahead through the glass doors and into the atrium. Turn right. The entrance to the cafeteria is on the right before you reach the cafeteria seating area at the west end of the atrium. (The cafeteria entrance is room 1700 according to the building floor plan).
To enter the Faculty Dining Room from the cafeteria:
After paying for your food, head back to the area between the grill and the
sandwich bar. Turn toward the exterior windows (north side of the room), and walk toward the windows. Before you reach the windows, there will be an opening on the east side of the room, which leads to a hall along the exterior north wall of UHall. Walk down the hall until you come to the faculty dining room.
Alternatively, leave the dining area through the doors on the south side of the dining area and walk east (left) through the lobby until you reach the Executive Conference Center (ECC). Enter the double glass doors to the ECC, continue straight down the hall to the end, then turn left and you will be in the faculty dining room.
The meeting will also be in the Faculty Dining Room, UHall 1767. From parking Lot P2 or P3 under University Hall, take one of the elevators in the bay at the center of the parking structure to the Lobby level of University Hall. When you exit the doors into the atrium, the next set of doors a short distance to your right says ECC Center. Enter those doors and walk straight down the hallway. Room 1767 is on your left hand side.
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
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
Past Meeting Archive | Los Angeles ACM home page | National ACM home page | Top |
Last revision: 2007 0314 [Webmaster]
Page posted: 2007 0314