SPL(ID:532/spl001)

Space programming language 


for Space Programming Language.

Realtime language used by the US Air Force for aerospace software. Aka SPL/J6.  (for Jovial 6)

Space software - Production problems and a programming language.

Carey et al SDC Santa Monica, California

Places
Related languages
JOVIAL => SPL   Evolution of
SPL => CLASP   Subset
SPL => SPL/MK II   Evolution of

References:
  • Carey, L. J.; Kroger, A. E. Specification of SPL Space Programming Language, 1967. NBS #: 70400359. view details
  • Carey, L. J.; Meyer, W. E.; Shaw, C. J. "Spaceborne Software Systems Study, Volume III - Recommendation for a Common Space Programming Language", 1967. view details
  • Carey, Levi J. "Space software - Production problems and a programming language" American Institute of Aeronautics And Astronautics Guidance, Control, and Flight Dynamics Conference, Pasadena, California, August 12-14, 1968. view details Abstract: SPL, a Space Programming Language, has been developed as a higher-order language to solve Some of the pressing problems of space software. Short lead time, poor communication, and quality assurance of space software are the primary software production problems. SPL is designed to aid in the solution of these problems and has as its primary requirements numeric computational capabilities, real-time control capabilities, 'compiler commands for code optimization and language extension, and a close integration of assembly language and higher order language. An SPL compiler must produce optimum code and also be highly transferable to operate on a variety of computers. This requires a compiler-building tool. Using a typical space programming problem, a demonstration of the SPL compiler and compiler-building tool will be made with a computer and time-sharing system.
    Extract: Introduction
    Introduction
    The major software problems for aerospace vehicles are largely those of developing quality computer programs in a short time at reasonable cost. We have just entered the era of sophisticated software support for space vehicles and aircraft. This, coupled with the additional hardware capabilities for computers will dramatically increase the requirement for software. Software production techniques have not advanced as rapidly as hardware development and because of this, advances in the state-of-the-art of software design and production are desperately required. Current space software systems are produced under grinding schedules with considerable waste. However, they have been to date, with a few notable exceptions, of high quality. The space software systems of the future are going to be much larger and more complex. The problems which we face now are going to grow unless adequate means are found to solve them in the near future. I shall attempt to describe these problems and what the future holds in terms of software requirements. I will outline one of the most important recommendations to solve these problems, namely, the development of a higher-order programming language.
    I will further describe our recommended language, SPL, and its capabilities. I will attempt to describe to you what is required in terms of a space language compiler and how a compiler-building tool we have developed could be used to obtain the desired results. Toward the end of this paper is a programming requirement. At the conference I will show you what a program of this type would look like in the SPL environment.
    Extract: The Problems
    The Problems
    Production of space software is plagued by problems we can categorize as follows:
    Short lead time
    Poor communication
    Quality assurance

    The short lead time allowed for space software generation creates considerable difficulty in the development process. Specifications, development, program design, coding and checkout are all attempted at once to save time.
    Specifications are rarely complete and up to date. Also, due to the nature of space programming, requirements "drift in" and this leads to a general degradation of quality. Some software requirements are just not known until a need exists 'to supplement or support a failing vehicle component and software is required to solve the problem. The need for short lead time in software development has brought about a need for quick and error-free coding of the computer program. In the present environment there is a considerable duplication of effort leading to a great deal of reprogramming and waste.
    [....]
    We need now a capability to develop a large computer program in a short amount of time after the requirements have been identified. Greater effort must be expended on specification development and less on computer program coding and checkout, while the time far the total process must be reduced.
  • Review of Rubey 1968 view details Abstract: Another language comparison study, this time between PL/I and SPL for NASA. Two programmers coded a typical problem (parts of a Titan I11 space booster navigation, guidance and flight control mission) in both PL/I and SPL producing 21 pages of PL/I code and 29 pages of SPL code. Due to the lack of an SPL compiler, neither pair of programs was compiled or debugged, and the comparison was based on the programmers' opinions.
    The results of this comparison are summarized in the following table, taken from the report.

    From this comparison, the report concludes that "SPL is superior to PL/I as the base language for further development...while PL/I is more suitable when non-language aspects are considered."


          in SigPlan Notices August 1968 view details
  • Rubey, R.J. "Flight computer and language processor study" Logicon, Inc. report No. CS-68G3-RO127 September 30 1968 view details
          in SigPlan Notices August 1968 view details
  • "Space Programming Language Development", SAMSO TP 70-325, System Development Corp (Sep 1970). view details
          in SigPlan Notices August 1968 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 272 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 576 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in ACM Computing Reviews 15(04) April 1974 view details