Chapter 3 Section 1
Project Planning Impacts of the Transition to Ada 95
Some of the quantitative information in this section comes from the
User/Implementor Team Reports (see Appendix A),
which published the early results of groups using the preliminary language
definition and compilers. Other information in this section is derived from
projections based on Ada 83 adoption and usage, as well as experiences of
those adopting other languages and technologies.
The transition to Ada 95 will most likely have the same
impact on project cost and schedule as the adoption of other new
technologies. The changes are based on the specific conditions
involved with the new technology insertion - in other words, you
calibrate the model for your situation. Commonly used cost models
such as Ada-COCOMO, REVIC, SLIM and SoftCost-Ada help managers
estimate the impact of the adoption of new technologies. This
impact is commonly represented by changing "coefficients"
and "power" figures in the cost equations.
The learning curve associated with the adoption of any new technology
will have an impact on project planning. In the transition to
Ada 95, the learning curve is dominated by new concepts such as
object-oriented programming, rather than by Ada 95 language constructs.
Managers can shorten this learning curve and lessen the impact
on the project budget and schedule by implementing an incremental
transition to Ada 95, in which a few new Ada 95 technologies are
introduced at first and others are adopted later.
An incremental transition will likely involve even fewer iterations
than the number required for the initial transition to Ada 83,
since Ada 95 adds only a few new large concepts and features.
The downside: few benefits may be realized at first, at least
until most of the Ada 95 features are in use.
Early data on Ada 95 from the reports of the User/Implementor
teams tell us:
- Compilation time was faster than a corresponding Ada 83 program
- this may accelerate schedules, but it is not yet possible to
say by how much; and
- Code that has been re-engineered to use some new Ada 95 features
(e.g., protected types) ran faster and was smaller than corresponding
Ada 83 code - this may allow some projects to achieve their requirements
with less risk.
PEOs and PMs should remember, however, that these were early results
with partial compilers. It remains to be seen whether complete
implementation of the standard language works better, the same,
or not as well in these and other areas.
The transition to Ada 95 from other languages will most
likely resemble the transition from those languages to Ada 83.
Therefore, PEOs and PMs should make use of Ada-based cost estimation
tools such as Ada-COCOMO, REVIC, SLIM and SoftCost-Ada.
In calibrating those models, the coefficients that control the
insertion of new technology and the familiarity with Ada technology
should be set to help project the transition from the group's
previous language to Ada 95.
It should be expected that there will be a slightly higher learning curve
when transitioning from the old language to Ada 95 than experienced in a
transition to Ada 83, since Ada 95 contains additional technology. However,
this effect can be mitigated by adopting an incremental transition strategy as
advised in the Ada 95 Transition Planning Guide.
If a project adopts Ada 95 to exploit new technologies such as object-
oriented programming, then learning to use new technologies such as object-
oriented programming is a major item contributing to the risk of cost and
schedule impacts. These underlying technology shifts are present whenever one
changes programming languages, however. If the incremental transition
strategies mentioned above are followed, the cost and schedule impact of
adopting Ada 95 should be no worse than historical data have shown it to be
for groups adopting Ada 83 or other programming languages, and may be
considerably better.
Ada 95 offers PMs an opportunity to increase the quality
of their systems through increased reuse of Ada and COTS software.
PMs have the ability to mitigate any risk of decreased quality
caused by the increased learning curve. The results of
the use of Ada 95 on project quality will directly depend on how
successfully the developers exploit the new Ada 95 features. Several
Ada 95 features may in fact lead to a general increase in quality:
- Ada 95's ability to make use of bindings to existing software
packages in other languages,
- Enhanced program architecture support,
- Increased support for object-oriented programming, and
- New, simpler, real-time primitives.
These features will increase the amount of reusable components
and COTS software that can be used on Ada 95 projects. These components
will be used on more projects and exercised more than project-unique
components. As a result, more errors will be found and removed
from common software than are typically found in most project-unique
software. Therefore, one of the chief benefits of Ada 95's increased
support for reuse and COTS becomes the associated increase in
quality on each project. The new, simpler real-time features (e.g.,
protected types) will help developers produce software with fewer
problems such as deadlocks and race conditions.
Most of the early users of specific partial Ada 95 features
have had favorable experiences. As might be expected,
those who have been waiting for this new version of the language
are happy to finally be able to use the new features that they
have requested: preliminary users have reported the following.
(All comments are based on anecdotes; no formal experiments have
yet reported data.)
- Ada 95 software is easier to write and to modify.
- The early partial compilers are as fast as, or faster than,
their existing Ada 83 counterparts.
- Some Ada 95 features (such as protected types) result in a
noticeable increase of the application's executable speed.
- The execution speed and size costs of some features (such
as the OOP features) are well within expectations.
Early users have been positive. Their single biggest complaint
to date has been that not all of the features were (yet) implemented
by every tool.
Since the inception of the language revision, there have
been groups providing feedback to the Language Revision Team.
These groups fall into several categories:
- Language Evaluators - The Ada 95 Program Office contracted
with several teams to prototype compilers and to use those compilers
- these were the User/Implementor teams. Three teams tested different
aspects of the language in differing domains: real-time embedded
systems, command and control systems, and information systems.
Each team evaluated the impact of the language on existing software,
on their compilers, and on the performance of the software. Many
of their suggestions were incorporated into later language revisions.
- Trainers and Consultants - For several years now, trainers
and consultants have been creating courses in Ada 95, including
the development of sample software using Ada 95. Some of these
examples have served as the basis for testing the early partial
Ada 95 compilers. These courses have been presented to many audiences.
During the course presentation, instructors relay their early
experiences in learning to use Ada 95.
- Universities - The AJPO, ARPA, and the Ada 95 Project Office
have awarded grants to universities to facilitate the creation
of Ada 95 courses and course material. Professors, graduate students
and undergraduate students have, therefore, become some of the
early users of Ada 95. Their course material includes examples
of Ada 95 programs. Additionally, they have converted some university
written software to Ada 95.
- Industrial and Government Pilot Projects - Companies and
parts of the Government have already begun pilot projects to help
their organizations understand the issues and risks associated
with the adoption of Ada 95. NASA's Flight Data System Division
is working on a pilot project to develop Ada 95 guidelines for
avionics flight software and benchmark programs. The United Kingdom's
Ministry of Defense has commissioned a pilot study to re-implement
Ada 83 software in Ada 95.
- Early Adopters on Production Projects - Projects
have already begun using Ada 95. Some large projects expect to
continue development for several more years; others are only a
few months in duration. The most well known of these is the Army's
Patriot Fire Control system, which is being rewritten in Ada 95.
Three Technology Transition Partners are working with the AJPO
on Ada 95 adoption projects: the Army's CASS project, a part of
GCCS; the JAST Joint Avionics Support project for the Navy, Air
Force, and Marines; and the Airfields Project, a part of DISA's
GCCS effort.
Several sources of information on early
Ada 95 use exist, although the information is mostly anecdotal in nature; no
large quantitative studies or experiments have been conducted. The
User/Implementor Teams' experiences have been recorded in formal reports. Many
papers on early Ada 95 experiences have been published in conference
proceedings, including Tri-Ada 93 and 94, the 1993 and 1994 Washington Ada
Symposium, and ANCOAT 1994 and 1995. Also, articles on early Ada 95 use have
appeared in periodicals such as Ada Letters. For more information on
obtaining these articles, contact the Ada Information Clearinghouse (AdaIC).
Previous Section - Introduction
Next Section - Tools and Environment Related Risks
Table of Contents