CDL(ID:222/com044)

Computer Design Language 


for Computer Design Language

ALGOL-like language for computer design.

Milestone in the development of computer design


Related languages
CDL => CDL/370/155   Extension of
CDL => CDLM   Extension of

References:
  • Chu, Y. "An ALGOL-like Computer Design Language" view details Abstract: The idea of constructing a computer design language by making use of an ALGOL-like programming language is presented. A computer designer can benefit from using a design language at a higher level just as a computer user can benefit from a higher level programming language. The purposes and requirements of the design language are enumerated. To achieve most of the purposes a translator is required to translate a design of computer logic into a set of Boolean equations. The design language is presented in terms of vocabulary, statements, sequences and microprogram. Included are examples of identifiers, expressions with both unary and binary operators, declaration statements, transfer statements, terminal statements, exchange statements, if statements, do statements, go to statements, several sequences and a microprogram. Extract: Introduction
    Introduction
    The logic designer of a modern digital computer has had a language problem. He has neither been able to concisely and precisely express computer logic, nor been able to readily convey to others a design in detail.
    Today a designer expresses a design of computer logic by logic diagrams or by Boolean equations. But the minute detail of the design makes it difficult for anyone to understand the entire logic except the designer himself.
    A similar situation once prevailed in programming. A program written in a machine or assembly language was too detailed to be understood, and as a result programming languages al) higher levels have been developed and widely used. Similarly, the computer designer can benefit if a design language at a higher level is developed and utilized.
    This paper presents the idea of constructing a computer design language by making use of an ALGOL-like programming language. The use of an ALGOL-like language not only helps the designer and the programmer to understand each other better, but also makes the translation  technique of ALGOL-like languages applicable to the translation of the computer design language.
    Extract: Computer Design Language
    Computer Design Language
    The computer design language shall serve more than the above mentioned purpose if a translator for the language is constructed. The translator is a program on an existing computer by which the design of computer logic expressed in this language can be translated into a set of Boolean equations. The purposes and the requirements of the language are enumerated below.

    Purposes.
    (a) A standard language for prescribing the logic design of a digital system. Such a standard language can facilitate design documentation as well as communication among designers. (No translator is needed for this purpose.)
    (b) Logic simulation and debugging. Once the computer logic is translated into a set of Boolean equations, the computer logic can be simulated and debugged by using these equations. If a general purpose simulator can be prepared to accept these equations, the time for the design can be greatly shortened.
    (c) Cost-performance evaluation. It is highly desirable to be able to evaluate the provision of particular features in a computer design. The logic simulation can be used to evaluate the performance and the Boolean equations to evMuate the cost. These evaluations can be made on an existing computer.
    (d) Integration of design automation. Computers have been employed to perform a particular part of the design process for several years. With the availability of the computer design language and its translator, the design process of translation, simulation, logic debugging, design change, cost estimation{, performance evaluation, card layout, backplane wiring and documentation could be automated in an integrated manner. The design time would be shortened and the design cost reduced.
    (e) Design of more complex machines. The design of digital systems of, say, ten times the complexity of existing systems is far too complicated to be dealt with by conventional methods, and the design may be fraught with errors. Furthermore, if an ALGOL-like language is developed for computer design, this could lead one to design a machine directly to accept an ALGOL-like language. As more advanced languages are developed, more powerful machines could be more readily designed.

    Language requirements.
    In order to achieve these purposes, the language for logic design should meet the following requirements :
    (a) The language should be close to natural language so that it can serve well the purpose of design documentation and communication.
    (b) It should be nonambiguous, concise and precise.
    (c) It should be amenable to translation into Boolean equations.
    (d) It should be highly expressive in binary representation and binary manipulation.
    (e) It should have means of expressing parallel operations, timing signals, control commands and serial or parallel transfer.
    (f) It should be open-ended, allowing additions and deletions to the language as the design technique progresses.
    Because of the above requirements, the current ALGOL-like languages are not directly applicable to computer logic design. The differences in the requirements are the causes of the differences between an ALGOL-like programming language and an ALGOL-like design language.


          in [ACM] CACM 8(10) Oct 1965 view details
  • Chu, Y.: Design Automation by the Computer Design Language, Techn. Report 69-86, Comp. Science Center, Univ. of Maryland, 1968 view details
          in [ACM] CACM 8(10) Oct 1965 view details
  • Chu, Yaohan Computer Organization and Micro-programming, Prentice-Hall, Inc., Engle-wood Cliffs, N.J., 1972 view details
          in [ACM] CACM 8(10) Oct 1965 view details
  • Chu, Yaohan, "Introducing Computer Design Language," Digest of Papers, CompCon 72, San Francisco, Sept., 1972, pp. 215-218. view details
          in [ACM] CACM 8(10) Oct 1965 view details
  • Evans, Victoria Gehman "Sigma 5 Fortran language processor for the Computer Design Language, FIT version I" pp428-429 view details Abstract: The Computer Design Language (CDL) proposed by Dr. Yaohan Chu  can be used to provide a precise description of digital computer elements and their sequential operations. This thesis presents a Fortran language processor for the CDL with complete documentation. The program has been implemented on the SIGMA 5 Computer with 32K words of core memory and a 3 megabyte random access disk. The processor has three major parts, an Executive main program, a Translator and a Simulator. The Executive program provides the communication link between the processor and the outside world, and synchronizes the operations of the Translator and Simulator. The Translator constructs the tables and Polish string needed to implement the system. The Simulator executes programs on this system.

          in Proceedings of the ACM/CSC-ER annual conference Atlanta, Georgia, United States 1973 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 140 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 Proceedings of the ACM/CSC-ER annual conference Atlanta, Georgia, United States 1973 view details
  • Yaohan Chu, "Introducing the High-Level Language Computer Architecture", Technical Report TR-227, Department of Computer Science, University of Maryland, February 1973. view details
          in Proceedings of the ACM/CSC-ER annual conference Atlanta, Georgia, United States 1973 view details
  • Chu, Yaohan, "Introducing CDL," Computer, December, 1974, pp. 31-33. view details
          in Proceedings of the ACM/CSC-ER annual conference Atlanta, Georgia, United States 1973 view details
  • Yaohan Chu, J.C. Yeh, and E.R. Cannon, "Direct Execution on the Burroughs B1700 System", Technical Report TR-335, Department of Computer Science, University of Maryland, September, 1974. view details
          in Proceedings of the ACM/CSC-ER annual conference Atlanta, Georgia, United States 1973 view details
  • Yaohan Chu "Concepts of high-level-language computer architecture" Proceedings of the 1975 ACM/CSC-ER annual conference table of contents pp6-13 view details Abstract: High-level-language (HLL) computer architecture refers to those architecture which can accept one or more high-level languages (such as Fortran, Alogl, Snobol, etc.). This paper classifies the HLL computer architecture into four types (von Neumann architecture, syntax-oriented architecture, indirect execution architecture, and direct execution architecture) based on the criterion of proximity in lexicality, syntax and semantics between the high-level language and the machine language. It then introduces concepts of these high-level-language architecture. A simple example is employed to illustrate the differences among these four types of architecture.


          in Niklaus Wirth "Algorithms + Data Structures = Languages" 1976 view details