PDL(ID:1413/pdl003)Program Design Languagefor Program Design Language Related languages
References: 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 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:
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 in Proceedings of National Computer Conference, Anaheim CA, 19-22 May 1975. The American Federation of Information Processing Societies view details in Proceedings of National Computer Conference, Anaheim CA, 19-22 May 1975. The American Federation of Information Processing Societies view details |