Printer Friendly

Ada 9X project management.

When I was first asked to direct the revision activity for Ada, I knew it would be an interesting project but I had no idea how challenging it would be. Since Ada enjoys multistandardization status, any revision activity must eventually seek approval by the American National Standards Institute (ANSI), the National Institute of Standards and Technology (NIST), the International Standards Organization (ISO). This involves an enormous consensus-building effort. Ultimately, 21 countries will vote on the draft ISO standard. A language revision must address a multitude of current user expectations and hopefully attract new users. Upward capability must, or course, be a high priority, to minimize disruption to current users. The project has been challenging and frustrating at times, but also rewarding and exciting.

The Start-Up

In July 1988 the Ada Board, the Federal Advisory Committee of the Ada Joint Program Office (AJPO), recommended that the Department of Defense (DOD) initiate a revision (called Ada 9X) of ANSI/MIL-STD1815A. Shortly thereafter, I was asked by the AJPO director if I was interested in managing this effort. I accepted and in August 1988 found myself sitting down at a blank screen and a keyboard sketching out milestones. Several iterations later, I started thinking in terms of specific tasks, personnel and budgets. The Ada 9X Project Plan was published in December 1988.

Since the project is sponsored by the U.S. government, bringing teams on board had to be done via a lengthy procurement process. So, while I set the wheels in motion to make that happen, I put out a worldwide call for revision requests from Ada users.

Next, I brought the technical advisers on board--29 Ada experts from six countries representing a wide range of the Ada community--real-time embedded system developers, information system developers, academia, and compiler implementers. These advisers, called the Distinguished Reviewers (DRs), are responsible for reviewing all technical aspects of the revision. They have proved to be an excellent barometer of public sentiment. For example, when the first release of the Mapping Document was published in February 1991, the DRs predicted the public would feel the proposed mapping was too complex and should be refined and simplified. At the Ada 9X Workshop in March 1991, the public recommended just that. This intense scrutiny, while often hard on the team whose work is under review, is resulting in a very high-quality product.

By December 1990, the 774 revision requests that resulted from the open call had been analyzed along with 850 Ada issues that had been submitted between 1983 and 1988 to ISO Working Group 9 (ISO WG9). Operating under the auspices of ISO JTC1/SC22, ISO WG9 is the international working group responsible for activities associated with maintaining the ISO Ada standard and related associated standards. In addition, we held numerous discussions with various user groups regarding their top priorities for the revision. This analysis resulted in the publication of the Ada 9X Requirements Document in December 1990, which is the basis for the change to the language.

The Development

By January 1991 the process of mapping the requirements into proposed language changes was well underway. Most of the Ada 9X teams were on board. The process works as follows: the mapping/revision team proposes language changes meeting the requirements, and four prototyping teams (representing different compilers, computer architectures and applications domains) try out the language changes in their compilers and run specific application software on the modified compilers to fully evaluate their impact. Meanwhile, the DRs are reviewing the entire process.

There is also a formal-methods team representing the interest of the safety-critical/security systems community. This team is studying certain areas of the language from a mathematical point of view to facilitate demonstrations of program correctness and to lay the foundation for future work on a formal language definition.

Since the Ada 9X Project will be complete only when the revised standard is accepted by the Ada community and formally approved by the ANSI canvassees and the ISO WG9 delegations, massive coordination and communication are essential. To this end, several measures have been instituted. There is a toll-free Ada 9X electronic bulletin board containing the latest Ada 9X documents and status reports. There is a vendors bulletin board, where vendors can benefit from the lessons learned from the four Ada 9X prototyping teams. There have been numerous workshops, conference sessions, and panels. Draft Ada 9X documents are distributed frequently for public review and comment. Volunteer reviewers can review draft language study notes along with the DRs. All the Ada 9X teams and the Project Office communicate daily via email--my most valuable management tool. In fact, during a lengthy recuperation following surgery, I managed to stay on top of things via email from my home. The only downside of electronic messaging is the potential for massive amounts of mail--for Ada 9X about 80 messages per day!

