A Common Programming Language for the Depart Final Ment of Defenses-Background and Technical January -December 1975 1 Requirements «
Total Page:16
File Type:pdf, Size:1020Kb
Approved for public release; distribution unlimited I 1 PAPER P-1191 A COMMON PROGRAMMING LANGUAGE 1 FOR THE DEPARTMENT OF DEFENSE - - I BACKGROUND AND TECHNICAL REQUIREMENTS I I D. A. Fisher June 1976 I 1 I I I I INSTITUTE FOR DEFENSE ANALYSES I SCIENCE AND TECHNOLOGY DIVISION I I IDA Log No. HQ 76-18215 I Cop-)*- > . -JJ . of 155. cop I ess Approved for public release; distribution unlimited I I I I The work reported in this document was conducted under contract DAHC15 73 C 0200 for the Department of Defense. The publication I of this IDA Paper does not indicate endorsement by the Department of Defense, nor should the contents be construed as reflecting the official position of that agency. I I I I This document has been approved for public release, distribution is unlimited. I I 1 1 1 I I I Copyright IDA/Scanned June 2007 I 1 Approved for public release; distribution unlimited UNCLASSIFIED - ©; ; ; : ;" -; .©, . 1 SECURITY CLASSIFICATION OF THIS PAGE CWnen DM* Entered; READ INSTRUCTIONS REPORT DOCUMENTATION PAGE BEFORE COMPLETING FORM ). RECIPIENT©S CATALOG NUMBER 1 Paper P-J.191. 4. TITLE fend Subtitle.) 5. TYPE Of REPORT e PERIOD COVERED A Common Programming Language for the Depart Final ment of Defenses-Background and Technical January -December 1975 1 Requirements «. PERFORMING ORG. REPORT NUMBER P-1191 I. CONTRACT OR GRANT NUMBERflJ 1 DAHC15 73 C 0200 D.A, Fisher 10. PROGRAM ELEMENT. PROJECT TASK 1 INSTITUTE FOR DEFENSE ANALYSES AREA * WORK UNIT NUMBERS 400 Army-Navy Drive Task T-36 Arlington. Virginia 22202 11. CONTROLLING OFFICE NAME AND ADDRESS 12. REPORT DATE I Defense Advanced Research. Projects Agency June 1976 1400 Wilson Boulevard 0. NUMBER OF PAGES Arlington, Virginia 22209 158 I 14. MONITORING AGENCY NAME * AODRESSfll dilferenl Iron Contralllnt Ollirf) 15. SECURITY CLASS, (ol Ihli report; ODDR&E, Electronics & Physical Sciences UNCLASSIFIED <Se. OE CLASSIFICATION DOWNGRADING I SCHEDULE N/A 16. DISTRIBUTION STATEMENT (ol ffiie R.porl) 1 Approved for public release; distribution unlimited. 1 17. DISTRIBUTION STATEMENT (ol the mbttrmct entered In Block 30. II dl/lerenl from Ripen) None 18. SUPPLEMENTARY NOTES 1 N/A 1». KEY WORDS (-Continue on reverse eide tl neceoery «"d ©dentllx by Woe* number; Embedded Computer Systems (Common), Programming Languages, Software 1 Commonality, Real time, Compilers, Software tools, -Data types, Machine representations, Translators, Control Structures, Syntax, Programming 1 Language Semantics, Programming Language Design Criteria 20. ABSTRACT (Continue on reveree elde II n.c...«ry end Idenlilr b, block number; This paper presents the set of characteristics needed for a ^common programming language of embedded computer systems applications iri the 1 DoD. In addition, it describes the background, purpose, and organization of the DoD Common Programming Language Efforts. It reviews the issues considered in developing the needed language characteristics, explains 1 how certain trade-offs and potential conflicts were resolved, and dis cusses, the criteria used to ensure that any language satisfying the DO , jA*"M7i 1473 "©T© * or © NOV " © o«<»-eTe UNCLASSIFIED 1 SfCURITTcLASSIFICATlON OF THIS PAGE (Ifhen Dele emer.tf) 1 Approved for public release; distribution unlimited UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGEfHfian Dmtm Enl*r*d) 20. criteria will be suitable for embedded computer applications, will not aggravate existing software problems, and will be suitable for stan dardization. UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGEflWiwi D.f. En(«r.c« 1 Approved for public release; distribution unlimited 1 I Jj PAPER P-1191 | A COMMON PROGRAMMING LANGUAGE FOR THE DEPARTMENT OF DEFENSE - - | BACKGROUND AND TECHNICAL REQUIREMENTS I ft D. A. Fisher I June 1976 t I I I I INSTITUTE FOR DEFENSE ANALYSES SCIENCE AND TECHNOLOGY DIVISION I 400 Army-Navy Drive, Arlington, Virginia 22202 V Contract DAHC15 73 C 0200 Task T-36 I I 1 Approved for public release; distribution unlimited I i i I ABSTRACT This paper presents the set of characteristics needed for i a common programming language of embedded computer systems applications in the DoD. In addition, it describes the back i ground, purpose, and organization of the .DoD Common Programming Language efforts. It reviews the issues considered in developing the needed language characteristics, explains how certain i trade-offs and potential conflicts were resolved, and discusses the criteria used to ensure that any language satisfying the i criteria will be .suitable for embedded computer applications, will not aggravate existing software problems, and will be suitr- t able for standardization. i i i i I i t ill i I Approved for public release; distribution unlimited I I I ACKNOWLEDGMENT The author is pleased to acknowledge the many valuable con tributions and comments from individuals and organizations in i side and outside the Department of Defense. A list of contribu ting organizations and individuals is given as the Appendix, with I apologies to those whose names may have been inadvertently omit ted. Special thanks are deserved by those who took opposing po i sitions and, thereby, exposed fundamental issues. The author is also indebted to Thomas A. Standish and John B, § Goodenough for their reviews and many valuable comments and sug i gestions on this paper. t i i i I i i v t Approved for public release; distribution unlimited f I I- PREFACE This paper was prepared for the Office of the Director of I Defense Research and Engineering (Electronics and Physical Sciences) as Part 1, Software Research and Development, of A Task T-36 (revised), "Evaluations of Options in Electronic Technology". Task T-36 provides independent evaluations of selected areas of electronic technology where the Services are f pursuing different technical approaches to similar problems. Portions of this document have appeared in "Programming I Language Commonality in the Department of Defense", by D. A. Fisher, Defense Management Journal^ Vol. 11, No. 4, (October I (1975), pp. 29-33. I I I I I i vii I I Approved for public release; distribution unlimited f I I CONTENTS I Abstract ill I Acknowledgment v Preface vli Summary 1 A. Background 2 1. The DoD Software Problem 2 2. Character of the DoD Software Environment 3 i 3. Programming Languages in the DoD 6 B. The Common Programming Language Effort of the DoD 7 1. Background 7 i 2. Organization and Method 9 C. Findings . 11 t I. Introduction 17 A. The Problem 18 1. Software Costs 18 i 2. Programming Language 20 3. Lack of Commonality 20 4. Common Language 23 5. Morse Code Experiment . 24 B. Purpose of the Common Programming Language 27 Effort 1. A Common Programming Language 28 f 2. High-Order vs. Low-Level Programming 29 Language C. Other Issues . 33 i 1. Scope 33 2. Application-Oriented Languages 33 3. Effect on Software Expenditures 34 4. Effect on Software and Programming 36 Language R&D 5. Direct Costs of Common-Language Effort 36 6. Standardization 37 i 7. A New Language 38 8. Size 39 9. Priorities , 40 i 10. Consistency 40 11. Committee Design 40 12. Nontechnical Needs .© 4l i ix i Approved for public release; distribution unlimited II. Major Conflicts in Criteria and Needed 43 Characteristics A. Simplicity vs. Specialization 43 B. Programming Ease vs. Safety from Programming © 45 Errors C. Object Efficiency vs. Program Clarity and 46 Correctness D. Machine Independence vs. Machine Dependence 47 E. Generality vs. Specificity 49 III. The Most Pressing Software Problems 51 A. Responsiveness 52 B. Reliability © 52 C. Flexibility/Maintainability 53 D. Excessive Cost 54 E. Timeliness 55 F. Transferability 55 G. Efficiency 56 IV. Language Design Criteria 59 A. Criteria to Satisfy Specialized Application 60 Requirements 1. Flexibility in Software Design Criteria 60 2. Fault-Tolerant Programs 60 3. Machine-Dependent Programs 6l 4. Real-Time Capability 61 5. System-Programming Capability 61 6. Data Base Handling Capability 62 7. Numeric Processing Capability 62 B. Criteria Addressing Existing Software Problems 62 1. Simple Source Language 62 2. Readable/Understandable Programs 64 3- Correct Translator 64 4. Error-Intolerant Translator 64 5. Efficient Object Code - 66 C. Criteria to Assure a Common Programming 67 Language Product 1. Complete Source Language 67 2. Wide Applicability 68 3. Implementable 68 4. Static Design 68 5. Reusability 70 6. A Pedagogical Language 70 V. The Needed Characteristics 71 A. Data and Types 72 B. Operations 76 C. Expressions and Parameters 8l D. Variables, Literals, and Constants . 86 E. Definition Facilities © 91 x i Approved for public release; distribution unlimited I P. Scopes and Libraries , 95 1I G. Control Structures v 99 H. Syntax and Comment Conventions 106 I. Default3^ Conditional Compilation, and 113 , Language Restrictions I J. Efficient Object Representations and 117 ^ Machine Dependencies ^ VI. Characteristics Needed for Other Aspects.of the 123 Common-Language Effort || A. Program Environment 124 B. Translators 12? C. Language Definition, Standards, and Control 132 I References 13?( I Appendix A-l I 1 I I I I i i i i xi i Approved for public release; distribution unlimited I SUMMARY This document, which reports the work of the author in sup port of the DoD Higher Order Language Working Group, is intended to provide the Services with the necessary technical guidelines to achieve their goal of programming language commonality for embedded computer applications in the Department of Defense.* It provides background on the software and programming language 1 problems in the DoD, presents the language design/selection criteria used to guide evaluation of technical characteristics, and identifies the .characteristics needed for the common language. The IDA effort provided the background, analysis, and evalu I ations necessary to reconcile the diverse and sometimes conflict ing perceived needs. It included examination of the purpose and 1 expectations for the Higher Order language effort, review of sev eral technical and managerial issues in selecting a common pro 1 gramming language, and analysis of some important trade-offs in the design/selection criteria and in the choice of language char I acteristics.