DMAP(ID:1619/)Parallel Cobolfor Data Management for Array Processors set of extensions to COBOL to take advantage of Array Processor machines Related languages
References: Development Model DMAP is envisioned as a machine independent programming language. For purposes of this development, however, we model a representative target AP environment consisting of a number of arrays of content addressable memory (CAM), an array processing unit, a standard sequential memory, and a corresponding sequential processor. The array processing unit may access both the CAM modules and sequential memory while the sequential processor has access to only the sequential memory. These two processors will be independent and may execute in parallel under program control. As with ANSI COBOL, DMAP provides-through the ENVIRONMENT DIVISION-for some specification of the hardware environment. Actual organization of the above four components is not significant from a language point of view although, of course, it must be considered in specific DMAP implementations Extract: Language Overview Language Overview The formal DMAP definition is presented in the Appendix. It may be noted that the major extensions to COBOL occur in the DATA and PROCEDURE DIVISIONS. In the DATA DIVISION, data pattern definitions are now specified in addition to the standard hierarchical definitions and permit either one or two dimensional data to be defined. The pattern data may be numeric, alphabetic, alphanumeric or Boolean, the latter being defined as a bit-oriented data item. The PICTURE Clause is extended beyond the ANSI standard specification symbols (such as X, A or 9) to include several new symbols: T to indicate a bit and N or Y indicating "don't care" bits or bytes, respectively. In the PROCEDURE DIVISION, the format of the SECTION headers and use of priority numbers have been modified to (a) identify the processor in which each SECTION is to execute and (b) identify SECTION execution independence and precedence. The provision for simultaneous execution of independent SECTIONs in each processor is included. New verbs have been defined for use in the associative SECTIONs. These verbs include AMOVE for data movement in the CAM modules, three forms of FIND for various pattern and hierarchy searches, ASEARCH for search and processing of byte strings and ROTATE, SHIFT and ASORT for data manipulation within the CAM modules. Existing verbs (such as IF) are redefined where necessary. in SIGPLAN Notices 10(03) March 1975 Proceedings of the conference on Programming languages and compilers for parallel and vector machines, January 1975 view details |