home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / point / d34051.txt < prev    next >
Encoding:
Text File  |  1988-05-03  |  18.1 KB  |  377 lines

  1. This file contains the text of
  2. DoD DIRECTIVE 3405.1, Computer
  3. Programming Language Policy
  4. (Ada IC Point of Contact:  Fred Yu)
  5. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6.  
  7.  
  8.                             Department of Defense
  9.                                   DIRECTIVE
  10.  
  11.                                                             April 2, 1987
  12.                                                                 NUMBER 3405.1
  13.                                                                                         
  14.                                                                 ASD(C)
  15.  
  16. SUBJECT:  Computer Programming Language Policy
  17.  
  18. References:  (a) DoD Instruction 5000.31, "Interim List of DoD Approved Higher
  19.                  Order Programming Languages (HOL)," November 24,1976
  20.                  (hereby canceled)
  21.              (b) DoD Directive 7740.1, "DoD Information Resources Management
  22.                  Program," June 20, 1983
  23.              (c) DoD Directive 5000.1, "Major System Acquisitions," March 12,
  24.                  1986
  25.              (d) DoD Directive 5000.29, "Management of Computer Resources in
  26.                  Major Defense Systems," April 26, 1976
  27.                  (e) through (j), see enclosure 1
  28.  
  29. A.  PURPOSE
  30.  
  31.     This Directive supersedes reference (a) and supports references (b) and
  32. (c) by establishing policy for computer programming languages used for the
  33. development and support of all DoD software.
  34.  
  35. B.  APPLICABILITY AND SCOPE
  36.  
  37.     This Directive:
  38.  
  39.     1.  Applies to the Office of the Secretary of Defense (OSD), the Military
  40. Departments (including the National Guard and Reserve), the Organization of
  41. the Joint Chiefs of Staff (OJCS), the Unified and Specified Commands, the
  42. Inspector General of the Department of Defense (IG, DoD), the Defense
  43. Agencies, and nonappropriated fund activities (hereafter referred to
  44. collectively as "DoD Components").
  45.  
  46.     2.  Covers all computer resources managed under reference (d) or DoD
  47. Directive 7920.1 (reference (e)).
  48.  
  49.     3.  Need not be applied retroactively to systems that have entered
  50. full-scale development or have passed Milestone II of references (c) and (e),
  51. and for which a documented language commitment was made in compliance with
  52. previous policy.
  53.  
  54. C.  DEFINITIONS
  55.  
  56.     Special terms used in this Directive are explained in enclosure 2;
  57. otherwise, refer to the "American National Dictionary for Information
  58. Processing Systems" (reference (f)).
  59.  
  60. D.  POLICY
  61.  
  62.     It is DoD policy to:
  63.  
  64.     1.  Satisfy functional requirements, enhance mission performance, and
  65. provide operational support through the use of modern software concepts,
  66. advanced software technology, software life-cycle support tools, and standard
  67. programming languages.
  68.  
  69.     2.  Achieve improvements in DoD software management through the
  70. implementation of processes for control of the use of higher order languages,
  71. including specification of standards and waiver procedures. 
  72.  
  73.     3.  Limit the number of programming languages used within the Department
  74. of Defense to facilitate achievement of the goal of transition to the use of
  75. Ada* (reference (g)) for DoD software development.
  76.  
  77.         a.  The Ada programming language shall be the single, common, computer
  78. programming language for Defense computer resources used in intelligence 
  79. systems, for the command and control of military forces, or as an integral part
  80. of a weapon system.  Programming languages other than Ada that were authorized
  81. and being used in full-scale development may continue to be used through
  82. deployment and for software maintenance, but not for major software upgrades.
  83.  
  84.         b.  Ada shall be used for all other applications, except when the use
  85. of another approved higher order language is more cost-effective over the
  86. application's life-cycle, in keeping with the long-range goal of establishing
  87. Ada as the primary DoD higher order language (HOL).
  88.  
  89.         c.  When Ada is not used, only the other standard higher order pro-
  90. gramming languages shown in enclosure 3 shall be used to meet custom-developed
  91. procedural language programming requirements.  The use of specific HOL's shall
  92. be based on capabilities of the language to meet system requirements. Guidance
  93. in selecting the appropriate HOL to use is provided in NBS Special Publication
  94. 500-117 (reference (h)).
  95.  
  96.     4.  Prefer, based on an analysis of the life-cycle costs and impact, use 
  97. of:
  98.  
  99.        a.  Off-the-shelf application packages and advanced software technology.
  100.  
  101.        b.  Ada-based software and tools.
  102.  
  103.        c.  Approved standard HOL's.
  104.  
  105.     5.  Consider the potential impact on competition for future software
  106. and/or hardware enhancements or replacement when selecting Defense, public
  107. domain, or commercially available software packages, or advanced software
  108. technology.
  109.  
  110.     6.  Use life-cycle management practices, as required by DoD Directive 
  111. 7920.1 (reference (e)) and DoD Directive 5000.29 (reference (d)), for the
  112. development, support, and use of software, whether custom-developed or 
  113. commercially acquired.
  114.  
  115.     7.  Reduce software obsolescence and the cost of software maintenance
  116. through use of approved programming languages and appropriate advanced 
  117. software technology during all phases of the software life-cycle.
  118.  
  119. E.  RESPONSIBILITIES
  120.  
  121.     1.  The Assistant Secretary of Defense (Comptroller) (ASD(C)) and the 
  122. Under Secretary of Defense (Acquisition) (USD(A)) shall jointly:
  123.  
  124.        a.  Ensure that the policy and procedures in this Directive are
  125. implemented.
  126.  
  127.        b.  Assign responsibility to a specific DoD Component to act as the DoD
  128. language-control agent for each DoD-approved standard HOL.
  129.  
  130.        c.  Process nominations for changes to the list of approved HOL's.
  131.  
  132.     2.  The Assistant Secretary of Defense (Comptroller) shall:
  133.  
  134.        a.  For automated information systems, establish programs, as 
  135. appropriate, for the enhancement of the software engineering process and the 
  136. transition of such technology from the marketplace and research programs to 
  137. application within general purpose automated data processing systems.
  138.  
  139.        b.  Define research and development requirements for automated 
  140. information systems after consultation with DoD Components and provide such
  141. requirements to USD(A) for inclusion in their research and development program.
  142.  
  143.     3.  The Under Secretary of Defense (Acquisition) shall:
  144.  
  145.        a.  Establish and support a software and information technology
  146. research and development program that is responsive to the identified needs.
  147.  
  148.        b.  Manage the DoD Ada program and maintain and Ada Joint Program 
  149. Office (AJPO) to oversee the maintenance of the Ada language and the 
  150. insertion of Ada-related technology into the Department of Defense.
  151.  
  152.        c.  Establish research programs, as appropriate, for the enhancement 
  153. of software engineering technology and transferring such technology to use in 
  154. intelligence systems and systems for the command and control of military 
  155. forces, and to computer resources that are an integral part of a weapon system.
  156.  
  157.     4.  The Head of Each DoD Component shall:
  158.  
  159.        a.  Implement and execute internal procedures consistent with the 
  160. policy and procedures in this Directive.
  161.  
  162.        b.  Designate a language-control agent for each approved HOL for which
  163. the DoD Component is assigned responsibility and ensure compliance with the 
  164. procedures in enclosure 4.
  165.  
  166.        c.  Institute a process for granting waivers to the use of approved
  167. HOL's in accordance with section F., below.
  168.  
  169.        d.  Specifically address in the Component's overall computer resources
  170. planning process:
  171.  
  172.               (1)  The use of appropriate advanced software technology for
  173. developing new applications and technological upgrades of existing systems.
  174.  
  175.               (2)  The current use of assembly languages, nonstandard HOL's,
  176. vendor extensions, and enhancements of standard HOL's, and actions taken to 
  177. ensure that such use is minimized.
  178.  
  179.        e.  Establish a program for evaluating, prototyping, and inserting
  180. advanced software technology into the development, modification, and
  181. maintenance process, and hold operational software managers accountable for 
  182. investment in and migration to advanced software technology for their 
  183. particular environment.
  184.  
  185.        f.  Establish and maintain training, education, and career development
  186. programs that will ensure that DoD personnel are fully able to use new
  187. advanced software technologies.
  188.  
  189. F.  WAIVER PROCEDURES
  190.  
  191.     1.  Waivers to the policy in subsection D.3., above, shall be strictly
  192. controlled and closely reviewed.  Authority for issuing waivers is delegated 
  193. to each DoD Component.
  194.  
  195.        a.  Each proposed waiver shall contain full justification and shall,
  196. at a minimum, include a life-cycle cost analysis and a risk analysis that 
  197. addresses technical performance and schedule impact.  Each waiver granted by
  198. the DoD Component shall apply to only one system or subsystem.
  199.  
  200.        b.  Justification for granted waivers shall be provided to USD(A) or 
  201. ASD(C) within the scope of their individual responsibilities, as periodically 
  202. requested for review.
  203.  
  204.     2.  A waiver NEED NOT be obtained for use of:
  205.  
  206.        a.  Commercially available off-the-shelf applications software that is
  207. not modified or maintained by the Department of Defense.
  208.  
  209.        b.  Commercially available off-the-shelf advanced software technology
  210. that is not modified or maintained by the Department of Defense.
  211.  
  212.        c.  Computer programming languages required to implement
  213. vendor-provided updates to commercially supplied off-the-shelf software.  Use 
  214. of such languages shall be restricted to implementing the vendor updates.
  215.  
  216.     3.  A waiver IS REQUIRED for use of unmodified Defense or public domain 
  217. software that does not conform to the language requirements of subsection
  218. D.3., above.  Maintenance of the software shall be specifically addressed in
  219. the waiver request to include life-cycle maintenance costs and the 
  220. availability of source codes and necessary software tools.
  221.  
  222. G.  EFFECTIVE DATE AND IMPLEMENTATION
  223.  
  224.     This Directive is effective immediately.  Forward one copy of implementing
  225. documents to the Assistant Secretary of Defense (Comptroller) and one copy to
  226. the Under Secretary of Defense (Acquisition) within 120 days.
  227.  
  228.                                                    William H. Taft, IV
  229.                                                    Deputy Secretary of Defense
  230.  
  231.  
  232.  
  233.  
  234.  
  235. Enclosures - 4
  236.   1.  References
  237.   2.  Special Terms and Definitions
  238.   3.  DoD-Approved Higher Order Programming Languages
  239.   4.  Procedures for Controllong Higher Order Languages (HOL)
  240.  
  241.  
  242. *Ada is a Registered Trademark of the U.S. Goverment (Ada Joint Program
  243. Office).
  244. -------------------------------------------------------------------------------
  245.                                                                3405.1 (Encl 1)
  246.  
  247.                                REFERENCES, continued
  248.  
  249. (e)  DoD Directive 7920.1, "Life Cycle Management of Automated Information
  250.      Systems (AIS)," October 17, 1978
  251. (f)  National Bureau of Standards (NBS) FIPS Publication 11-2, "American
  252.      National Dictionary for Information Processing Systems," May 9, 1983
  253. (g)  ANSI/MIL-STD-1815A-1983, "Ada Programming Language," February 1983
  254. (h)  National Bureau of Standards Special Publication 500-117, "Selection and
  255.      Use of General Purpose Programming Languages," October 1984
  256. (i)  DoD 4120.3-M, "Defense Standardization and Specification Program Policies
  257.      Procedures and Instructions," August 1978, authorized by DoD Directive
  258.      4120.3, February 10, 1979
  259. (j)  DoD Directive 5010.19, "Configuration Management," May 1, 1979
  260.  
  261. ------------------------------------------------------------------------------
  262.                                                               3405.1 (Encl 2)
  263.  
  264.  
  265.                            SPECIAL TERMS AND DEFINITIONS
  266.                                          
  267. 1.  Advanced Software Technology.  Software tools, life-cycle support environ-
  268. ments (including program support environments), nonprocedural languages,
  269. modern data base management systems, and other technologies that provide 
  270. improvements in productivity, usability, maintainability, portability, etc.,
  271. over those capabilities commonly in use.
  272.  
  273. 2.  Automated Information Systems.  A collection of functional user and
  274. automatic data processing personnel, procedures, and equipment (including
  275. automatic data processing equipment(ADPE)) that is designed, built, operated, 
  276. and maintained to collect, record, process, store, retrieve, and display 
  277. information.
  278.  
  279. 3.  Major Software Upgrade.  Redesign or addition of more than one-third of
  280. the software.
  281.  
  282. ------------------------------------------------------------------------------
  283.                                                                3405.1 (Encl 3)
  284.  
  285.  
  286.                   DoD-Approved Higher Order Programming Languages
  287.                                          
  288.                                          
  289.   ---------------------------------------------------------------------------
  290.   |             |                             |                  | Industry |
  291.   | Language    |        Standard Number      | DoD Control Agent| Control  |
  292.   |             |                             |                  | Agent    |
  293.   ---------------------------------------------------------------------------
  294.   | Ada         | ANSI/MIL-STD-1815A-1983     | Ada Joint Program| ANSI     |
  295.   |             | (FIPS 119)                  | Office           |          |
  296.   ---------------------------------------------------------------------------
  297.   | C/ATLAS     | IEEE STD 716-1985           | Navy             | IEEE     |
  298.   ---------------------------------------------------------------------------
  299.   | COBOL       | ANSI X3.23-1985 (FIPS 21-2) | Air Force        | ANSI     |
  300.   ---------------------------------------------------------------------------
  301.   | CMS-2M      | NAVSEA 0967LP-598-2210-1982 | Navy             | N/A      |
  302.   ---------------------------------------------------------------------------
  303.   | CMS-2Y      | NAVSEA Manual M-5049, M-5045| Navy             | N/A      |
  304.   |             | M-5044-1981                 |                  |          |
  305.   ---------------------------------------------------------------------------
  306.   | FORTRAN     | ANSI X3.9-1978 (FIPS 69-1)  | Air Force        | ANSI     |
  307.   ---------------------------------------------------------------------------
  308.   | JOVIAL (J73)| MIL-STD-1589C (USAF)        | Air Force        | N/A      |
  309.   ---------------------------------------------------------------------------
  310.   | Minimal     | ANSI X3.60-1978 (FIPS 68-1) | Air Force        | ANSI     |
  311.   | BASIC       |                             |                  |          |
  312.   ---------------------------------------------------------------------------
  313.   | PASCAL      | ANSI/IEEE 770X3.97-1983     | Air Force        | ANSI     |
  314.   |             | (FIPS 109)                  |                  |          | 
  315.   ---------------------------------------------------------------------------
  316.   | SPL/1       | SPL/1 Language Reference    | Navy             | N/A      |
  317.   |             | Manual, Intermetrics Report |                  |          |
  318.   |             | No. 172-1                   |                  |          |
  319.   ---------------------------------------------------------------------------
  320.   Note.  See NBS Special Publication 500-117 (reference (h)).
  321.  
  322.  
  323. ------------------------------------------------------------------------------
  324.                                                                3405.1 (Encl 4)
  325.  
  326.               PROCEDURES FOR CONTROLLING HIGHER ORDER LANGUAGES (HOL)
  327.                                          
  328.         1.  All Ada compilers that are used for creation of software to be 
  329. delivered to or maintained by the Government shall be formally validated in
  330. accordance with procedures and guidelines set by the AJPO.
  331.  
  332.         2.  Each DoD-approved HOL shall be assigned to a DoD language-control
  333. agent, as shown in enclosure 3, who shall:
  334.  
  335.          a.  Have the authority and responsibility for proper support of all
  336. language-control activities needed to provide for necessary modification and 
  337. improvement of the assigned HOL.  The agent shall operate in accordance with 
  338. DoD 4120.3-M (reference (i)).
  339.  
  340.          b.  Provide configuration control for DoD HOL's in accordance with 
  341. DoD Directive 5010.19 (reference (j)).  For HOL's controlled under industry 
  342. (e.g.,Institute for Electrical and Electronic Engineers or American National 
  343. Standards Institute) procedures, the agent shall represent the Department of
  344. Defense to the controlling body.
  345.  
  346.          c. Maintain a single standard definition of the assigned HOL and make
  347. this definition document available as a Federal, DoD, military, or adopted
  348. industry standard.  The agent shall also gather and disseminate appropriate
  349. information regarding use of the HOL, its compilers, interpreters, and 
  350. associated tools.
  351.  
  352.         3.  A DoD Component may nominate a language for removal from the list 
  353. of approved languages by submitting a justification document, which presents 
  354. the rationale for the proposed deletion and an impact analysis, to the 
  355. ASD(C), who will coordinate it with USD(A).
  356.  
  357.         4.  A DoD Component may also nominate a language for inclusion on the 
  358. list of approved languages by submitting a justification document to the 
  359. ASD(C), who will coordinate it with USD(A).  The justification document 
  360. shall include the following:
  361.  
  362.           a.  A detailed rationale for using the language, including how the
  363. candidate language meets specific DoD requirements that are not satisfied by 
  364. the approved languages.
  365.  
  366.           b.  A description of the language and the environment and a detailed
  367. unambiguous specification of the language.
  368.  
  369.           c.  An economic analysis of the impact of the language over its 
  370. expected life-cycle.
  371.  
  372.           d.  A detailed plan for implementing and supporting the language, 
  373. including identification of the DoD Component that will accept designation as
  374. control agent for the language.
  375. -----------------------------------------------------------------------------
  376.  
  377.