Form S107-0992 ARMIMP92.TXT DEPARTMENT OF THE ARMY WASHINGTON, D.C. 20310 HQDA LTR 25-92-1 SAIS-ADW (17 July 1992) 18 September 1992 SUBJECT: Implementation of the Ada Programming Language SEE DISTRIBUTION 1. Purpose. This letter amplifies Army policy and guidelines for implementing the Ada programming language as required by DOD Directives 3402.1. Army policy and guidelines were previously set forth in HQDA Letter 25-90-1, 16 July 1990, which has expired. 2. References. Related publications are listed below. a. DOD Directive 3405.1, 2 April 1987, Computer Programming Language Policy. b. ANSI/MIL-STD-1815A-1983, Ada Programming Language, 22 January 1983. c. HQDA message, 031309Z August 1987, SQL Relational Data Base Language Standard. 3. Explanation of abbreviations. Abbreviations used in this letter are explained in the glossary. 4. Applicability and scope. This letter applies to all computer resources used to develop, modify, maintain, or support Army software. These resources include but are not limited to automated information systems, intelligence systems, tactical systems, and weapon systems that have information resources such as computers as part of, or embedded in, the host system. They also include but are not limited to systems developed by or for major commands, program executive officers/program managers, central design activities, combat development facilities, and laboratories. Except in instances noted in paragraph 6a, this policy needs not be applied retroactively to systems that have entered full-scale development or deployment phases of the life cycle, or for which a waiver has been approved by Headquarters, Department of the Army (HQDA). 5. Responsibilities a. The Director of Information Systems for Command, Control, Communications, and Computers (DISC4) will-- (1) Act as the Army Software Executive Official and serve as the Army focal point for all Ada program activities. The DISC4 will review all requests for exceptions or waivers and ensure that they are approved by the appropriate waiver approval authority. (2) Develop and execute the policy and plans necessary to ensure successful Army-wide transition to, and implementation of, the Ada language and its associated technology, including processes for software engineering and software engineering project management. b. Major Army command (MACOM) commanders and/or program executive officers (PEOs) will-- (1) Develop appropriate policy to support an Ada implementation plan. (2) Develop, submit, maintain, and execute an Ada implementation plan in the format shown in Appendix A. The implementation plan will be in three parts (systems, organizational, and lessons learned) and will be submitted/ updated on an annual basis. The systems portion will address all major systems (such as mission critical computer resources, Standard Army Management Information System, command standard, command unique, and multi-user/location) and those systems that provide input to or receive output from these systems. This portion will also include a schedule for transition to Ada, as appropriate. The organizational portion will address planning, training, and support available for migrating to Ada technology. The lessons learned portion will contain a description of the activity or event and the advantages and/or disadvantages of using Ada. (3) Maintain, as a PEO, an Ada implementation plan for those systems under their purview and ensure that assigned program/project/product managers (PMs) implement Ada in accordance with Army policy. (4) Ensure that software designers/developers are fully trained in the use of the Ada language, technology, and software engineering processes, with particular emphasis on developing components that are tested, validated, and documented for inclusion in reuse libraries. (5) Ensure that military and government civilian personnel in all software skill groups are aware of new advanced software technologies for possible implementation. (6) Develop procedures and guidelines that address good software engineering principles that, as a minimum, address software reuse, portability, and management controls. c. Heads of HQDA activities will develop, maintain, and submit implementation plans to the Department of the Army Information Manager execution. The HQDA staff agencies and their field operating agencies are considered collectively as a MACOM for execution of this letter. 6. Policy. a. The Ada programming language as defined in ANSI/MIL-STD- 1815A-1983 is the single, common, high order computer programming language for all computer resources used in the Army unless another language is mandated by a higher level directive. Ada is presumed cost-effective for all new development or modification of more than one-third of a functional component of Department of Defense (DOD) software for an application regardless of size or cost. In such cases, Ada must be used unless a waiver is granted. Approvals to use "other technologies" or another approved standard high order language (HOL), as defined in DOD Directive 3405.1, will only be granted when the use of the other technology or language is estimated/calculated to be more cost- effective or more operationally effective over the applications' life cycle. Programming languages other than Ada that were authorized and are being used in full-scale development of these systems may continue to be used through deployment and for software maintenance. In those specific instances where Army systems must interface with non-DOD agencies, such as the Central Intelligence Agency and Federal Bureau of Investigation, Ada is preferred but not required. Existing software need not be rewritten in Ada solely for the purpose of converting to Ada. All systems, however, will transition to Ada when the next hardware/software upgrade requires modification of more than one-third of the existing code over the system life cycle, unless a waiver is obtained. b. All requests for exceptions to use another approved HOL will have fully documented rationale. The requests will address technical feasibility and life-cycle cost analysis or cite the applicable higher level directive. c. When software components for Army systems are being acquired and/or developed, good software engineering principles will be exercised to facilitate the use of ada. The approach to acquiring and/or developing software components will be based on an analysis of life-cycle costs and operational efficiency. Major considerations should be: (1) The use or modification of existing Ada software. In those instances where existing software requires modification to ensure the total system meets requirments, a waiver is required if more than one-third of the source code is being changed and the changes are not written in Ada. (2) The use of off-the-shelf software and advanced software technology, implemented in other than Ada, for which no modification or Government maintenance is required. Advanced software technology includes software tools, life-cycle support environments, nonprocedural languages, and modern database management systems (DBMSs) that provide improvements in productivity, usability, maintainability, and portability. A waiver is not required for non-developmental item software application packages and advanced software technology that are not modified by or for DOD. (a) Regarding the use of fourth generation languages (4GLs)/advance software technology, the following applies. 1 The approved ad hoc query and DBMS interface language for Army systems is the structured query language (SQL), Federal Information Processing Standard 127. In accordance with HQDA message, 031309Z August 1987, SQL will be used for relational databases as the interface between programs and the supporting DBMS. A waiver is not required for any system using an SQL-compliant DBMS in conjunction with Ada. 2 Non-SQL-compliant 4GLs may be used without the requirement for a waiver to develop prototypes during requirements definition and in short term/ad hoc applications (less than 3 years' useful life). In no case will a non-Ada prototype be fielded during system implementation nor will an ad hoc application exceed the time limitation without an approved Ada waiver. (b) With the exception noted in the preceding sub-paragraph 2, 4GLs will not replace the requirement for, or the use of, Ada. (3) The development of new Ada software. If source code generators are used in the development of Ada software, they must produce an Ada source code that is maintainable and complies with ANSI/MIL-STD-1815A-1983. (4) The impact on certain critical processes that currently cannot be performed efficiently in an HOL due to timing and/or sizing constraints. These functions, requiring very fast or tightly controlled computer processing, are more appropriately written at the machine level (for example, micro-code/Assembly language). In such instances, a waiver is required for all new development or modification of more than-third of a functional component of DOD software for an application. (5) The projects must use a validated Ada compiler, as defined by the Ada Joint Program Office Ada Compiler Validation Procedures, at the start of formal testing. Providing no changes are made to the compiler, it may be used for the balance of the project's life cycle even though its associated validation certificate may have expired. If the compiler is altered, then a validation is necessary. d. If system requirements cannot be satisfied by paragraph 6c, then a waiver approval is required from HQDA (SAIS-ADW) or the appropriate waiver approval authority to: (1) Develop Army software in another computer language. (2) Acquire off-the-shelf software, implemented in other than Ada, which requires Government maintenance or modification. (3) Implement a system/subsystem in a 4GL. (4) Develop an Army system, with severe time and/or size constraints, in which the programming language is non-Ada source code. e. In all instances, however, it must have been demonstrated that the software strategy is more cost-effective or more operationally effective over the system life and include a statement of maintainability from the responsible software maintainer. 7. Waivers a. With the exception of paragraph 6c, a waiver must be obtained to develop any non-Ada software. b. Justification must address the following issues. (1) The waiver request will provide adequate technical description to address limitations, documentation, portability, maintainability, and usability of the proposed software language or package. (2) The waiver request will provide complete life-cycle economic rationale for both Ada and the requested language. For tactical systems, intelligence systems, and embedded weapon systems, the waiver request must also include a risk analysis that addresses technical performance and schedule impact. c. A waiver request for all new initiatives must be approved prior to Milestone I approval. Prototypes may use advanced software technology (such as 4GLs) per sub-paragraph 6c(2). However, sunk costs for a non-Ada prototype will not be considered justification for a waiver. d. An existing system undergoing modification, as defined in paragraph 6a, must have received a waiver prior to system redevelopment regardless of the cost. e. The long-term costs of supporting programmers, environments, and software code for diverse languages will be closely scrutinized when waivers are considered. f. Waivers will apply only to the specified system or subsystem identified. g. Waiver processing procedures are as follows: (1) When there is a PEO/PM structure in place, the waiver request will be submitted from the PM through the PEO (and MACOM if appropriate) to HQDA (SAIS-ADW). All requests will have a statement of maintainability from the applicable Life Cycle Software Engineering Center, Software Development Center, or Government software engineering organization that will be responsible for maintenance of the system. (2) When there is no PEO/PM structure in place, the waiver request will be submitted through the cognizant software support center through the MACOM to the office of the DISC4. (3) Waivers may be denied at any level but final approval authority is as follows. Waiver requests will be processed within 30 days of receipt or an interim response will be provided. (a) Authority is delegated to the Director, Defense Research and Engineering to grant special exemptions/waivers for software that is physically part of, dedicated to, or essential in real-time to the mission performance of weapon systems; used for weapon systems specialized training, simulation, diagnostic test and maintenance, or calibration; or used for research and development of weapon systems. (b) Authority is delegated to the DISC4 to grant special exemptions/waivers for all other software under his/her responsibility except for DOD Intelligence Systems, which are the responsiblity fo the Assistant Secretary of Defense (Command, Control, Communications and Intelligence). (c) Waivers approved at the MACOM/PEO level will be processed through the Office of the DISC4. After a review, those requests that are recommended for approval will be forwarded by the Office of the DISC4 to the appropriate waiver approval authority. 8. Effective date and implementation. This directive is effective immediately. MACOM Deputy Chiefs of Staff for Information Management and PEOs will forward a copy of their consolidated initial/updated Ada implementation plans (appendix A) to HQDA (SAIS-ADW) Washington, D.C. 20310-0107 by 1 October annually. Appendix A Ada Systems Implementation Plan 1. MACOM/Installation 2. POC of contact name/telephone 3. System name and acronym 4. Current life cycle management phase 5. System fielding date 6. Automatic data processing hardware used 7. Computer operating system 8. Software languages used by subsystem(s) including support software a. Name b. Lines of code c. Percent of system 9. DMS used 10. DBMS interface technique 11. Program design language/implementation language 12. Project approval documentation (computer resources management plan, acquisition plans, etc., with status) 13. Date Waiver Approved (if applicable) 14. Ada transition dates (start and finish) 15. Planned upgrade date(s) (for either hardware or software) 16. Maintenance responsibility 17. System documentation standard used 18. Transition to Ada (narrative explanation Ada Organizational Implementation Plan 1. Human Resources a. Education and training of incumbent management and technical personnel b. Accession/recruitment of qualified Ada personnel c. Ada support contractor 2. Resources a. Financial b. Technical status (1) Ada support environment (including interface DOD Standard 1838) (2) Interface to operational environment (a) DBMS (b) Operating system (c) Graphics suppor Ada Lessons Learned This section will contain input relative to your Ada accomplishments and lessons learned. The format is free form; however, at a minimum this portion will include a description of the activity event, background, advantages and disadvantages (if applicable), and lessons learned. Glossary Abbreviations ANSI ------------ American National Standards Institute DBMS ------------ database management system DISC4 ----------- Director of Information Systems for Command, Control, Communications, and Computers DOD ------------- Department of Defense 4GL ------------- fourth generation language HOL ------------- high order language HQDA ------------ Headquarters, Department of the Army MACOM ----------- major Army command PEO ------------- program executive officer PM -------------- program/project/product manager SQL ------------- structured query language BY ORDER OF THE SECRETARY OF THE ARMY: MILTON H. HAMILTON Administrative Assistant to the Secretary of the Army DISTRIBUTION: HQDA (DACS-ZA) HQDA (SAFM) HQDA (SARD) HQDA (SAAA) HQDA (SAIS-ZA) HQDA (SAIG-ZA) HQDA (DAMI-ZA) HQDA (DALO-ZA) HQDA (DAMO-ZA) HQDA (DAPE-ZA) HQDA (DAEN-ZA) HQDA (DASG-ZA) HQDA (NGB-ZA) HQDA (DAAR-ZA) HQDA (DAJA-ZA) HQDA (DACH-ZA) COMMANDER-IN-CHIEF U.S. ARMY, EUROPE AND SEVENTH ARMY COMMANDERS EIGHTH U.S. ARMY FORCES COMMAND U.S. ARMY MATERIEL COMMAND U.S. ARMY TRAINING AND DOCTRINE COMMAND U.S. ARMY INFORMATION SYSTEMS COMMAND U.S. ARMY PACIFIC MILITARY TRAFFIC MANAGEMENT COMMAND U.S. ARMY CRIMINAL INVESTIGATION COMMAND U.S. ARMY HEALTH SERVICES COMMAND U.S. ARMY INTELLIGENCE AND SECURITY COMMAND U.S. ARMY SOUTH SUPERINTENDENT, U.S. MILITARY ACADEMY CF: HQDA (SASA) HQDA (SAUS) HQDA (SACW) HQDA (SAILE) HQDA (SAMR) HQDA (SAGC) HQDA (SAAG-ZA) HQDA (SALL) HQDA (SAPA) HQDA (SADBU) COMMANDERS U.S. ARMY MILITARY DISTRICT OF WASHINGTON U.S. ARMY STRATEGIC DEFENSE COMMAND U.S. ARMY RECRUITING COMMAND DIRECTOR, DEFENSE LOGISTICS AGENCY PEO, COMM PEO, STAMIS PEO, CCS PEO, SIS PEO, AMMO PEO, ARMAMENTS PEO, CHEM/NUC PEO, HEAVY FORCE MODERNIZATION PEO, AVIATION PEO, COMBAT SUPPORT PEO, FIRE SUPPORT PEO, AIR DEFENSE PEO, IEW PEO, STRATEGIC DEFENSE *****************************************************************