After substantial agreement has been achieved, the ANSI and ISO balloting will begin. The canvass method is being used in seeking ANSI approval. In preparation for this event, I am closely coordinating our progress with the ANSI canvassees and ISO WG9 delegates, so we can make mid-course corrections as needed, along the way. While there was a four-year gap between ANSI and ISO approval of the original Ada standard, I hope our extensive coordination will greatly shorten this time span for Ada 9X. To minimize the risk of splitting the standard, I have invited ISO WG9 delegation chairs to participate in the ANSI canvass. This should also serve to make ISO member countries more comfortable using the ANSI Ada 9X standard if there is an administrative time delay between ANSI and ISO approval.

The Transition

Transition is perhaps the most important and the most neglected phase in a product's life cycle. All too often valuable technology remains undiscovered on a shelf or is at best, underutilized. It is not enough to develop a quality product. It has to be marketed. Ada 9X is no exception. I have developed a plan that addresses transitioning Ada 9X to application software product developers, researchers, teachers, students, and vendors. There will be guidebooks, textbooks, audiovisual aids, and updated compilers. In addition, a contract was awarded to New York University to develop a GNU Ada 9X compilation system and implementations of bindings to X-windows, POSIX and MACH. In true Free Software Foundation manner, all source code will be freely distributed. I am also working closely with academic institutions to facilitate the use of Ada in teaching and research. To me, the key to Ada's widespread success resides in academia's acceptance. Ada is increasingly being used in academic institutions as a valued tool in teaching software engineering. Over 200 universities and colleges now use Ada in their computer science/computer engineering curriculae. Our academic colleagues must be an equal partner in Ada's evolution.

The test suite that measures compiler conformance to the standard is being modified, as is the test development and maintenance process. One of our goals is to make the test suite more usage-oriented to ensure that features used the most will be very thoroughly tested. Added technical review for test development has been instituted in the form of ACVC Reviewers. This group, composed of eight Ada experts representing users, implementers, and programming language specialists, reviews all test objectives and tests prior to public release.

I have also recommended the establishment of an ISO WG9 rapporteur group to work toward the next revision of Ada (Ada 0X). Candidate features for further study by this group include features considered but rejected for Ada 9X due to a lack of supporting technology for efficient implementation. Language evolution should be a continuous process and a group such as this will serve as a facilitator.

The Frustrations

There are, of course, day-to-day frustrations associated with the management of the project. Perhaps the greatest one is trying to achieve consensus among Ada's constituency: a large and diverse group. Difficult trade-offs and decisions must be made. A balance must be achieved between meeting user needs and ensuring that those needs can be realized in an affordable, efficient and effective manner. To state this more concretely, if satisfying every user need increases the complexity of Ada significantly and results in unaffordable, inefficient and unreliable Ada compilers, then we have failed and everyone will suffer the consequences. Only through universal compromise can we expect to reasonably satisfy the majority of user needs at an acceptable cost.

The Rewards

People made or break a project. My biggest reward on the Ada 9X Project is working with some of the most innovative, dedicated, and brilliant people in the world. We have some of the world's finest programming language experts, implementers, and application developers contributing their time and talent. I am quite confident that no other software project has had such a large concentration of qualified experts.

Another reward is knowing that our end product will make a difference. I believe Ada 9X will make a positive impact on the quality of software, on the practice of software engineering, and on the caliber of future software professionals.
COPYRIGHT 1992 Association for Computing Machinery, Inc.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 1992 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Title Annotation:the Ada 9X development process
Author:Anderson, Chris
Publication:Communications of the ACM
Date:Nov 1, 1992
Words:1511
Previous Article:Ada 9X: a technical summary.
Next Article:Building consensus for Ada 9X.
Topics:

Terms of use | Privacy policy | Copyright © 2020 Farlex, Inc. | Feedback | For webmasters