COMPAX(ID:7273/com056)

Visual language for the BUBBLE-TALK system 


Extended version of PAX, ported to the CDC and recoded in COMPASS by Reddy at the Tata Inst in Bombay

Formed the heart of the BUBBLE-TALK conversational analysis system for analysing bubble-chamber photographs

COMPAX is not only an extension of PAX, it is also a superset of COMPASS, so any COMPASS code can be interleaved with COPMAX


Related languages
COMPASS => COMPAX   Superset
PAX => COMPAX   Extension of

References:
  • Reddy, V. S. N. COMPAX, users' manual. Computer Group, Tata Inst. of Fundamental Research, Bombay, 1965. view details
  • Narasimhan, R. "Syntax-directed interpretation of classes of pictures" pp166-173 view details Extract: Introduction
    Introduction
    Recent active interest in the area of graphic data-based "conversation programs" has pointed up the urgent need for sophisticated picture processing models in a convincing manner. Kitsch has very ably argued that "from the point of view of computer information processing, the important fact about natural language text and pictures is that both have a syntactic structure which is capable of being described to a machine and of being used for purposes of interpreting the information within a data processing system." "The problem of how to describe the syntactic structure of text and pictures and how to use the syntactic description in interpreting the text and pictures" has been tackled in a certain specific way by Kirsch and his coworkers.
    For over three years now the author has been actively engaged in investigating the possibilities of syntax-directed interpretation of classes of pictures The immediate problem that was tackled was the development of a computer program for the automatic scanning of bubble chamber negatives. One was fortunate, in a certain basic sense, that one's first introduction to picture processing was through bubble chamber pictures and not alphanumeric characters. For it became clear from the very beginning that an appeal to most of the existing pattern recognition models would not only not work, but the models themselves were basically inadequate. These models are based on the categorization of images as belonging to one or another of a finite set of prototypes. Bubble chamber picture scanning defines a context for visual data processing and pattern recognition in which the concepts "prototypes" and "images" become virtually meaningless.
    It was clear very soon that what was needed to cope with the problem on hand was a descriptive scheme in terms of which the structural features of individual bubble chamber pictures could Ee efl/eiently described and talked about. Pattern recognition is only one aspect of the nmch more fundamental problem of analysis and description of classes of patterns (or equivalently, classes of pictures).
    The aim of any adequate recognition procedure should be not merely to arrive at a "yes," "no," "don't know" decision but to produce a structured description of the input picture. The author has argued elsewhere at some length that no processing model could hope to accomplish this in a satisfactory way unless it has built into it, in some sense, a generative grammar for the class of patterns it is set up to analyze and recognize.
    For the bubble chamber scanning program we worked out a processing model, called the syntactic model, and a programming language, called the parallel processing language, in which picture processing algorithms based on the above model could be designed and described. An interpreter for this language was designed for the University of Illinois IBM 7094-1401 system, and using this a very wide variety of picture processing algorithms was investigated. A first version of a scanning program, BUBBLE SCAN I, based on this model and using the above programming language was successfully completed [5]. Later, the structure of a "conversation" program, BUBBLE TALK, for use in the context of bubble chamber pictures was worked out in considerable detail. Most of this work, except for two papers, exists as yet only in the form of internal technical reports.
    Outlined briefly in Section 2 of this paper are the syntactic model and the processing details, with specific reference to bubble chamber pictures. In Section 3 the environment in which the "conversation" program is intended to function is described and it is indicated how the program is set up to make use of the syntactic details generated by the parallel processor.
    The interpreter for the parallel processing language has been rewritten for the CDC 3600 computer system and named COMPAX. In Section 4 a generative grammar for a subset of "handprinted" letters of the English alphabet is described and a few computer-generated specimens using COMPAX and this generative grammar are exhibited. Appendix I contains a summary of the features incorporated in COMPAX and its basic specifications.
    Extract: Concluding Remarks
    Concluding Remarks
    In this paper, a specific metatheoretic model for the analysis and description of classes of pictures has been considered. A particular class of processing procedures, termed parallel processing algorithms, has been referred to, and it has been shown how, in terms of labeling schemata based oil these techniques, appropriate descriptive statements concerning specific pictures belonging to a given class can be generated. The power and scope of the model and the parallel processing techniques has been illustrated by considering in some detail two different classes of pictures: bubble chamber pictures, and "handprinted" letters of the English alphabet.
    The unifying factor in all the above has been the view that adequate descriptive schemes that can cope with the analysis of classes of pictures should also prove to be naturMly embeddable in larger systems within which conversation, in some version of a natural language, can be conducted about pictures belonging to these classes.
    Syntax-directed interpretation of pictures meets this adequacy criterion in a satisfactory way, as has been seen in this paper. But, in the author's opinion, the nmeh more fundamental significance of syntax-directed picture processing models lies in the possibility they offer for constructing a theory of a "General Problem Solver" that can deal with linguistic data and pictorial (or visual) data in an integrated and uniform manner. One cannot emphasize too strongly that working out an adequate metatheory for "problem solving behavior" is really the basic problem of artificial intelligence, and it still remains very nmeh an open problem.
    Extract: COMPAX - Preliminaries
    COMPAX - Preliminaries
    COMPAX is the name of a parallel processing simulator that has been designed and coded for the CDC 3600 system at the Tata Institute of Fundamental Research, Bombay [8]. In writing COMPAX, full advantage has been taken of the already existing simulator PAX for the IBM 7094 system at the University of Illinois. In this appendix, a brief description of COMPAX and the special features incorporated in it is given.

    The pseudo-machine simulated by COMPAX consists of five units :
    (1) The plane memory is a stack of 51 planes, each plane consisting of a 96 X 96 array. Sometimes this memory is visualised as consisting of 9216 Z-words (or columns) of 51 bits each.
    (2) A conventional memory used for storing COMPAX code, 3600 code, direction lists, coordinate pairs, and similar information.
    (3) Logical units capable of performing operations on planes such as shifting, thresholding, various set-theoretic operations, and index arithmetic operations.
    (4) A control unit which interprets the COMPAX code, as well as the 3600 code and carries out the processing defined by them.
    (5) An I/0 device for transmitting digitized, pictorial information (i.e., planar, array of bits) and an additional output device for transmitting ancillary information.
    The 51 planes of the plane-memory are designated by symbolic names P0, P1, "'" , Ps0. Plane names enter as arguments in COMPAX instructions. For mnenmnic purposes the programmer can assign and use "arbitrary" identifiers as names of planes. Although the parallel processing instructions themselves treat an entire plane (96 X 96 array) as a single operand, it is sometimes necessary to refer to and operate on individual points of a specified plane. The points are referred to by their coordinates. The lower left bit has the coordinates (0, 0), and the upper right, (95, 95). A coordinate pair can be stored in a single location of the conventional memory.
    There are 8 immediate neighbors to every point in ~ plane. These are individually identified by 8 direction numbers: d = 1, 2, - ? ? , 8. The 1-neighbor is the East-neighbor, and the numbering runs counterclockwise, d = 0 denotes the point itself (i.e., the self).
    A direction list, DL, is a list of direction numbers, and specifies a subset of the immediate neighbors. A direction list enters into a COMPAX instruction much as a parameter does in a conventional instruction. A DL can be assigned and identified by a symbolic name.
    The simulator has 25 built-in registers IR1, IR2, ... , IR25, for counting and indexing purposes. The first 7 of these can be used for indexing, i.e., the modification of an instruction argument at execution time.
    Extract: COMPASS and COMPAX
    COMPASS, the assembly language of the 3600 system, forms a subset of COMPAX, SO that a programmer can interleave COMPAX code with COMPASS code.
          in [ACM] CACM 9(03) March 1966 includes proceedings of the ACM Programming Languages and Pragmatics Conference, San Dimas, California, August 1965 view details
  • Narasimhan, R. and Reddy, V. S. N. "Some experiments in scene generatian using COMPAX" view details Abstract: Very little work has been done so far on syntactic specification of complex scenes for computer generation. It is not clear that thp usual rewriting rule formalism is adequate to cope with the problems involved, such as specification of 3D object groupings, hidden-line elimination, and so on.

    Some experiments were tried out using COMPAX to create isometric views of scenes composed of rectangular parallelepipeds. This paper discusses some of the specificational aspects of the language used. Computer printouts of typical scenes generated are included. Some tentative ideas for analyzing such scenes are presented.
          in [ACM] CACM 9(03) March 1966 includes proceedings of the ACM Programming Languages and Pragmatics Conference, San Dimas, California, August 1965 view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details Extract: PAX and COMPAX
    A rather different tack of "two-dimensional"
    language development is represented by Pax [Johnston,
    1970] and Compax [Narasimhan, 1966]. These are onedimensional
    languages with facilities to manipulate
    truly two-dimensional data. The basic data are
    matrices of zeros and ones, called planes, which
    represent white and black spots of a picture. Various
    set- and graph-theoretic operations on these
    planes, which have the normal Euclidean connectivity
    properties, are available. The abstract machine on
    which Compa× is based assumes both a two-dimensional
    memory for the storage of the planes and an input/
    output device for transmitting the digitized pictorial
    information. The advantage of these languages
    is of course that we think directly in terms of the
    two-dimensional structures. Also, there is much
    parallelism implied by the operations which can be
    exploited by properly designed hardware.
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details