PROSS: a Process Control Programming Language

Total Page:16

File Type:pdf, Size:1020Kb

PROSS: a Process Control Programming Language PROSS: A process control programming language KARL W. SCHOLZ* statements with occasional computed GO TO University ofIllinois, Champaign. Illinois 61820 statements; the resulting code was thus difficult to write initially, difficult to debug, and perhaps most important PROSS, a programming language for small- and was difficult to teach to newcomers in the laboratory. medium-scale process control computers, is presented. The PROSS language was designed to circumvent The PROSS language, whose structure and syntax were these difficulties by providing a convenient means for expressly designed for ease of use by psychologists, is coding any experimental procedure which could be summarized and exemplified in a sample procedure. The structure of an existing PROSS compiler is briefly organized as a sequence of discrete events ordered in summarized. time. The development of PROSS's syntax and statement structure grew from a simple expedient. A The present discussion is divided into three segments. group of individuals, both programmers and First, we shall discuss the genesis of the PROSS language nonprogramrners, were informally asked, "Assuming the at the Indiana University Math Psych Laboratory. existence of an appropriate hypothetical compiler, how Secondly, the major features of the language will be would you most conveniently express your intended outlined and summarized in a coded sample procedure. paradigm to a computer?" The various protocols Finally, we shall comment briefly on the structural produced in response to this question servedas the basis features of the PROSS compiler currently in use at the for the development of the PROSS syntax. The most Indiana Laboratory. important characteristics of the protocols were, first, an emphasis on the "readability" of source statements and, THE GENESIS OF THE PROSS LANGUAGE secondly, the presentation of an experimental procedure Prior to the implementation of the PROSS system, as an ordered sequence of discrete operations, spaced virtually all process programming in the Indiana appropriately in time by the introduction of delays laboratory was written in IBM's FORTRAN IV. The whose termination was either response-contingent or impetus to develop a new system was based on several time-contingent. Thus, the language was developed to profound inadequacies of FORTRAN as a process conform to the user's "way of thinking," rather than to control language. First and foremost, the Indiana 32K force the user to acquire an alien approach to problem IBM 1800 provided sufficient hardware resources to representation dictated by the structure of an unfamiliar support both multiple laboratory operation and language. As McLean (1969) concludes in his discussion foreground-background time sharing. Realization of of PSYCHOL, "additional work might be undertaken to these capabilities forced the programmer to remain make the language more like the discourse of the constantly aware of the necessity for conforming to a psychologist, less like the programming language on variety of conventions which were relevant only to the which PSYCHOL is built [e.g., ALGOL]." The primary time-sharing operations, not to the actual process objective in the development of PROSS was the control application. For example, whenever the emphasis on psychological discourse as the man-machine programmer wished to introduce a timed delay into his communication medium. procedure, he had to set the appropriate programmed timer and then return control to the operating system: at THE MAJOR FEATURES the termination of the timed interval, his program would OF THE PROSS LANGUAGE! be reentered at the first statement, thus necessitating The language contains three statement categories, execution of a complicated branch sequence to return to concerned respectively with declaration, processing, and that portion of the program designed to service the end I/O control. In order to facilitate learning the language, of the interval (the ENTRY statement is not included in similarity to FORTRAN has been maintained wherever 1800 FORTRAN). appropriate. The three statement categories, and the Secondly. much of the I/O equipment required special PROSS statements within each category, will be service routines for effective operation. Since a major discussed in turn. aspect of process control applications is the operation of specialized I/O equipment. frequent calls to these special Declarations subroutines were required in each FORTRAN PROSS includes two statements for the declaration of procedure. Thus, a complete procedure would typically data. COMMON statements are used to allocate storage degenerate into little more than a list of CALL areas used both for data disposition and for interprogram communication. Common storage is placed in specific installation-determined data buffering areas 'Send requests for reprints to Karl W. Scholz. Department of rather than within a user's program. CONSTANT Psychology. University of l llinois. Champaign. Illinois 61820. statements are used to declare variable or array storage Behav. Res. Meth. & Instru., 1973. Vol. 5 (2) 245 within a user's program and to preassign specific values and ZERO statements. MOVE statements are used to to variable names. Both integer values and alphanumeric transfer an entire array. or any portion of an array. to strings may be preassigned. some other location. ZERO statements are used to zero an array or portion thereof. MOVE and ZERO arc Processing Statements provided primarily to facilitate transfer and Processing statements provide arithmetic processing manipulation of blocks of stimulus or response and program control which may be either information such as character strings used in CRT time-contingent or response-contingent. Arithmetic display devices. operations are expressed in arbitrarily complex. fully parenthesized notation, as in FORTRAN. The f requently used operations of incrementing or Input/Output decrementing a single variable (such as the index or PROSS uses a unique and highly general input/output counter in a loop) are facilitated by INCREMENT and facility. Process control installations will typically DECREMENT statements which replace the familiar I = develop a series of special-purpose input/output control 1+ J construction of FORTRAN. subroutines, each designed to control or monitor some Delay in prugram execution is effected by DELAY specific function. The appropriate calls to such and DEPART statements. The DELAY statement subroutines can easily be generated using the facilities of introduces a timed delay in program execution. and a a macro assembler, which are now available as standard DEPART statement introduces an untimed or indefinite software for most small- to medium-sized computers. delay. In either case, resumption of program execution The PROSS compiler generates calls to I/O subroutines may be made response-contingent through prior through direct transliteration of the source statement, execution of an *ALLOW statement (see I/O statement thus allowing each installation to establish its own macro discussion below). library which is accessible to the PROSS programmer Three statements are provided to allow the direction without compiler modification. PROSS I/O statements of program control. Unconditional transfer is directed contain one or more words, separated by blanks, by the GO TO statement as in FORTRAN, ALGOL, or commas, or parentheses. The compiler interprets the PL/l. Conditional transfer may be controlled by a first word as a macro name and interprets all remaining computed GO TO as in FORTRAN or by an IF words as parameters to that call. The resulting macro call statement. Since event-contingent transfer is frequently is then expanded by the assembler into either the required in process control. special emphasis has been appropriate subroutine call or into the actual code placed on the PROSS IF statement, and three distinct necessary to control the I/O operation. Effectively, the types are provided. All IF statements begin with a logical programming power normally provided by a macro expression, which is followed by (1) two labels separated assembler is brought into the reach of the beginning by a comma, (2) any statement in the language, or programmer instead of remaining accessible to only the (3) any two statements in the language separated by sophisticated machine-language programmer. ELSE. Iterative program control is directed by a The general structure of a PROSS program resembles statement of the form "DO label WHILE logical a FORTRAN program in external appearance (see expression." The PROSS DO-loop construction allows Table I). Each program begins with several compiler the programmer to specify both the index type control statements, indicating program type (e .g., in-core (subscripted or nonsubscripted variable) and the nature vs out-of-core) and data communication area. The of the index manipulation used for loop control. communication area is one of several defined by the INCREMENT and DECREMENT statements are installation as being accessible to process programs and, typically used to manipulate the loop index; thus, for as such, is analogous to FORTRAN labeled COMMON. example, iteration count might be determined by The control statements are followed by conventional decrementing a subscripted variable by a second program declaration statements which allow the subscripted variable until smaller than a third programmer to define variables and arrays. Executable subscripted variable. The flexibility which PROSS IF statements
Recommended publications
  • On-Line Computing with a Hierarchy of Processors
    University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science December 1968 On-Line Computing With a Hierarchy of Processors Richard P. Morton University of Pennsylvania Follow this and additional works at: https://repository.upenn.edu/cis_reports Recommended Citation Richard P. Morton, "On-Line Computing With a Hierarchy of Processors", . December 1968. University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-69-13. This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/804 For more information, please contact [email protected]. On-Line Computing With a Hierarchy of Processors Abstract Time shared computer systems have been based upon the two techniques of multiprogramming and swapping. Multiprogramming is based on restricting each program to a portion of the total computer memory. Swapping requires considerable overhead time for loading and unloading programs. To alleviate the size restriction due to multiprogramming, segmentation is employed, resulting in fact in vastly increased swapping. A new system architecture is proposed for time shared computing that alleviates the high overhead or program size restriction. It utilizes a hierarchy of processors, where each processor is assigned tasks on the basis of four factors: interactive requirements, frequency of use, execution time, and program length. In order to study the hierarchical approach to system architecture, the Moore School Problem Solving Facility (MSPSF) was built and used. The study of the manner of operation and the reactions of the users clarified and defined the Hierarchy of Processors system architecture. The Moore School Problem Solving Facility was implemented on second generation equipment, the IBM 7040, and therefore it is not possible to adequately compare the efficiency with third generation computers operating in a swapping mode.
    [Show full text]
  • Data Definition Language
    1 Structured Query Language SQL, or Structured Query Language is the most popular declarative language used to work with Relational Databases. Originally developed at IBM, it has been subsequently standard- ized by various standards bodies (ANSI, ISO), and extended by various corporations adding their own features (T-SQL, PL/SQL, etc.). There are two primary parts to SQL: The DDL and DML (& DCL). 2 DDL - Data Definition Language DDL is a standard subset of SQL that is used to define tables (database structure), and other metadata related things. The few basic commands include: CREATE DATABASE, CREATE TABLE, DROP TABLE, and ALTER TABLE. There are many other statements, but those are the ones most commonly used. 2.1 CREATE DATABASE Many database servers allow for the presence of many databases1. In order to create a database, a relatively standard command ‘CREATE DATABASE’ is used. The general format of the command is: CREATE DATABASE <database-name> ; The name can be pretty much anything; usually it shouldn’t have spaces (or those spaces have to be properly escaped). Some databases allow hyphens, and/or underscores in the name. The name is usually limited in size (some databases limit the name to 8 characters, others to 32—in other words, it depends on what database you use). 2.2 DROP DATABASE Just like there is a ‘create database’ there is also a ‘drop database’, which simply removes the database. Note that it doesn’t ask you for confirmation, and once you remove a database, it is gone forever2. DROP DATABASE <database-name> ; 2.3 CREATE TABLE Probably the most common DDL statement is ‘CREATE TABLE’.
    [Show full text]
  • Origins of Operating Systems OS/360 Martin Grund
    Origins of Operating Systems OS/360 Martin Grund HPI Table of Contents ● IBM System 360 ● Functional Structure of OS/360 ● Virtual Machine Time Sharing Juni 2006 Origins of Operating Systems - OS/360 2 Martin Grund Welcome to Big Blue Juni 2006 Origins of Operating Systems - OS/360 3 Martin Grund IBM System 360 ● In 1964 IBM announced the IBM-360 family for computers ● All machines, despite their differences, had the same user instruction set ● Different operating systems available for these machines ● Only midrange and high-end system run OS/360 ● IBM introduced the new term of hardware architecture ● In 1970 IBM announced System 370 with hardware virtual memory support Juni 2006 Origins of Operating Systems - OS/360 4 Martin Grund IBM System 360 ● High-end machines established 32 bit as standard for computers ● Virtual Memory Support – hardware support for dynamic address translation ● Within ten years S/360 achieved standard status ● Flashback prices: ● 1970 – $279/MB hard disk ● 1980 - $35/MB hard disk | $50.000 /MB DRAM Juni 2006 Origins of Operating Systems - OS/360 5 Martin Grund IBM System 360 Specials ● Introduced 8bit entities ● Introduction of 32 or 64 bit floating point words based on a hexadecimal base ● Variable length strings using length field in the first byte ● All registers are universal registers – accumulators as well as address registers ● Registers use 32 bit, 24 bit for addressing -> 16MB Juni 2006 Origins of Operating Systems - OS/360 6 Martin Grund IBM S/360 - Pictures Juni 2006 Origins of Operating Systems -
    [Show full text]
  • IBM Application System/400 System/38-Compatible COBOL User's Guide and Reference
    IBM IBM Application System/400 SC09-1814-00 System/38-Compatible COBOL User’s Guide and Reference Note! Before using this information and the product it supports, be sure to read the general information under “Notices” on page xv. First Edition (June 1994) This edition applies to the System/38-Compatible feature of the IBM* ILE* COBOL/400* licensed program, (Program 5763-CB1), Version 3 Release 0 Modification 5, and to all subsequent releases and modifications until otherwise indi- cated in new editions. Make sure you are using the proper edition for the level of the product. Order publications through your IBM representative or the IBM branch serving your locality. Publications are not stocked at the address given below. A form for readers’ comments is provided at the back of this publication. If the form has been removed, you may address your comments to: IBM Canada Ltd. Laboratory Information Development 2G/345/1150/TOR 1150 Eglinton Avenue East, North York, Ontario, Canada M3C1H7 You can also send your comments by facsimile (attention: RCF Coordinator), or you can send your comments elec- tronically to IBM. See "Communicating your Comments to IBM" for a description of the methods. This page imme- diately precedes the Readers' Comment Form at the back of this publication. When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1994. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
    [Show full text]
  • Preparation of Papers for AIAA Technical Conferences
    NASA KSC – Internship Final Report Unit Testing and Remote Display Development Nicholas Costa Kennedy Space Center Computer Science USRA Summer Session 18 07 2014 NASA Center 1 18/7/2014 NASA KSC – Internship Final Report Unit Testing and Remote Display Development Nicholas Costa Denison University, Granville, Ohio, Abstract The Kennedy Space Center is currently undergoing an extremely interesting transitional phase. The final Space Shuttle mission, STS-135, was completed in July of 2011. NASA is now approaching a new era of space exploration. The development of the Orion Multi- Purpose Crew Vehicle (MPCV) and the Space Launch System (SLS) launch vehicle that will launch the Orion are currently in progress. An important part of this transition involves replacing the Launch Processing System (LPS) which was previously used to process and launch Space Shuttles and their associated hardware. NASA is creating the Spaceport Command and Control System (SCCS) to replace the LPS. The SCCS will be much simpler to maintain and improve during the lifetime of the spaceflight program that it will support. The Launch Control System (LCS) is a portion of the SCCS that will be responsible for launching the rockets and spacecraft. The Integrated Launch Operations Applications (ILOA) group of SCCS is responsible for creating displays and scripts, both remote and local, that will be used to monitor and control hardware and systems needed to launch a spacecraft. It is crucial that the software contained within be thoroughly tested to ensure that it functions as intended. Unit tests must be written in Application Control Language (ACL), the scripting language used by LCS.
    [Show full text]
  • Digital = Flight = Control =System Software Written in Automated
    NASA Technical Memorandum 88313 . Digital= Flight= Control =System Software Written in Automated- Engineering-Design Language: A Usets Guide of Verification and Validation Tools Jim Saito, Ames Research Center, Moffett Field, California January 1987 National Aeronautics and Space Administration Ames Research Center Moffett Field, California 94035 CONTENTS LIST OF SYMBOLS .................................................................... v SUMMARY ............................................................................ 1 INTRODUCTION ....................................................................... 1 DFCSVL OVERVIEW .................................................................... 2 DFCSVL Environment ............................................................ 2 Environment Computer ..................................................... 2 Remote Link .............................................................. 2 DFCSVL Software .......................................................... 3 Univac Environment ............................................................ 4 TESTING ............................................................................ 5 AED V & V TOOL DESCRIPTIONS........................................................ 5 Static Tools .................................................................. 8 -d option: Module Dependencies ......................................... 11 -g option: Global Cross Reference ...................................... 11 -i option: Interface ..................................................
    [Show full text]
  • Dictionary of Ibm & Computing Terminology 1 8307D01a
    1 DICTIONARY OF IBM & COMPUTING TERMINOLOGY 8307D01A 2 A AA (ay-ay) n. Administrative Assistant. An up-and-coming employee serving in a broadening assignment who supports a senior executive by arranging meetings and schedules, drafting and coordinating correspondence, assigning tasks, developing presentations and handling a variety of other administrative responsibilities. The AA’s position is to be distinguished from that of the executive secretary, although the boundary line between the two roles is frequently blurred. access control n. In computer security, the process of ensuring that the resources of a computer system can be accessed only by authorized users in authorized ways. acknowledgment 1. n. The transmission, by a receiver, of acknowledge characters as an affirmative response to a sender. 2. n. An indication that an item sent was received. action plan n. A plan. Project management is never satisfied by just a plan. The only acceptable plans are action plans. Also used to mean an ad hoc short-term scheme for resolving a specific and well defined problem. active program n. Any program that is loaded and ready to be executed. active window n. The window that can receive input from the keyboard. It is distinguishable by the unique color of its title bar and window border. added value 1. n. The features or bells and whistles (see) that distinguish one product from another. 2. n. The additional peripherals, software, support, installation, etc., provided by a dealer or other third party. administrivia n. Any kind of bureaucratic red tape or paperwork, IBM or not, that hinders the accomplishment of one’s objectives or goals.
    [Show full text]
  • Red Hat Linux 7.3 the Official Red Hat Linux Reference Guide
    Red Hat Linux 7.3 The Official Red Hat Linux Reference Guide Red Hat Linux 7.3: The Official Red Hat Linux Reference Guide Copyright © 2002 by Red Hat, Inc. Red Hat, Inc. 1801 Varsity Drive Raleigh NC 27606-2072 USA Phone: +1 919 754 3700 Phone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park NC 27709 USA rhl-rg(EN)-7.3-HTML-RHI (2002-04-05T17:09-0400) Copyright © 2002 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder. The admonition graphics (note, tip, and so on) were created by Marianne Pecci <[email protected]>. They may be redistributed with written permission from Marianne Pecci and Red Hat, Inc.. Red Hat, Red Hat Network, the Red Hat "Shadow Man" logo, RPM, Maximum RPM, the RPM logo, Linux Library, PowerTools, Linux Undercover, RHmember, RHmember More, Rough Cuts, Rawhide and all Red Hat-based trademarks and logos are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Motif and UNIX are registered trademarks of The Open Group.
    [Show full text]
  • SAS SCREEN CONTROL LANGUAGE: a GENTLE INTRODUCTION Jean Hardy Services Conseils Hardy Inc
    Interactive systems 319 SAS SCREEN CONTROL LANGUAGE: A GENTLE INTRODUCTION Jean Hardy Services Conseils Hardy Inc. ABSTRACT • computed variables created by SCL; • system variables; SAS users that become acquainted with SAS Screen • MACRO variables. Control Language are often discouraged. What appears as a formidable task, namely learning this new language Unlike DATA step flow, statements of an SCL program and its intricacies, can be made easier by concentrating are not executed top-dawn; some execute once as the on the fundamental statements and features. first observation is displayed while others can execute many times for each observation in the SAS dataset. This paper is a tutorial to the Screen Control Language. Controlling execution flow is a major challenge in some We don't like to teach SCL in the context of SASIAF, SCL applications. intimidating by itself. We prefer to see it from within SASIFSP, disregarding details about PROC FSEDIT. STRUCTURE OF AN SCL PROGRAM Topics covered include the use of labels, field statements and functions, error trapping, use of dataset and observa­ Each FSEDIT and FSBROWSE screen include an SCL tion functions, and useful programming and debugging program that is stored with it; this program is empty by tips. default. For example, an SCL program validating the SAS dataset PERM.RESULT is created by running This paper is aimed toward intermediate level SAS users, FSEDIT with a valid screen name: new or novice in their knowledge of SCL. Those that are discouraged, disenchanted or skeptical about SCL are LIBNAME PERM 'file-or-direccory'; PROC FSEDIT DATA=PERM.RESULT especially welcomed.
    [Show full text]
  • FORTRAN 77 User's Guide
    A FORTRAN 77 User's Guide ASCALE 7000 DPS7000/XT NOV Languages: FORTRAN REFERENCE 47 A2 16UL 03 DPS7000/XTA NOVASCALE 7000 FORTRAN 77 User's Guide Languages: FORTRAN July 1990 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE REFERENCE 47 A2 16UL 03 The following copyright notice protects this book under Copyright laws which prohibit such actions as, but not limited to, copying, distributing, modifying, and making derivative works. Copyright Bull SAS 1990 Printed in France Suggestions and criticisms concerning the form, content, and presentation of this book are invited. A form is provided at the end of this book for this purpose. To order additional copies of this book or other Bull Technical Publications, you are invited to use the Ordering Form also provided at the end of this book. Trademarks and Acknowledgements We acknowledge the right of proprietors of trademarks mentioned in this book. Intel® and Itanium® are registered trademarks of Intel Corporation. Windows® and Microsoft® software are registered trademarks of Microsoft Corporation. UNIX® is a registered trademark in the United States of America and other countries licensed exclusively through the Open Group. Linux® is a registered trademark of Linus Torvalds. The information in this document is subject to change without notice. Bull will not be liable for errors contained herein, or for incidental or consequential damages in connection with the use of this material. Preface MANUAL OBJECTIVES This manual provides information about FORTRAN 77, as it is implemented under the GCOS 7 operating system. It describes how to compile, link, execute,debug and maintain FORTRAN 77 programs with a maximum of efficiency.
    [Show full text]
  • Ed 085 578 Title Institution Spons Agency Pub
    DOCUMENT RESUME ED 085 578 95 CE 000 768 TITLE Computers and Careers: A Suggested Curriculum for Grades 9-12. INSTITUTION Central Texas Coll., Killeen. SPONS AGENCY Bureau of Adult, Vocational, and Technical Education (DHEW/OE), Washington, D.C. PUB DATE 73 NOTE 67p.. AVAILABLE FROM Suprintendent of Documents, U.S. Government Printing Office, Washington, D. C. 20402 (Stock Number 1780-01241) EDRS PRICE MF-$0.65 HC-$3.29 DESCRIPTORS *Computer Science Education; *Curriculum Guides; Equipment; *High-School Curriculum; Library Services; Programing; *Programing Languages; Technical Education; Units of Study (Subject Fields); Vocational Education IDENTIFIERS Keypunching ABSTRACT The curriculum guide is designed to help high school -administrators, teachers, and others to develop or expand a program to introduce all students to general computer capabilities, to provide certain students with a problem solving tool, or to prepare other students for entry into the job market. Help is given in planning and organizing the program, curriculum outlines for the four high school years are included, and the courses are described briefly. Fourteen instructional units cover advanced COBOL programing, beginning keypunch, business applications development, computer operations, FORTRAN applications programing, introduction to COBOL programing, introduction to computers, introduction to programing, keypunch and data entry, office machines, procedures for organizing information, programing projects, punched card data processing I, and punched card data processing
    [Show full text]
  • Application System/400 System/38 Environment Programming Version 3 Publication No
    Application System/400 SC41-3735-00 System/38 Environment Programming Version 3 IBM Application System/400 SC41-3735-00 System/38 Environment Programming Version 3 Take Note! Before using this information and the product it supports, be sure to read the general information under “Notices” on page v. | First Edition (September 1994) | This edition applies to the licensed program IBM Operating System/400, (Program 5763-SS1), Version 3 Release 1 Modification 0, and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the proper edition for the level of the product. | Order publications through your IBM representative or the IBM branch serving your locality. If you live in the United States, Puerto | Rico, or Guam, you can order publications through the IBM Software Manufacturing Company at 800+879-2755. Publications are not stocked at the address given below. A form for readers' comments is provided at the back of this publication. If the form has been removed, you may address your comments to: Attn Department 245 IBM Corporation 3605 Highway 52 N | Rochester, MN 55901-9986 USA | or you can fax your comments to: | United States and Canada: 800+937-3430 | Other countries: (+1)+507+253-5192 | If you have access to Internet, you can sent your comments electronically to [email protected]; IBMMAIL, to | ibmmail(usib56rz). When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you or restricting your use of it.
    [Show full text]