scispace - formally typeset
Search or ask a question

Showing papers on "Software portability published in 1977"


Journal ArticleDOI
TL;DR: A fast and compact compiler/interpreter for SPITBOL (a variant of SNOBOL4) has been written in a machine‐independent macro assembly language and implemented initially on the ICL 1900 range of computers.
Abstract: A fast and compact compiler/interpreter for SPITBOL (a variant of SNOBOL4) has been written in a machine-independent macro assembly language and implemented initially on the ICL 1900 range of computers. The interpreter uses a novel form of indirect polish code which assists portability. Compile-time pre-evaluation of constant expressions has proved to be a worthwhile optimization. A description is given in some detail of the simple but rapid scheme, requiring no marker bits, employed for garbage collection.

41 citations


Book ChapterDOI
W.S. Brown1
01 Jan 1977
TL;DR: A new model of floating-point computation, intended as a basis for efficient portable mathematical software, is presented, which supports conventional error analysis with only minor modifications.
Abstract: This paper presents a new model of floating-point computation, intended as a basis for efficient portable mathematical software. The model involves only simple familiar concepts, expressed in a small set of environment parameters. Using these, both a program and its documentation can tailor themselves to the host computer. Our main focus is on stating and proving machine-independent properties of numerical programs. With this in mind, we present fundamental axioms and a few theorems for arithmetic operations and arithmetic comparisons. Our main conclusion is that the model supports conventional error analysis with only minor modifications. To motivate the formal axioms and theorems, and describe their use, the paper includes numerous examples of bizarre phenomena that are inherent in floating-point computation or arise from the anomalies of real computers. While the use of the model imposes a fairly strict programming discipline for the sake of portability, its rules are easy to remember, and for the most part independently meritorious.

21 citations


Journal ArticleDOI
TL;DR: An approach which allows computer processing of programs and subprograms to obtain their correct form for a specific computer-compiler environment is studied in detail.
Abstract: Problems of portability of Fortran programs and subprograms are considered The main emphasis is on subprograms that are implementations of mathematical and statistical algorithms. Specific portability problems are discussed and solutions proposed. An approach which allows computer processing of programs and subprograms to obtain their correct form for a specific computer-compiler environment is studied in detail.

20 citations


Book
01 Jun 1977

14 citations


