Ada Projects at NASA
Total Page:16
File Type:pdf, Size:1020Kb
= w DSTL-88-O01 Data Systems Technology Laboratory Series L m m r u Ada_ Projects at NASA Runtime Environment Issues and Recommendations ==r._ January 1988 L-- SPACE FLIGHT m N/ A m National Aeronautics and Space Administration Goddard Space Flight Center Greenbelt, Maryland 20771 m J i I il I II i m : I I mm _i_ -_;;-:; _;:!:;;_:_:- ::i_i;_..- i__ r U I mm ul - m FOREWORD Ada ® Projects at NASA is a publication of the Data Systems Technology Division of the Mission Operations and Data Systems Directorate, the National Aeronautics and Space Administration, Goddard Space Flight Center (NASA/GSFC). 2 m This document is a companion document to Ada ® Runtime Packages DSTL-88-002. The principal authors of this document are w Daniel M. Roy _-__ and ! Randall W. Wilke of Century Computing, Incorporated 1100 West Street Laurel, Maryland 20771 (301) 953-3333 Work was accomplished for Data Systems Technology Division w under contracts NAS 5-30017 and NAS 5-27772 Single copies of this document may be obtained by writing to Ms. Dorothy Perkins Code 522 NASA/Goddard Space Flight Center Greenbelt, Maryland 20771 2 Ada is a registered trademark of the U.S. Government Ada Joint Program Office. m i m_ i. i i i iD i i m m m i CONTENTS SECTION 1 INTRODUCTION I.I INTENDED AUDIENCE ................ I-I 1.2 PURPOSE AND SCOPE OF THE REPORT ......... i-I 1.3 EXECUTIVE SUMMARY ............... i-2 1.4 BACKGROUND .................... 1-5 1.5 METHODOLOGY ................... 1-5 1.6 STRUCTURE OF THIS DOCUMENT ............ 1-6 1.7 ACKNOWLEDGEMENT ..... 1-6 1.8 LIST OF ACRONYMS ................ 1-12 m SECTION 2 ADA DEVELOPMENT EFFORTS AT GSFC 2.1 GRO ATTITUDE DYNAMi_S SI_NJLATOR (CODE 550/520) . 2-2 2.2 GOES-I ADA DYNAMICS SIMULATOR (CODE 550) ..... 2-6 2.3 GOES-I TELEMETRY SIMULATOR (CODE 550) ...... 2-6 2.4 FLIGHT DYNAMICS ANALYSIS SYSTEM (CODE 550) .... 2-7 2.5 NETWORK CONTROL-PROGRAM (CODE 520) ....... 2-12 2.6 NOS EMULATOR (CODE 520) ............ 2-17 2.7 REMOTE SCIENCE OPERATIONS CENTER (CODE 520) . 2-18 2.8 ADA PACKAGES FOR COMPUTER ACCESS TO COORDINATE REFERENCED DATA (CODE 520) ........... 2-20 2.9 MULTI SATELLITE OPERATIONS CONTROL CENTER (CODE r L _ 510) ...................... 2-20 _=_ z 2.9.1 MSOCC Ada Pilot Project ........... 2-21 w 2.9.2 MSOCC Ada Compilers Benchmark Suite ..... 2-21 2.10 SIMULATION OPERATIONS CENTER PROJECTS (CODE 515) 2-24 2.10.1 Pretty Printer ................ 2-24 2.10.2 NASCOM Deblocker ............... 2-25 2.11 SPACECRAFT INTEGRATION TESTING (CODE 408) . 2-27 2.11.1 PC AT Experiment ............... 2-27 2.11.2 Spacecraft Embedded Flight Software ..... 2-27 2.12 OTHER ACTIVITIES AT GSFC ............ 2-29 2.13 FLEXIBLE ADA SIMULATION TOOL (FAST) ...... 2-30 SECTION 3 ADA DEVELOPMENT EFFORTS IN OTHER SPACE AND RESEARCH CENTERS m 3.1 AMES RESEARCH CENTER ............... 3-1 3.2 CHARLES STARK DRAPER LABORATORY ......... 3-2 _mmm__ 3.2.1 Advanced Information Processing System .... 3-2 w 3.2.2 F8 Oblique Wing Program ............ 3-4 3.3 FEDERAL AVIATION ADMINISTRATION NATIONAL AIRSPACE SYSTEM ...................... 3-4 3.4 JET PROPULSION LABORATORY ............ 3-5 3.5 JOHNSON SPACE CENTER ............... 3-7 3.5.1 Ada Production Rule System .......... 3-7 3.5.2 Ada Benchmarking Suite ............. 3-8 i Ada Runtime Environment Issues Page 2 22 February 1988 3.5.3 DMSTest Bed .................. 3-8 3.6 KENNEDYSPACECENTER............... 3-9 m 3.6.1 Clear Air Wind Sensing Doppler Radar ...... 3-9 3.6.2 Space Station OperationsLanguage ...... 3-10 3.6.3 Ada Evaluation Using A CDSRemoteInterface Module .................... 3-11 3.6.4 Ground Data ManagementSystem ........ 3-12 3.6.5 User Interface Development Support System . 3-12 3.7 LABORATORYFORATMOSPHERICANDSPACEPHYSICS 3-13 m 3.8 LANGLEYRESEARCHCENTER ............ 3-15 3.9 LEWIS RESARCH CENTER _ _, . t _ _ . ...... 3-17 3.9.1 Ada Control And Simulation Software ..... 3-17 g 3.9.2 Space Station Power System Software ..... 3-18 3. I0 MARSHALL SPACE FLIGHT CENTER .......... 3-19 3.10.1 Space Station OS Study ............ 3-19 m 3.10.2 Down!ink Data High Speed Processing ..... 3-20 3.11 NATIONAL SPACE TECHNOLOGY LABORATORY ...... 3-21 3.12 SOFTWARE ENGINEERING INSTITUTE ......... 3-22 3.13 UNIVERSITY OF HOUSTON AT CLEAR LAKE ...... 3-22 g SECTION 4 R_IME ISSUES ANDRECOMMEIq-DATioNs I 4.1 DEFINITIONS ................... 4-2 4.2 RUNTIME ISSUES .................. 4-3 4.2.1 Storage Management ............... 4-4 l 4.2.1.1 Garbage Collection: ............. 4-5 4.2.1.2 UNCHECKED DEALLOCATION ............. 4-6 4.2.1.3 Storage Reclamation For Terminated Tasks .... 4-8 4.2.1.4 Bit Manipulation _ 4-8 B 4.2.1.5 Bit Manipulations From Tasks .......... 4-9 4.2.1.6 Constants Stored In ROM ........... 4-10 4.2.2 Exception Management. ............ 4-11 U 4.2.2.1 Constraint And Numeric Exceptions ...... 4-11 4.2.2.2 Exceptions And Debugging ........... 4-12 4.2.2.3 Asynchronous Task Interruption ........ 4-12 4.2.2.4 A Note On Optimizatlon . _ ...... 4-13 U 4.2.3 Processor Management ............. 4-13 4.2.3.1 Tasking Behavior .............. 4-13 4.2.3.2 Time Slicing ................. 4-14 U 4.2.3.3 Static Task Priorities ............ 4-14 4.2.3.4 Pragma PRIORITY ............... 4-16 4.2.3.5 Synchronous And Asynchronous Task Scheduling . 4-16 4.2.3.6 CMU Rate Monotonic Scheduler ......... 4-18 I 4.2.3.7 User Tailored RTE .............. 4-19 4.2.3.8 A Note On APPL ................ 4-19 4 2.3.9 Nonpreemptible Sections ........... 4-19 W 4 2.3.10 Dynamic Time SIi6_ng 9 . , .......... 4-20 42.4 Rendezvous Management ............ 4-21 42.4.1 Avoiding The Rendezvous ........... 4-24 42.4.2 Other Semantics ............... 4-26 l 42.4.3 FIFO Service On Entry Queues ......... 4-31 42.4.4 Undefined Choice Of Open Alternative ..... 4-31 4.2.4.5 Priority Inversion .............. 4-31 g = m Ada Runtlme Environment Issues Page 3 22 February 1988 4.2.5 Task Activation ............... 4-32 4.2.5.1 Control Over Task Activation ........ 4-32 4.2.5.2 Activation Bottleneck ............ 4-32 4.2.5.3 Pre-elaboration Of Program Units ....... 4-32 Task Termination ............... 4-34 w 4.2.6 4.2.6.1 Problems With Abort ............. 4-34 4.2.6.2 Abortion Via Task Identifiers . ...... 4-34 z 4.2.6.3 An RTE Without Abort? ............ 4-35 4.2.6.4 Termination Of Tasks In Library Units .... 4-35 4.2.7 Interrupt Management ............. 4-35 _ZZ. 4.27.1 Interrupt Latency .............. 4-36 4.27.2 Fast Interrupt Pragmas ............ 4-36 w 4.27.3 Controlling Interrupts ............ 4-37 4.28 I/O Management ................ 4-39 .==== 4.28.1 Put-get Problem ............... 4-39 4.28.2 I/O From Tasks ................ 4-40 4.28.3 Packet I/O For Objects Of Variable Format . 4-40 4.28.4 I/O Of Mixed Type Objects .......... 4-40 4.28.5 Direct I/O ................. 4-41 4.2.9 Time Management ............... 4-41 4.2.9.1 Timer Resolution .............. 4-41 4.2.9.2 Clock Jitter ................ 4-42 4.2.9.3 Special Delays ................ 4-43 4.2.10 Others .................. 4-44 4.2.10.1 Floating Point Representation ........ 4-44 4.2.10.2 Fixed Point Types .............. 4-44 4.2.10.3 Task Identifiers ............... 4-45 4.2.10.4 Device Allocation .............. 4-46 SECTION 5 MODIFICATIONS TO THE RM i SECTION 6 RECOMMENDED ADA PROJECTS 6.1 PROOF OF CONCEPT ................. 6-1 6.2 PILOT PROJECTS ................. 6-2 6.3 PRODUCTION SOFTUARE ............... 6-3 6.4 CONCLUSION .................. 6-4 APPENDIX A BIBLIOGRAPHY APPENDIX B PROCUREMENT ISSUES B.I COMPILER SELECTION ................ B-I B.2 RUNTIME FEATURES AND PROCUREMENT ISSUES ..... B-2 B.2.1 Storage Management ............... B-2 B.2.2 Exception Management .............. B-2 B.2.3 Processor Management .............. B-3 B.2.4 Rendezvous Management ............. B-3 B.2.5 Task Activation . .............. B-3 B.2.6 Task Termination ................ B-3 ! J Ada Runtime Environment Issues Page 4 22 February 1988 B.2.7 Interrupt Management B-4 m B.2.8 I/0 Management ................. B-4 B.2.9 Time Management ................ B-4 B.2.10 Others ..................... B-4 B I u m g m i m U g_ M B i SECTION I INTRODUCTION I.I INTENDED AUDIENCE This document is intended for use by Ada practitioners to discuss and establish common short term requirements for Ada runtime environments. The description of the Ada projects at NASA viii glve managers some insight into the current state of Ada. A good knowledge of Ada and practical experience with at least one validated Ada compiler is assumed. However, such knowledge is not required to understand the executive summary and the conclusion. _izz_ 1.2 PURPOSE AND SCOPE OF THE REPORT This document is written to foster the sharing of experience and gather common immediate requirements for Ada runtime environments (RTE). L=:_: - It identifies the major current Ada runtime environment issues through the analysis of some of the Ada efforts at NASA and other Research H Centers. The RTE characteristics of major compilers are compared; workaround and alternate runtime implementations are reviewed. w Modifications and extensions to the Ada Language Reference Manual (RM) to address some of these runtime issues are proposed. Three classes of projects focusing on the most critical runtime features of Ada are recommended, including a range of immediately feasible full scale Ada development projects.