There has never been a serious effort made to produce a program which would pass Turing's well known test for artificial intelligence. The present paper describes a program which, although not intended to meet the test, is a tentative step in that direction. It is a synthesis of earlier work on emotions, purpose, conversation, knowledge/belief acquisition. Provision for the incorporation of additional aspects of A/I has been made.
{"title":"A/I: a synthesis","authors":"Will Curran","doi":"10.1145/503896.503935","DOIUrl":"https://doi.org/10.1145/503896.503935","url":null,"abstract":"There has never been a serious effort made to produce a program which would pass Turing's well known test for artificial intelligence. The present paper describes a program which, although not intended to meet the test, is a tentative step in that direction. It is a synthesis of earlier work on emotions, purpose, conversation, knowledge/belief acquisition. Provision for the incorporation of additional aspects of A/I has been made.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117288182","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The representation of a general rational number of the form A/B as a floating point number requires a conversion from the general form to a base specific form. This conversion often results in the generation of infinitely repeating non-zero strings of digits which are truncated to the size of the mantissa resulting in a loss of precision. It is shown that the proportion of repeating versus finite rational numbers specific to a base is expotentially related to the number of unique prime factors of the base. Simulation results are presented which show the relative proportions of finite representations for binary and decimal cases over a range of mantissa sizes. The representation of rational numbers in computer systems is typically implemented by modified forms of scientific notations that are referred to as floating point representations. That is, all rational numbers in general fractional form are converted to a rational number of a default base and stored as a mantissa of fixed precision scaled by a power of the base. In this form the denominator need not be explicity represented or manipulated. This simplification limits the computational overhead and extends the range of the representation at the price of precision. Generally the normalization and base of such numbers are assumed to be a default understood by the algorithms which manipulate them. These systems of floating point representation can be grouped into P e r m i s s i o n to copy w i t h o u t f e e a l l o r p a r t o f t h i s m a t e r i a l i s g r a n t e d p r o v i d e d t h a t t h e c o p i e s are not made or d i s t r i b u t e d f o r d i r e c t c o m m e r c i a l a d v a n t a g e , t h e ACM c o p y r i g h t n o t i c e and the t i t l e o f t h e p u b l i c a t i o n and i t s d a t e appear , and n o t i c e i s g i v e n t h a t c o p y i n g i s by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 1982 ACM 0-89791-071-0/82/0400-0085 $00.75 three distinct categories: a binary mantissa and exponent a binary encodirg of decimal digits a binary encoding of a decimal mantissa Of these representations the first is a true base two scientific notation and has been the choice of the overwhelming majority of floating point systems. The remaining methods rely on only binary representation as a media for storage and representation of values. That is, their algorithms perform actual decimal manipulations. Therefore values represented in these methods are given binary encoding for rational numbers in decimal form. All of these representations require that rational numbers in fractional form be converted to a rational number in the appropriate base. To express a general rational number as a base-specific rational number requires conversion of the original fraction to a form in which the denominator is some power of the base of representation. For example, we typically convert the fraction 1/2 t
将形式为a /B的一般有理数表示为浮点数需要从一般形式转换为特定基数形式。这种转换通常会产生无限重复的非零数字串,这些数字串被截断到尾数的大小,从而导致精度的损失。结果表明,一个基所特有的重复有理数与有限有理数的比例与该基唯一素数因子的数量有显潜在的关系。仿真结果显示了在尾数大小范围内二进制和十进制的有限表示的相对比例。在计算机系统中,有理数的表示通常是通过被称为浮点表示的科学符号的修改形式来实现的。也就是说,所有一般分数形式的有理数都转换为默认基数的有理数,并存储为固定精度的尾数,该尾数按基数的幂进行缩放。在这种形式下,分母不需要显式表示或操作。这种简化限制了计算开销,并以牺牲精度为代价扩展了表示的范围。通常,这些数字的归一化和基数被假定为操作它们的算法所理解的默认值。浮点表示的这些系统可以分为P e r m is s i o n复制w i t h o u t f e e l l o r P r t o f t h我s m t e r l i s g r n t e d P r o v i d e d t h t t h e c o P e s不是我或者我d s t r b t u e d f o r d i r e c t c o m m e r c我l e d v n t g, t h e ACM c o P y r i g h t n o t i c e t i t l e o f t h e P u b l i c t i o n和t s d t e出现,在计算机协会的许可下,在计算机协会的许可下,在计算机协会的许可下,在计算机协会的许可下,在计算机协会的许可下,在计算机协会的许可下使用计算机。以其他方式复制或重新发布需要付费和/或特定许可。三种不同的类别:二进制尾数和指数十进制数字的二进制编码十进制尾数的二进制编码在这些表示法中,第一种是真正的二进制科学记数法,并且是绝大多数浮点系统的选择。其余方法仅依赖二进制表示作为存储和表示值的媒介。也就是说,它们的算法执行实际的十进制操作。因此,在这些方法中表示的值被给予十进制形式的有理数的二进制编码。所有这些表示都要求将分数形式的有理数转换为相应基数的有理数。要将一般有理数表示为特定基数的有理数,需要将原始分数转换为分母为表示基数的某次幂的形式。例如,我们通常将分数1/2转换为5/10或其等价形式。用浮点数表示。这个幂被保存为浮点形式的“指数”。这些表示系统中的关键问题是,并非所有可能的分数(实际上是一个非常有限的子集)都可以转换为具有有限分子的特定基表示。例如,有理数1/3(二进制i/ii)不能用有限分子除以基数幂的十进制或二进制表示。因此,浮点表示系统必须截断分子的最低有效数字以适应尾数的有限大小,其结果是在随后的计算中引入重要性和不精确性的损失。由此可见,同样的现象(即本工作的删节)部分由新奥尔良洛约拉大学学术资助基金资助。
{"title":"Representational error in binary and decimal numbering systems","authors":"P. Johnstone","doi":"10.1145/503896.503911","DOIUrl":"https://doi.org/10.1145/503896.503911","url":null,"abstract":"The representation of a general rational number of the form A/B as a floating point number requires a conversion from the general form to a base specific form. This conversion often results in the generation of infinitely repeating non-zero strings of digits which are truncated to the size of the mantissa resulting in a loss of precision. It is shown that the proportion of repeating versus finite rational numbers specific to a base is expotentially related to the number of unique prime factors of the base. Simulation results are presented which show the relative proportions of finite representations for binary and decimal cases over a range of mantissa sizes. The representation of rational numbers in computer systems is typically implemented by modified forms of scientific notations that are referred to as floating point representations. That is, all rational numbers in general fractional form are converted to a rational number of a default base and stored as a mantissa of fixed precision scaled by a power of the base. In this form the denominator need not be explicity represented or manipulated. This simplification limits the computational overhead and extends the range of the representation at the price of precision. Generally the normalization and base of such numbers are assumed to be a default understood by the algorithms which manipulate them. These systems of floating point representation can be grouped into P e r m i s s i o n to copy w i t h o u t f e e a l l o r p a r t o f t h i s m a t e r i a l i s g r a n t e d p r o v i d e d t h a t t h e c o p i e s are not made or d i s t r i b u t e d f o r d i r e c t c o m m e r c i a l a d v a n t a g e , t h e ACM c o p y r i g h t n o t i c e and the t i t l e o f t h e p u b l i c a t i o n and i t s d a t e appear , and n o t i c e i s g i v e n t h a t c o p y i n g i s by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 1982 ACM 0-89791-071-0/82/0400-0085 $00.75 three distinct categories: a binary mantissa and exponent a binary encodirg of decimal digits a binary encoding of a decimal mantissa Of these representations the first is a true base two scientific notation and has been the choice of the overwhelming majority of floating point systems. The remaining methods rely on only binary representation as a media for storage and representation of values. That is, their algorithms perform actual decimal manipulations. Therefore values represented in these methods are given binary encoding for rational numbers in decimal form. All of these representations require that rational numbers in fractional form be converted to a rational number in the appropriate base. To express a general rational number as a base-specific rational number requires conversion of the original fraction to a form in which the denominator is some power of the base of representation. For example, we typically convert the fraction 1/2 t","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127502426","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The philosophy behind the modular design and implementation of a computer-driven facility to collect and process EEG records is illustrated. The software modules are stand-alone programs in their own right that can externally be reconfigured into the components to solve a more complex problem. As such, they behave like the "commands" of a command line interpreter (CLI). They are easily invoked by the use of operating system macros without increasing the demands on the system operator. By the use of an experiment parameter and specifications table (a common data base) the specifics of a given series of experiments are prestored well in advance of data collection; specification of a new table filename changes the nature of the experiment. Complete operating system macro "menus" can be predesigned and stored. To change the experiment the operator simply changes the "menu". The system has been used to collect and process single visual evoked responses (unaveraged EEG records) elicited from human subjects for a series of cognitive experiments with relatively good classification error rates.
{"title":"A modular software real-time brain wave detection system","authors":"A. Arroyo, D. Childers","doi":"10.1145/503896.503917","DOIUrl":"https://doi.org/10.1145/503896.503917","url":null,"abstract":"The philosophy behind the modular design and implementation of a computer-driven facility to collect and process EEG records is illustrated. The software modules are stand-alone programs in their own right that can externally be reconfigured into the components to solve a more complex problem. As such, they behave like the \"commands\" of a command line interpreter (CLI). They are easily invoked by the use of operating system macros without increasing the demands on the system operator. By the use of an experiment parameter and specifications table (a common data base) the specifics of a given series of experiments are prestored well in advance of data collection; specification of a new table filename changes the nature of the experiment. Complete operating system macro \"menus\" can be predesigned and stored. To change the experiment the operator simply changes the \"menu\". The system has been used to collect and process single visual evoked responses (unaveraged EEG records) elicited from human subjects for a series of cognitive experiments with relatively good classification error rates.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116643166","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
C. Eades, K. Reilly, J. H. Barrett, Charles Minderhout
We describe a variation in theme on abstract machine implementation through general purpose macro processing. Using data flow diagrams we show how the central focus of concern can be shifted from the output focus of conventional macro processing to an user-oriented focus, on a system developed upon an optimized and extended version of the Stage2 processor of W. Waite and co-workers.The approach has potential theoretical interest in its: being a modern expression of widely accepted older ideas and implementations, applications which incorporate synergisms in language concepts (string and list processing, tables), possible opening to logic programming.Data flow descriptions are used to illustrate top-level and selected lower level computation activities, e.g., combination evaluation. Usage of the array of capabilities presented by Barrel are outlined: portability, prototyping in a multiple-machine context, "permanent" (compiled) codes for network operations.
{"title":"The barrel concept: a study in language system development","authors":"C. Eades, K. Reilly, J. H. Barrett, Charles Minderhout","doi":"10.1145/503896.503926","DOIUrl":"https://doi.org/10.1145/503896.503926","url":null,"abstract":"We describe a variation in theme on abstract machine implementation through general purpose macro processing. Using data flow diagrams we show how the central focus of concern can be shifted from the output focus of conventional macro processing to an user-oriented focus, on a system developed upon an optimized and extended version of the Stage2 processor of W. Waite and co-workers.The approach has potential theoretical interest in its: being a modern expression of widely accepted older ideas and implementations, applications which incorporate synergisms in language concepts (string and list processing, tables), possible opening to logic programming.Data flow descriptions are used to illustrate top-level and selected lower level computation activities, e.g., combination evaluation. Usage of the array of capabilities presented by Barrel are outlined: portability, prototyping in a multiple-machine context, \"permanent\" (compiled) codes for network operations.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121698234","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In the more user-oriented interactive operating systems such as UNIX, a considerable amount of processing power is devoted to the handling of character-oriented devices such as terminals. It is desirable, therefore, to reduce this overhead as much as possible; yet, if this manipulation of characters were not done, the real virtues of this type of system would be lost. By distributing some of this processing to an intelligent terminal controller and to intelligent terminals, the main processor can be freed from much of this burden without changing the character of the operating system.This paper discusses an implementation of such a distribution of processing overhead in the hardware and software of a 16 bit UNIX based micro-computer system developed by the Paradyne Corporation. The system uses the Multibus (IEEE 796 bus) design, a Z8000 based main processor, a Z80 based terminal controller, and Z80 based terminals. The main processor remains responsible for moving data between the user process and system memory, but now the terminal controller is responsible for moving data between system memory and the terminal, and the terminal is responsible for formatting the output and editing the input.The terminal controller is able to read and write system memory without interfering with the main processor. There are two circular queues: one for communication from the main processor to the terminal controller and the other for communication from the terminal controller to the main processor. Conventional I/O commands are replaced by communication through the queues, and interrupts are eliminated by the ability of the terminal controller to schedule a process to perform queue service.The terminal performs all the character and line erase processing, expanding of tabs, carriage return and line feed processing, and message delineator processing. When the terminal has a complete message, that message is transmitted to the terminal controller. Depending upon the mode in which the terminal is operating, a message may be a single character, a line, or a full screen. Thus when the main processor receives a message from the terminal controller, all the processing associated with the proper formatting and editing of that message has already been performed by terminal.
{"title":"A scheme for terminal I/O not requiring interrupts","authors":"Bruce Chittenden, J. Hyde, Jeffrey P. Radick","doi":"10.1145/503896.503909","DOIUrl":"https://doi.org/10.1145/503896.503909","url":null,"abstract":"In the more user-oriented interactive operating systems such as UNIX, a considerable amount of processing power is devoted to the handling of character-oriented devices such as terminals. It is desirable, therefore, to reduce this overhead as much as possible; yet, if this manipulation of characters were not done, the real virtues of this type of system would be lost. By distributing some of this processing to an intelligent terminal controller and to intelligent terminals, the main processor can be freed from much of this burden without changing the character of the operating system.This paper discusses an implementation of such a distribution of processing overhead in the hardware and software of a 16 bit UNIX based micro-computer system developed by the Paradyne Corporation. The system uses the Multibus (IEEE 796 bus) design, a Z8000 based main processor, a Z80 based terminal controller, and Z80 based terminals. The main processor remains responsible for moving data between the user process and system memory, but now the terminal controller is responsible for moving data between system memory and the terminal, and the terminal is responsible for formatting the output and editing the input.The terminal controller is able to read and write system memory without interfering with the main processor. There are two circular queues: one for communication from the main processor to the terminal controller and the other for communication from the terminal controller to the main processor. Conventional I/O commands are replaced by communication through the queues, and interrupts are eliminated by the ability of the terminal controller to schedule a process to perform queue service.The terminal performs all the character and line erase processing, expanding of tabs, carriage return and line feed processing, and message delineator processing. When the terminal has a complete message, that message is transmitted to the terminal controller. Depending upon the mode in which the terminal is operating, a message may be a single character, a line, or a full screen. Thus when the main processor receives a message from the terminal controller, all the processing associated with the proper formatting and editing of that message has already been performed by terminal.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125617659","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Programming can be done using procedural definitions or functional definitions. Procedures involve variables and dynamic concepts and are not the natural tools for defining computations. This dynamism of procedural programs is a hindrance to program productivity and program reliability. Functions are natural means of defining computations and do not involve variables, though their recursive formulations may be as bad as dynamic procedural iterations. An alternative style of programming is proposed here for defining functions without using recursion. This style uses abstract sequences defined using recurrence relations. It is shown that the abstract sequences aid reasoning about programs as their properties can be shown using elementary induction principles. They correspond to the trajectories of procedural programs in their state spaces and so can also be used to semantically characterize procedural loops.
{"title":"Programming with sequences","authors":"U. Reddy","doi":"10.1145/503896.503930","DOIUrl":"https://doi.org/10.1145/503896.503930","url":null,"abstract":"Programming can be done using procedural definitions or functional definitions. Procedures involve variables and dynamic concepts and are not the natural tools for defining computations. This dynamism of procedural programs is a hindrance to program productivity and program reliability. Functions are natural means of defining computations and do not involve variables, though their recursive formulations may be as bad as dynamic procedural iterations. An alternative style of programming is proposed here for defining functions without using recursion. This style uses abstract sequences defined using recurrence relations. It is shown that the abstract sequences aid reasoning about programs as their properties can be shown using elementary induction principles. They correspond to the trajectories of procedural programs in their state spaces and so can also be used to semantically characterize procedural loops.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131926586","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Residential air-conditioning contributes heavily to the electrical utilities' summer peak demand. Cycling programs in which utilities turn off air-conditioning compressors a certain percentage of each hour through remotely-controlled switches can help reduce this high electrical demand. The normal duty cycle, or run-time of a compressor must be greater than the controlled run-time otherwise there would be no effective reduction in the average hourly compressor demand.The Tennessee Valley Authority conducted a field test in which continuous electrical demand of air-conditioning compressors was recorded on magnetic tape. Duty cycles were computed from one-minute readings provided by some specialized magnetic tape translation equipment and software and then correlated with hourly electrical demand, area temperatures and cycling schedules.Statistical Analysis System (SAS) computer procedures were then used to perform the analysis of the data and to prepare tables of compressor operating statistics by hour-of-day and temperature.Results of the analysis indicated that the majority of air-conditioning compressors were running enough at peak demand times to be effective in significantly reducing the average hourly compressor demand if cycling had been implemented. The conclusions of this evaluation were used to develop operating strategies in TVA's air-conditioner and water heater load management program, Cycle & Save.
{"title":"Evaluation of air-conditioning compressor performance for assessment of load management potential","authors":"Jerry R. Harber, A. Henson","doi":"10.1145/503896.503920","DOIUrl":"https://doi.org/10.1145/503896.503920","url":null,"abstract":"Residential air-conditioning contributes heavily to the electrical utilities' summer peak demand. Cycling programs in which utilities turn off air-conditioning compressors a certain percentage of each hour through remotely-controlled switches can help reduce this high electrical demand. The normal duty cycle, or run-time of a compressor must be greater than the controlled run-time otherwise there would be no effective reduction in the average hourly compressor demand.The Tennessee Valley Authority conducted a field test in which continuous electrical demand of air-conditioning compressors was recorded on magnetic tape. Duty cycles were computed from one-minute readings provided by some specialized magnetic tape translation equipment and software and then correlated with hourly electrical demand, area temperatures and cycling schedules.Statistical Analysis System (SAS) computer procedures were then used to perform the analysis of the data and to prepare tables of compressor operating statistics by hour-of-day and temperature.Results of the analysis indicated that the majority of air-conditioning compressors were running enough at peak demand times to be effective in significantly reducing the average hourly compressor demand if cycling had been implemented. The conclusions of this evaluation were used to develop operating strategies in TVA's air-conditioner and water heater load management program, Cycle & Save.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134205621","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This project involved the development of an interactive storage and retrieval system for School of Education graduate student records.The School of Education wanted to convert from a paper system involving notebooks of graduate student information to an online system allowing for adding, deleting, updating, and displaying of the student records, and also for the generation of reports. Initially, the School of Education wanted the system to include personal data, summary academic data, and academic program data such as courses completed and additional courses required. Due to the complexity of the academic programs, however, the system was designed to maintain only the personal and summary academic data.All programs were written to run on a Data General minicomputer using Data General's FORTRAN 5. Menu selection followed by specific prompts allow for the operation of the system after minimal instruction.The data is stored in a random access file with individual records being identified by social security numbers. A "dictionary" file contains social security numbers along with relative record numbers. The report generation routine uses prompts to construct a SAS program, copies the data into a card-image file which is sent with the SAS program to a state university system for batch processing.
{"title":"An interactive graduate student records system","authors":"Coleman Poag, K. E. Foster","doi":"10.1145/503896.503945","DOIUrl":"https://doi.org/10.1145/503896.503945","url":null,"abstract":"This project involved the development of an interactive storage and retrieval system for School of Education graduate student records.The School of Education wanted to convert from a paper system involving notebooks of graduate student information to an online system allowing for adding, deleting, updating, and displaying of the student records, and also for the generation of reports. Initially, the School of Education wanted the system to include personal data, summary academic data, and academic program data such as courses completed and additional courses required. Due to the complexity of the academic programs, however, the system was designed to maintain only the personal and summary academic data.All programs were written to run on a Data General minicomputer using Data General's FORTRAN 5. Menu selection followed by specific prompts allow for the operation of the system after minimal instruction.The data is stored in a random access file with individual records being identified by social security numbers. A \"dictionary\" file contains social security numbers along with relative record numbers. The report generation routine uses prompts to construct a SAS program, copies the data into a card-image file which is sent with the SAS program to a state university system for batch processing.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130315220","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The CASE statement evaluates an expression, selects an action according to the value of the expression and then executes the action. The most efficient runtime behavior is exhibited when the action can be selected via a jump table, which provides an entry for every possible value in the range of the expression but has execution time that is constant as the number of cases increases. If the range of the expression is too large then the jump table becomes impractical because of excessive space requirements. Implementations of the CASE statement that limit table size to increase linearly with the number of cases either require linear execution time or capitalize on the subrange structure of the expression to reduce the time requirement. Hash methods also limit space requirements, and in the case of hashing with chaining to resolve collisions can provide log n time performance. Open addressing methods provide constant time performance as the number of cases increases and, since the hash table is static and can be closely packed in an optimal fashion, the execution time can be limited to an average of less than two probes per selection even for closely packed tables. Open addressing in optimally packed tables leads to selection of the default case in fewer than eight probes. One can choose a hash function that facilitates extension of allowed data types from the usual byte and integer types to strings and double precision integers with minimal penalty in execution time.
{"title":"Hash table methods for case statements","authors":"J. Gait","doi":"10.1145/503896.503932","DOIUrl":"https://doi.org/10.1145/503896.503932","url":null,"abstract":"The CASE statement evaluates an expression, selects an action according to the value of the expression and then executes the action. The most efficient runtime behavior is exhibited when the action can be selected via a jump table, which provides an entry for every possible value in the range of the expression but has execution time that is constant as the number of cases increases. If the range of the expression is too large then the jump table becomes impractical because of excessive space requirements. Implementations of the CASE statement that limit table size to increase linearly with the number of cases either require linear execution time or capitalize on the subrange structure of the expression to reduce the time requirement. Hash methods also limit space requirements, and in the case of hashing with chaining to resolve collisions can provide log n time performance. Open addressing methods provide constant time performance as the number of cases increases and, since the hash table is static and can be closely packed in an optimal fashion, the execution time can be limited to an average of less than two probes per selection even for closely packed tables. Open addressing in optimally packed tables leads to selection of the default case in fewer than eight probes. One can choose a hash function that facilitates extension of allowed data types from the usual byte and integer types to strings and double precision integers with minimal penalty in execution time.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"775 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116669738","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Section 1: Introduction Application software for use in the low-cost microcomputer environment generally needs to require minimal training to use and a maximal degree of user-friendliness. Reasons for this vary, but generally revolve around: a) low budget for computing needs; b) single operator with high turnover rate, entailing frequent need for training. In this environment, the user's view of the system is largely confined to keyboard and video display screen, the keyboard providing the physical means of interacting with the system and the screen the visual. For off-the-shelf hardware, an application program can do very l i t t l e to make the keyboard more user-friendly, but can do a great deal with the screen. In this case, the hardware is general ly equipped with a screen for which the display is refreshed from a user-accessible memory area. This kind of hardware arrangement is called a memory mapped screen display. I fhen the screen memory is changed, the display changes. Since the screen memory is user-accessible, an application program can determine what is on the screen by examining the screen memory. Consequently, attractive and user-friendly screen interaction can be conducted via an application program working directly against the screen memory. The screen memory organization and programmer tools for
{"title":"A generalized screen management utility: automatic programming approach","authors":"Y. S. Chua, C. Clinton","doi":"10.1145/503896.503931","DOIUrl":"https://doi.org/10.1145/503896.503931","url":null,"abstract":"Section 1: Introduction Application software for use in the low-cost microcomputer environment generally needs to require minimal training to use and a maximal degree of user-friendliness. Reasons for this vary, but generally revolve around: a) low budget for computing needs; b) single operator with high turnover rate, entailing frequent need for training. In this environment, the user's view of the system is largely confined to keyboard and video display screen, the keyboard providing the physical means of interacting with the system and the screen the visual. For off-the-shelf hardware, an application program can do very l i t t l e to make the keyboard more user-friendly, but can do a great deal with the screen. In this case, the hardware is general ly equipped with a screen for which the display is refreshed from a user-accessible memory area. This kind of hardware arrangement is called a memory mapped screen display. I fhen the screen memory is changed, the display changes. Since the screen memory is user-accessible, an application program can determine what is on the screen by examining the screen memory. Consequently, attractive and user-friendly screen interaction can be conducted via an application program working directly against the screen memory. The screen memory organization and programmer tools for","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123529148","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}