Proceedings ArticleDOI
13 Jun 1977
TL;DR: The design of a three-dimensional data acquisition system based on multiple, single-dimensional optical sensors that will digitize the cranio-facial surfaces of candidates for reconstructive surgery and a network of microprocessors is incorporated to minimize processing delays and thus increase data acquisition rates.
Abstract: This paper presents the design of a three-dimensional data acquisition system based on multiple, single-dimensional optical sensors. The system can operate in any of three modes:(1) the tracking of multiple, independent, point light sources(2) the automatic digitization of opaque surfaces(3) the real-time tracking of an unmarked moving object (e.g., tip of user's hand).The design offers such advantages as a lensless sensing system, a minimum reliance on analog measurements, an ease of upgrading to higher precision measurements, an ease of portability, an adjustable field of view, and the ability to operate under normal ambient light conditions. A network of microprocessors is incorporated to minimize processing delays and thus increase data acquisition rates. In its initial application the system will digitize the cranio-facial surfaces of candidates for reconstructive surgery.

13 citations


Book
24 Mar 1977

11 citations


Journal ArticleDOI
TL;DR: The NAG Master Library File System is described in terms of its structure and function, with particular reference to the rationale and design constraints adopted and to the actual functioning of the system within the NAG project.
Abstract: The NAG Master Library File System is described in terms of its structure and function, with particular reference to the rationale and design constraints adopted and to the actual functioning of the system within the NAG project.

8 citations


01 Jan 1977
TL;DR: An operating system compiler written in PASCAL allows the programmer to write operating systems for a very general abstract mini-computer, and produces code for themini-computer of his choice, as well as complete portability.
Abstract: An operating system compiler written in PASCAL allows the programmer to write operating systems for a very general abstract mini-computer, and produces code for the mini-computer of his choice. This approach provides global optimization, good documentation and improved reliability of operating systems, as well as complete portability. One such portable operating system called SOD has been written and runs on Nova and PDP-11 mini-computers

5 citations


Book
01 Nov 1977

5 citations


Journal ArticleDOI
TL;DR: In this paper, the authors examined problems associated with the implementation of the portable pension scheme and proposed an approach to implementing the mandatory portability concept, and used the benefit simulation to determine the effect of portability on the level of benefits available to a mobile employee.
Abstract: Examines problems associated with the implementation of the portable pension scheme. Information on the minimum vesting requirements of private pension plans; Approaches to implementing the mandatory portability concept; Use of the benefit simulation to determine the effect of portability on the level of benefits available to a mobile employee. (Abstract copyright EBSCO.)

4 citations


ReportDOI
01 Jun 1977
TL;DR: Data are tabulated on the toxicity to freshwater biota of 35 trace elements with the potential for release to the environment from coal conversion effluents on a microfiche appended to the document, in the interest of portability and accessibility.
Abstract: Data are tabulated on the toxicity to freshwater biota of 35 trace elements with the potential for release to the environment from coal conversion effluents. The entire data base is presented on a microfiche appended to the document, in the interest of portability and accessibility. The data were gathered from a variety of research papers, compendia, and reviews. Details of water chemistry and test conditions are presented when available from the documents consulted. The data base may be used by referring directly to the tabulated data as they appear on the microfiche, or, with appropriate computer facilities, by manipulation (sorting, subsetting, or merging) of the data to meet the particular needs of the investigator. The data may be used as they appear in the data base, or the data base may be used to index the cited original papers.

Book ChapterDOI
01 Jan 1977
TL;DR: In this paper, the authors discuss portability aspects of statistical software and emphasize the use of standardized interfaces to link the various elements of the structure described and delineate one data interface which is to serve as the link between data handling and statistical algorithms.
Abstract: We discuss portability aspects of statistical software, this topic being the main issue of a project sponsored by the government of the Federal Republic of Germany. From considerations relating mainly to the two most prominent forms of existing software — the subprogram library and the program package or system — we infer the structure of a flexible and more portable software product which incorporates the respective advantages of the two forms. We emphasize the use of standardized interfaces to link the various elements of the structure described and delineate one data interface which is to serve as the link between data handling and statistical algorithms.

Journal ArticleDOI
TL;DR: An interactive computer program for graphical analysis designed to aid the rapid analysis of point-located data, structural mapping, and estimation of area resources.

03 Oct 1977
TL;DR: A prototype of a scientific data base management system was implemented which uses a relational algebraic interactive user language and currently the data base access routines utilize a CODASYL data base system for data storage.
Abstract: Lawrence Livermore Laboratory (LLL), with such diverse data applications as material compatibility, laser fusion, magnetic fusion, test, equation of state, weather, environmental and demographic data, has an acute need for a Scientific Data Base Management System (SDBMS). The large volume of data, the numeric values within an epsilon of accuracy, the unknown data relationships, the changing requirements, coupled with the overall goal of extracting new intelligence from the raw data, dictate a data base system tailored toward scientific applications. Such an SDBMS should support scientific data types, a relational end user view, an interactive user language, interfaces to graphical and statistical packages, a programing language interface, interfaces to existing facilities, extensibility, portability, and use in a distributed environment. Addressing these needs, LLL began a project to develop a scientific data base management system. A prototype was implemented which uses a relational algebraic interactive user language. The software consists of a macro processor, a parser, a parse tree generator, a parse tree interpreter, semantic routines, and data base access routines. Currently, the data base access routines utilize a CODASYL data base system for data storage. 4 figs.

Journal ArticleDOI
TL;DR: The five papers presented in this session covered a very wide range of topics from EMG biofeedback training to the timing of events under the control of multiprogrammed real-time systems.
Abstract: The five papers presented in this session covered a very wide range of topics from EMG biofeedback training to the timing of events under the control of multiprogrammed real-time systems. The first paper by Pope and Gersten describes a computer-based system for response-contingent EMG biofeedback-assisted relaxation training. The paper describes the basic shaping procedure for the relaxation response, the hardware (a 24K Nova 2/10), and the operation of the shaping program. I feel that the primary audience for this paper will be individuals who are working in the field of biofeedback and are interested in developing computer based systems for their own research and clinical work. The next two papers, plus others given at a previous meeting (e.g., Cohen & Massaro, 1976; Poltrock & Mathews, 1976), should provide the reader with a reasonably complete introduction to computer-based systems for the generation and presentation of auditory stimuli. The paper by Knight is a very nice tutorial presentation of the logic and basic hardware and software requirements for the manipulation of digitized speech. Knight focuses on the problems of using a small computer (4K of memory) to perform such experiments, but I feel that his discussion is applicable to any size system. The presentation by Gillman, Wilson, Morse, and Kent! describes a complete system for the synthesis of speech and non speech stimuli, the recording of digitized waveforms, and the preparation of stimulus sequences for experimental use. The system uses Klatt's (1977) digital speech synthesizer for the by-art generation of speech stimuli. The system is written in FORTRAN IV, and its authors claim that it is portable. However, the hardware requirements are nontrivial. The system requires a fast 32K machine with a large amount of disk shortage and analog-to-digital and digital-to-analog converters. I have some reservations about the claim of portability, but this system represents an important contribution even if this claim is not true. Study of the write-ups, user manuals, and code (available from the authors) would

Journal ArticleDOI
01 Nov 1977
TL;DR: This research is motivated by the difficulties encountered when moving application programs from one system to another; these difficulties arise when interfacing with the hardware and support software of the target machine.
Abstract: Thoth is a portable real-time operating system which has been developed at the University of Waterloo. Various configurations of Thoth have been running since May 1976; it is currently running on two minicomputers with quite different architectures (Texas Instruments 990 and Data General NOVA).This research is motivated by the difficulties encountered when moving application programs from one system to another; these difficulties arise when interfacing with the hardware and support software of the target machine. The problems encountered interfacing with the new software support are usually more difficult than those of interfacing with new hardware because of the wide variety of abstract machines presented by the compilers, assemblers, loaders, file systems and operating systems of the various target machines. We have taken the approach of developing portable system software and porting it to “bare” hardware. Because the same system software is used on different hardware, the same abstract machine is available to application programs. Thus most application programs which use Thoth can be portable, if not machine independent.Most previous work on software portability has focused on problems of porting programs over different operating systems as well as hardware. To our knowledge, this is the first time an entire system has been ported. Our experience indicates that this approach is practical both in the cost of porting the system and its time and space performance.The design of Thoth strives for more than portability. A second design goal is to provide a system in which programs can be structured using many small concurrent processes. Thus we have aimed for efficient interprocess communication to make this structuring technique attractive. We have also provided safe dynamic process creation and destruction.A third design goal is that the system meet the demands of real-time applications. To meet this goal, the system guarantees that the worst-case time for response to certain external events (interrupt requests) is bounded by a small constant.A fourth design goal is that the system be adaptable to a wide range of real-time applications. A range of system configurations is possible: A stand-alone application program can use a stripped version of the Thoth kernel which supports dynamic memory allocation and interprocess communication. Such a configuration requires less than 2000 16-bit words of memory. Larger configurations can support process destruction, a device-independent input-output system, a tree-structured file system, and multiple teams of processes. (A team is a set of processes which share the same logical address space and therefore can share data.)Thoth is implemented in a high-level language called Eh (a descendant of BCPL) and a small amount of assembly language. The major job in porting the system seems to be in redesigning the code generation parts of the compiler.Since it appears impractical to design system software to be portable over all computers (even over all existing machines), we have aimed at making Thoth portable over a subset of machines. Machines in the set can be characterized by a set of properties such as: a word must be at least 16 bits in length, a pointer to a word must fit into a word, etc. Roughly, this set of machines includes most modern minicomputers. It is important that many machines which do not yet exist will be included in it.A number of application programs have been written using Thoth. In addition to software development tools, communications and real-time control programs have been written. All of these programs require few if any changes when ported to new hardware. Some of these programs have been developed by inexperienced programmers who were not planning on porting their program. Hence, it seems to take less skill to write portable software in this system than using conventional techniques. However, existing software written for other systems is incompatible with Thoth and usually difficult to port to the Thoth system.Although, at the time of this writing, we have limited experience with porting the system to new hardware, we feel that Thoth has been highly successful in terms of our original objectives. Among other things, it has partially demonstrated the feasibility of building a portable operating system for a specified class of machines.

Proceedings Article
05 Oct 1977
TL;DR: An overview of how portability is achieved, and of several approaches to code generation and execution of MAINSAIL, an ALGOL-like language with dynamic memory support for strings, arrays, records, modules and files is given.
Abstract: The MAINSAIL project is part of the SUMEX Computer Project funded by the Biotechnology Resources Program, National Institutes of Health. Its basic goal is to provide a machine-independent programming system suitable for the development of large, portable programs. MAINSAIL is an ALGOL-like language with dynamic memory support for strings, arrays, records, modules and files. In this paper we give an overview of how portability is achieved, and of several approaches to code generation and execution. MAINSAIL, both a practical language and a research tool, provides a unique opportunity to evaluate alternative approaches to software portability.

Book
01 Jan 1977
TL;DR: The paper discusses the production and testing of special function software in the NAG library, and the importance of standardized interfaces for portable statistical software.
Abstract: What is portability?.- Some side effects of striving for portability.- Machine characteristics and portability.- Machine requirements for reliable, portable software.- Semantics of floating point arithmetic and elementary functions.- Machine parameters for numerical analysis.- Preparing conventions for parameters for transportable numerical software.- Programming languages and portability.- Algol 68 as a language for numerical software.- Writing the elementary function procedures for the ALGOL68C compiler.- Criteria for transportable algol libraries.- Fortran portability via models and tools.- Port - A portable mathematical subroutine library.- Fortran poisoning and antidotes.- Two numerical analysts' views on the draft proposed ans fortran.- Intermediate languages: Current status.- Computer-assisted portability.- Mathematical software transportability systems have the variations a theme?.- Features for fortran portability.- The IMSL fortran converter: An approach to solving portability problems.- Aids to portability within the NAG project.- Multiple program realizations using the tampr system.- Software design to facilitate portability.- The production and testing of special function software in the NAG library.- Portable special function routines.- The importance of standardized interfaces for portable statistical software.- Exploring the impact of portability.- On the enhancement of portability within the NAG project - A statistical survey.- A study of portability in technical and scientific computing.

ReportDOI
01 Nov 1977
TL;DR: The problems of writing large systems in BLISS that can be run in more than one environment are described and a method for attacking these problems is explained, with examples of its use in a particular system (a compiler).
Abstract: : The problems of writing large systems in BLISS that can be run in more than one environment are described. A method (a set of methods) for attacking these problems is explained, with examples of its use in a particular system (a compiler). Aspects of the BLISS language are discussed with regard to their usefulness or uselessness in solving these problems.


Proceedings ArticleDOI
18 Apr 1977
TL;DR: Using the ideas developed in the first part, the topics of software extensibility and software portability are introduced, and some methods of achieving extensible or portable software systems by the use of macros are discussed.
Abstract: The nature and uses of macros are investigated, with emphasis placed on the general concepts involved in the operation and use of macro processors. Using the ideas developed in the first part, the topics of software extensibility and software portability are introduced, and some methods of achieving extensible or portable software systems by the use of macros are discussed.