Flowcharting language based on JOSS 

GRAphical Input Language. Flowchart language entered on a graphics tablet. The graphical follow-on to the ISIS JOSS variant.

Related languages
ISIS => GRAIL   Augmentation of
GRAIL => ISPL   Incorporated some features of

  • Thomas O. Ellis, John F. Heafner and William L. Sibley The "GRAIL" Project view details Abstract:

    The RAND Corporation

    1700 Main Street

    Santa Monica, California 90406

    The display surface of a graphic console can be considered to be a common work area for the computer and man. The man's language for dealing with his problem should be so natural and direct that he is aware only of his problem, not of some extraneous mechanics of communications. The computer should provide aids that are directly meaningful to the man within the context of his problem.

    Using the above philosophy, the GRAIL (GRAphic Input Language) project addresses the problem of computer programming using flow-charts as a higher level source language. Flow-charting is sufficiently complex to be interesting, yet it is well bounded and will allow the investigation of interaction problems; thus, it provides a suitable starting point from which to investigate man-machine communications. GRAIL will allow the user to construct (or edit) his program by drawing free hand, in place, those flow-chart symbols or alphanumeric characters he may need. Through symbol recognition techniques and display area analysis, GRAIL will interpret the user's intent and respond accordingly; and in addition, will maintain files of displays and data structures for information retrieval and ultimately, program interpretation or compilation and execution.

    An operational flow chart symbolism has been defined, as well as a data structure for representing and manipulating the symbolism, and also the conventions have been defined for realizing the symbolism in computer code. As a test for the flow chart design, GRAIL itself is being written within those conventions.


    1. M. R. Davis and T. O. Ellis, "The RAND Tablet: A Man-Machine Graphical Communication Device", AFIPS Conference Proceedings (FJCC) vol. 26, part 1, Spartan Books, Washington, D.C., 1964 pp 325331.

    2. Dr. G. F. Groner, "Real-Time Recognition of Hand-printed Text", AFIPS Conference Proceedings (FJCC) vol. 29, Spartan Books, Washington, D.C., 1966, pp 591601.

    3. T. O. Ellis and W. L. Sibley, "On The Development of Equitable Graphic I/O", to appear in the spring, 1967 issue of IEEE Transactions on Human Factors in Electronics, vol. HFE8-1, March, 1967. External link: Online abstracts
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Ellis, T.O.; Heafner, J.F. and Sibley, W.L. "The GRAIL Language and Operations", RM-6001-ARPA, RAND, Sept 1969 view details Abstract: The important organizational concepts of the flowchart language are the sequential flow of control, the hierarchy of subroutines, and the language (flow diagrams) that pictorially relates their interdependence. A fundamental facility of the man-machine interface is the automatic recognition of appropriate symbols, which allows the man to print or draw appropriate symbols freehand. GRAIL's text-editing features include placement, replacement, and deletion of characters, character-string insertion or deletion, and line deletion. Control functions include displaying text page-by-page, requesting specified display frames, moving symbols, and test line editing. The flowchart processes may be compiled and executed at CPU speeds or the man may control interpretative execution by direct stylus actions. He may use overlay displays or split screen displays to debug. This is the second part of a final report on GRAIL External link: Online at RAND
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Ellis, T.O.; Heafner, J.F. and Sibley, W.L. "The GRAIL project: an experiment in man-machine communications" RM-5999-ARPA, Rand Sept 1969 view details Abstract: An interactive software-hardware computer graphics system has been developed in which the displayed contents of a cathode ray tube (CRT) can be manipulated directly using a RAND Tablet and stylus. The design goals for this system were (1) to provide man-machine communication using only the CRT display and real-time interpretation of stylus motion, (2) to minimize ambiguous responses and make the operation apparent, (3) to make the system responsive with minimal distraction and delay, and (4) to make the system compete as a problem-solving aid. Computer programming via flowcharts was chosen to demonstrate the techniques. System responses on the CRT include location of the virtual position of the stylus, ink track representing its motion on the tablet, changes in display intensity, pictorial modification, and English-language statements. The important result of this investigation is the demonstration of feasibility of such an approach. This is the first part of a final report on GRAIL. External link: Online at RAND
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Ellis, T.O.; Heafner, J.F. and Sibley, W.L. "The GRAIL system implementation" RM-6002-ARPA, Sept. 1969 Rand Corp view details Abstract: Interactive use of the RAND Tablet/Stylus and a CRT display demands that many independent data packages be accessed in real time without the man's being aware of system operational tasks. The internal representation of the man's program consists of its picture form, data structures to denote properties implied by the picture, and positional information to relate stylus location to the other forms. Dynamic storage allocation is automatically provided because of the large number of datasets. Algorithms are described which handle scheduling, priority, synchronization, and parallel processing. This is the third part of a final report on GRAIL External link: Online at RAND
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Ellis, T.O.; Heafner, J.F. and Sibley, W.L. "The GRAIL Logical Input/Output Processes" RM-6257-ARPA Rand Corp 1970 view details External link: Online copy Abstract: This is the fifth in a series of Memoranda on the operation and organization of the interactive, online GRAIL system study. This Memorandum describes the logical I/O processes that transmit data between primary and secondary storage. Such transfers involve "reading" from secondary into primary storage and "writing" from primary into secondary. Four types of data sets are considered: (1) ring structures--list structures linked unidirectionally that represent secondary storage space allocations and the logical descriptions of user-drawn processes; (2) display frames--the internal representation of the displayed information; (3) text planes--the internal representation of user-supplied character strings (text display frames); and (4) read-only process groups--collections of executable programs. Data transmission is synchronized with other system operations to optimize response time and exploit the parallel processing organization of the system software. The GRAIL data organization would be useful for any online relational data file, including those used for military command and control.
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Harslem, E. F.; Heafner, J. F.: The ISPL basic file system and file subsystem for support of computing research. Santa Monica, Calif.: The RAND Corp. 1971. (The RAND Corp. R-603-ARPA, August 1971 .) view details Abstract: Functional specification of the Basic File System and one of several file subsystems envisioned for the ISPL computing system described in R-562. A generalization of the GRAIL logical input/output system (see RM-6257), the software package is described in its ISPL context. The BFS, as a resident part of the ISPL Operating System, creates, modifies, deletes, and keeps directories of file subsystems, allocates their secondary storage space, and handles their I/O transmissions. BFS is unconcerned with file structure, which is separately determined by each FSS. Any console or program can address any file by giving its name, FSS, and a qualifier. Further communication is determined by the rules of that particular FSS. All BFS procedures report whether and why an operation failed. An ARPA research file, FSSl, is described in its temporary IBM 360 implementation, with indications of probable changes in the ISPL environment External link: Online copy
          in 8th Annual IEEE Symposium on Human Factors in Electronics 1967 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 121 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details Extract: Grail
    Perhaps the most important system making use
    of flow diagrams as source material is the Grail
    language [Ellis et al, 1969]. This is a tablet language
    in which various flowchart symbols--circles,
    triangles, rectangles, etc. and flow lines--as well
    as characters from a simple alphanumeric vocabulary
    are drawn with a stylus. The input tablet is mounted
    with the output cathode ray tube so that a single
    writing surface is simulated. System generated
    (interpreted) symbols directly replace handwritten
    symbols. A scrubbing motion is interpreted by
    although in certain cases system feedback produces
    a two-dimensional coding form which is filled in by
    the programmer. Anderson [Anderson, 1972] discusses
    the advantages and disadvantages of the use of flow
    diagrams in a pen language.
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States 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 275 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 SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details