|
Table 6. Third Generation "Other" Languages |
| Language |
Purpose Unverified |
| DTC | |
| LISA | Language for Systolic Array Processor |
| PIL | HARM Program Implementation Language |
| PLM | |
| PLM-51 | |
| PLM-86 | |
| Pspice | |
| REXX HOL | |
| TACL TSC | |
| VTL | |
Finding 2: Ada is the leading third generation language in terms of
existing weapon system source lines of code.
Figure 7 presents the top five third generation languages in terms of
estimated total SLOC surveyed. Survey responses reported an estimated
49+ million SLOC in Ada and 32+ million SLOC in C. These five languages
represent about 84% of the total estimated third generation SLOC
reported.
Finding 3: Ada is the leading third generation language in terms of
number of weapon system responses indicating usage.
Figure 8 presents the top five third generation languages in terms of
the number of responses reporting specific language use. As can be
seen, 143 responses indicated the use of Ada and 122 responses
indicated the use of C. In comparing Figure 7 and Figure 8, the key
difference is the more frequent reported use of C++, albeit with fewer
total estimated surveyed SLOC. Note that the data presented in Figure 7
do not represent a uniform population (i.e., survey responses address
varying levels of abstraction). See Section 2.6 for details.
Finding 4: Two-thirds of the weapon system responses reported on
application systems of 500,000 or less SLOC.
Figure 9 presents the distribution of responses in terms of the Total
SLOC range selected on the response form. The large number of 1-499+K
responses is due, in part, to responses at the subsystem level.
Finding 5: Over 70% of the weapon system responses indicated the use of
more than one programming language from all five generations.
Figure 10 presents the distribution of responses in terms of the number
of languages reported on a response form (single subsystem or system).
Finding 6: Multiple versions of third generation languages are being
used in weapon systems.
The goal of the 1970s, language commonality within the weapon system
community, has not been reached yet even for military standards such as
Jovial and CMS-2 (Figure 11). In addition, at least two versions are
being used for most Federal Information Processing Standards (FIPS).
Different versions of a language are almost always incompatible.
Dialects of a version present subtle but not inconsequential porting
problems, particularly when they are dialects based upon older versions
of the language. For example, there are 10 or more different dialects
of pre-J73 Jovial still in use.
4.2 AIS Findings
Finding 7: Most AIS software is being written and maintained in third
generation languages.
Figure 12 is the SLOC distribution of all generations of languages used
in AIS application. Table 7 is the numeric presentation of Figure 12.
The use of first generation language (machine language) is limited to
only one of the AISs. The use of assembly (including proprietary macro
languages) is inconsequential when compared to weapon system
applications.