HIBOL(ID:4069/hib003)High Level COBOLHigh Level Language COBOL, with flow as first class structures, for representing data streams Part of the Protosystem I at MIT Related languages
References: in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details Application Specification Media and Aids The direction that work in the DPS-type based approach has taken is toward making it easy for the user to describe his application. Simple and concise descriptive media for describing the user's processing requirements and the data his application uses and generates have been developed. The ISDOS APS uses the ADS, SSL and PSL languages, all of which involve RPGlike forms to be filled out by the user. Protosystem I makes use of HIBOL, an English-like statement language (like COBOL, but at a higher level of abstraction). The power and simplicity of these languages is most easily Illustrated by a short HIBOL fragment. If PAY, HOURS_WORI indicates that for each employee for which there is a record in the HOURS_WORKED file, the PAY file will have a corresponding record with an associated value obtained by multiplying the number of hours the employee worked by his hourly rate. The iteration through the files involved, the file i/O, record generation, EOF checking, and so forth, which would have to be explicit in a PL/I program equivalent to this statement, are all implicit here. The development of simple descriptional facilities for the full range of more complicated common data processing activities such as summation and the maintenance of running totals is the subject of continuing research. At USC/ISI a research effort is currently underway that is aimed at allowing the user to express his application specification in English. This promises the ultimate in user convenience, but natural language comprehension by machines is difficult. It is conjectured, however, that the usually formidable problems of ambiguity and detail suppression (e.g. anaphoric reference) will be mitigated to, some degree by the highly constrained nature of the processing described. That is, it is felt that tentative program attempts will act as effective filters of possible alternative interpretations of the English specifications. Another way in which the developers of APS's are seeking to make the description process easy for the user involves the use of consistency and completeness checks. Whenever parts of a user's description are inconsistent (e.g. he associates different keys with the same file in different places) the clever system will point this out and demand resolution. Completeness checking (e.g. is the source and destination of all data specified?) can be used to guide the user in his specification effort, too. The ISDOS and MODEL systems provide such aids to the user. Abstract: To meet the burgeoning software demands of the future the computer will have to take a more active role in the writing of its own software. Many computer tools have been developed that enable the machine to help human software developers. It would be preferable, and in the not too distant future it will be necessary, for the machine to actually take over a substantial part of software development. Automatic programming seeks to do this by moving the human developer up from the implementation level of programming (e.g. COBOL, where the human has to include such details as data and control structures), to a level of programming that is less specific, where it is left to the computer decide the best way to fill in implementation. This article provides a survey of current research and development in automatic programming and a dlscussion of future directions in this field. in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details in [ACM SIGACT-SIGPLAN] Proceedings of the 3rd ACM SIGACT-SIGPLAN Annual Symposium on Principles of Programming Languages (POPL) 1976 view details |