PDL(ID:1413/pdl003)

Program Design Language  


for Program Design Language


Related languages
PDL => FLEX   Influence
PDL => PDL/74   Evolution of
PDL => PSL/PSA   Influence
PDL => RDL   Influence

References:
  • "Improved technologies for applications development" (Report), Productivity Techniques Department, IBM Corporation, Bethesda, Md., 1973 view details
  • Meissner, Loren P. "A method to expose the hidden structure of Fortran programs" pp193-198 view details Extract: Extensions to FORTRAN IV
    Extensions to Standard Fortran. One possible way to gain some of the advantages of structured programming would be to add the keywords "if ... then ... else" and "do ... while" to Fortran.
    Several experiments have been made in this direction, including "structured Fortran" extensions named DEFT, IFTRAN, LINUS, MORTRAN, SFTran, and SPIFFY. (No doubt there are others.) Extract: PDL
    Other proposals involve the use of an informal language to develop a
    pseudo-program which the programmer then translates by hand into Standard Fortran. One such proposal is the "Programming Design Language (PDL)". The control structures are expressed
    using keywords such as "if ... then ... else" along with systematic indentation, while the statements controlled by these keywords are written out in plain English. In principle, such a pseudo-program could be translated with equal ease into Fortran, Cobol, Algol, PL/I, or any other language.
          in Proceedings of the 1974 ACM Annual Conference San Diego, November, 1974 view details
  • Caine, S.H. & Gordon, E.K. "PDL - A tool for software design" view details Abstract: PDL is designed for the production of structured designs in a top-down manner. It is a pidgin language in that it uses the vocabulary of one language (i.e. English) and the overall syntax of another (i.e., a structured programming language). In a sense, it can be thought of as structured English.
    While the use of pidgin languages is also advocated by others, we have taken the additional steps of imposing a degree of formalism on the language and supplying a processor for it. Input to the processor consists of control information plus designs for procedures (called segments in PDL). The output is a working design document which can, if desired, be photo-reduced and included in a project development workbook.

    The output of the processor completely replaces flowcharts since PDL designs are easier to produce, easier to change, and easier to read than are designs presented in flowchart form.
    External link: Online copy Extract: Cost explosion and its results
    During the past several years [pre-1975], industry has seen an explosion in the cost of software production coupled with a decline in the quality and reliability of the results. A realization that structured programming, top-down design, and other changes in techniques can help has alerted the field to the importance of applying advanced design and programming methods to software production[1,2].
    For the past four years, Caine, Farber & Gordon, Inc. has used such advanced techniques as structured programming, top-down design and system implementation, centralized program production libraries, and egoless programming teams for all of its programming. With these techniques we have achieved a level of productivity comparable to that recently reported by others employing similar techniques[3-8].

    However, within the last year, we greatly refined these techniques, applying them to design as well as to programming. This has resulted in increases productivity, greatly decreased debugging effort, and clearly superior products. On recent complex projects we have achieved production rates, over the full development cycle, of 60-65 lines of finished code per man-day and computer utilization of less than 0.25 CPU hours per thousand lines of finished code. For comparison, these production rates are approximately half again better than our best efforts using just structured programming techniques and 4-6 times better than average industrial experience using classical techniques. Computer usage was four times smaller than our experience with just structured programming techniques and more than 10 times smaller than classical industrial averages.

    As an example, consider the two CFG projects shown in Table 1. Project “A” is a major component of a seismic data processing system for oil exploration. It was produced using classical structured programming techniques and production rates compare favorably to other projects[3] which used similar techniques. Project “B” is a system for the automatic restructuring of Fortran programs[9]. It was developed using the latest CFG methods. Production rates were 50 percent better than for Project “A” and the amount of computer time used in development was approximately one quarter of that used for the first project. In each case, a line of code was taken to be one 80-column source card with common data definitions counted only once. Both projects were developed using an IBM 370/158.

    In order to achieve the results that we are currently experiencing, we have developed a comprehensive software production methodology which places its greatest emphasis on design. Before any code is written, a complete design is produced which contains:

    • all external and internal interface definitions
    • definitions of all error situations
    • identification of all procedures
    • identification of all procedure calls
    • definition of all global data
    • definition of all control blocks

    specification of the processing algorithms of all procedures
    The design is produced and presented top-down and is oriented toward understandability by people. While in no sense is our design process automated, it is supported by a series of tools—the Program Design Language (PDL) and its computerized processor. Both of these have been in extensive use since the autumn of 1973.
          in Proceedings of National Computer Conference, Anaheim CA, 19-22 May 1975. The American Federation of Information Processing Societies view details
  • The Higher Order Language Working Group (HOLWG) Working Paper on 23 exisitng programming languages view details
          in Proceedings of National Computer Conference, Anaheim CA, 19-22 May 1975. The American Federation of Information Processing Societies view details
  • Waugh, D.W. "PDL/Ada - PDL Equivalencies: A Side-By-Side Comparison of PDL/Ada and PDL" IBM Tech Report 1981 view details Abstract: The purpose of this document is to present the PDL/Ada equivalents for the various PDL constructs. The presentation is in the form of a side-by-side comparison of features in the two languages and assumes a prior knowledge of PDL.. In all cases, the major criterion has been to make PDL/Ada conform to Ada so that design syntax can be checked by a standard Ada translator.
          in Proceedings of National Computer Conference, Anaheim CA, 19-22 May 1975. The American Federation of Information Processing Societies view details