scispace - formally typeset
Search or ask a question

Showing papers on "Software portability published in 1984"


Proceedings ArticleDOI
15 Jan 1984
TL;DR: The most significant optimization techniques developed over the course of the Smalltalk-80 programming system are discussed, many of which are applicable to other languages.
Abstract: The Smalltalk-80* programming language includes dynamic storage allocation, full upward funargs, and universally polymorphic procedures; the Smalltalk-80 programming system features interactive execution with incremental compilation, and implementation portability. These features of modern programming systems are among the most difficult to implement efficiently, even individually. A new implementation of the Smalltalk-80 system, hosted on a small microprocessor-based computer, achieves high performance while retaining complete (object code) compatibility with existing implementations. This paper discusses the most significant optimization techniques developed over the course of the project, many of which are applicable to other languages. The key idea is to represent certain runtime state (both code and data) in more than one form, and to convert between forms when needed.

636 citations


Book
01 Jan 1984
TL;DR: The Third Edition of C: A Reference Manual provides a complete discussion of the language, the run-time libraries, and a style of C programming that emphasizes correctness, portability, and maintainability.
Abstract: From the Book: This text is a reference manual for the C programming language. Our aim is to provide a complete discussion of the language, the run-time libraries, and a style of C programming that emphasizes correctness, portability, and maintainability. We expect our readers to already understand basic programming concepts, and many will have previous experience with C. In keeping with a reference format, we have presented the language in a "bottom-up" order: the lexical structure, the preprocessor, declarations, types, expressions, statements, functions, and the run0time libraries. We have included many cross-references in the text so that readers can begin at any point. With the Third Edition of C: A Reference Manual we have fully integrated the descriptions of "traditional C" and the American National Standard X3.159-1989--"ANSI C." Many popular C compilers--including, for example, Microsoft C for the IBM PC--have been moving toward the ANSI C language for some time. Even if these compilers are not fully ANSI conforming as we write this, programmers using them are better served by books that fully cover ANSI C. For the majority of programmers still using non-ANSI conforming implementations, we have not short-changed traditional C. We have retained the descriptions of various shortcommings and variations in pre-ANSI compilers so that programmers may avoid the less portable language areas if desired. We have been careful to note where ANSI C and traditional C differ and have given suggestions for writting programs that are portable between the two languages. We have also taken the opportunity afforded by this edition to make more extensive changes in the text. We added studyproblems to most chapters in Part 1 so that readers may test their understanding of the language. We added various tables to highlight language features and make the text more readable. Finally, we added many examples that illustrate the use of the library facilities in Part 2. To keep the book to a reasonable length, we shortened some tedious discussions of minor technical points, and we eliminated two chapters at the end of Part 1 that contained a separate discussion of ANSI C and a large C example program. The ANSI C description is now integrated into the main text, and there are many software engineering textbooks that treat the problems of buuilding large software systems in more depth. This book grew out of our work at Tartan Laboratories developing a family of C compilers for a wide range of computers, from micros to supermainframes. We wanted the compilers to be well documented, to provide precise and helpful error diagnostics, and to generate exceptionally efficient object code. A C program that compiles correctly with one compiler must compile correctly under al others, insofar as the hardware differences allow. In spite of C's popularity, and the increasing number of primers and introductory texts on C, we found that there was no description of C precise enough to guide us in designing the new compilers. Similarly, no existinf description was precise enough for our programmer/customers, who would be using compilers that analized C programs more thoroughly than was the custom. In this text we have been especially sensitive to language features the affect program clarity, object code efficiency, and the portability of programs among different environments, both UNIX and non-UNIX.

79 citations


Journal ArticleDOI
TL;DR: Parallel Pascal is an extended version of the conventional serial Pascal programming language which includes a convenient syntax for specifying array operations which is upward compatible with standard Pascal and involves only a small number of carefully chosen new features.

51 citations


Book
25 May 1984
TL;DR: The writer really shows how the simple words can maximize how the impression of this book is uttered directly for the readers.
Abstract: Every word to utter from the writer involves the element of this life. The writer really shows how the simple words can maximize how the impression of this book is uttered directly for the readers. Even you have known about the content of portability and style in ada so much, you can easily do it for your better connection. In delivering the presence of the book concept, you can find out the boo site here.

34 citations


Journal ArticleDOI
01 Dec 1984
TL;DR: This paper describes the implementation and performance results for a few standard linear algebra routines on the Denelcor HEP computer, based on high-level modules that facilitate portability and perform efficiently in a wide range of environments.
Abstract: This paper describes the implementation and performance results for a few standard linear algebra routines on the Denelcor HEP computer. The algorithms used here are based on high-level modules that facilitate portability and perform efficiently in a wide range of environments. The modules are chosen to be of a large enough computational granularity so that reasonably optimum performance may be insured. The design of algorithms with such fundamental modules in mind will also facilitate their replacement by others more suited to gain the desired performance on a particular computer architecture.

32 citations


Proceedings ArticleDOI
13 Mar 1984
TL;DR: RCCL is a robot programming system that enables a user to specify robot manipulator tasks employing a set of primitive system calls similar in spirit to those of the UNIX input-output system.
Abstract: RCCL is a robot programming system that enables a user to specify robot manipulator tasks employing a set of primitive system calls similar in spirit to those of the UNIX input-output system. The goals addressed in the RCCL system are: manipulator task description; sensor integration; updatable world representation; flexibility; wide range of applications; medium level robot programming; off-line programming; efficiency; manipulator independence; portability; foreground-background programming; Cartesian path programming; arbitrary path specification; tracking; force control.

30 citations


Proceedings ArticleDOI
Carole D. Hafner1
02 Jul 1984
TL;DR: A general approach to the design of natural language interfaces that has evolved during the development of DATALOG, an English database query system based on Cascaded ATN grammar achieves a high degree of portability and extendability.
Abstract: This paper describes a general approach to the design of natural language interfaces that has evolved during the development of DATALOG, an English database query system based on Cascaded ATN grammar. By providing separate representation schemes for linguistic knowledge, general world knowledge, and application domain knowledge, DATALOG achieves a high degree of portability and extendability.

19 citations


Proceedings ArticleDOI
01 Apr 1984
TL;DR: UNIX, security issues in computing, and how LINUS IV could enhance security in an easy-to-use system are described.
Abstract: In the past few years, there has been considerableeffort by industryand governmentto develop secure operating systems. In recent months, the movie War Games and the Milwaukee 414 club have brought attention to the computer security problem long suppressed by embarrassed system administrators. One likely candidate for security enhancements is the UNIX operating system. The portability and sharing capabilities of UNIX have made it ideal for large-scale development projects as well as for the small workstation. LINUS IV is a UNIX-like system that preserves the UNIX environment while greatly increasing the protection within the system. This paper describes UNIX, security issues in computing, and how LINUS IV could enhance security in an easy-to-use system.

19 citations


Proceedings ArticleDOI
26 Mar 1984
TL;DR: The applications presented belong to the area of program editing and manipulation, extensions of programming languages through the development of preprocessors, processing of multi-formalism documents and program portability.
Abstract: We present applications in various domains of a system built around a syntax directed editor: the Mentor systemThe main characteristics of the system are the abstract representation of data, programmability of the command language, and language independanceThe applications presented belong to the area of program editing and manipulation, extensions of programming languages through the development of preprocessors, processing of multi-formalism documents and program portability

13 citations


Book
01 Jan 1984

11 citations


Proceedings ArticleDOI
01 Jan 1984
TL;DR: The Computer Science Scholar's Workbench is presented, a tool kit written in Pascal suitable for research and teaching and evaluated in terms of cost, performance, portability, extensibility, and effectiveness.
Abstract: We present the Computer Science Scholar's Workbench, a tool kit written in Pascal suitable for research and teaching. It has advantages over contemporary workbenches, UNIX and INTERLISP: a host to support the tool kit costs less than d3,000, the tools are free-available in source from publications, and the tools are written in Pascal which is widely used in academic environments. We discuss a) course requirements and problems unique to project oriented software engineering classes, b) the tools we've chosen for the workbench, and c) how they may be used to ameliorate or solve many of the problems. We report our experience using the workbench and evaluate it in terms of cost, performance, portability, extensibility, and effectiveness.

Book ChapterDOI
01 Jan 1984
TL;DR: The program will give access to algorithms useful in control systems theory in an interactive manner and is aimed at inexperienced students as well as skilled control scientists for the analysis, synthesis and simulation of control systems.
Abstract: IMPACT, a new CAD-program for Control Systems which is presently under development at our institute, is presented. The program will give access to algorithms useful in control systems theory in an interactive manner. It is aimed at inexperienced students as well as skilled control scientists for the analysis, synthesis and simulation of control systems. IMPACT is coded in ADA, portability is one of the main design goals.

Journal ArticleDOI
TL;DR: The portability of the UNix operating system is highlighted, some general porting considerations are presented, and how some of the ideas were used in actual UNIX operating system porting efforts are shown.
Abstract: One of the reasons for the dramatic growth in popularity of the UNIX™ operating system is the portability of both the operating system and its associated user-level programs. This paper highlights the portability of the UNIX operating system, presents some general porting considerations, and shows how some of the ideas were used in actual UNIX operating system porting efforts. Discussions of the efforts associated with porting the UNIX operating system to an Intel™ 8086-based system, two UNI VAC™ 1100 Series processors, and the AT&T 3B20S and 3B5 minicomputers are presented.

Journal ArticleDOI
TL;DR: The paper discusses portability of the implementation between different processors and operating systems based on the UNIX system, the influence of different schedulers, input/output subsystems, and different speed processors on the implementation and performance of the network.
Abstract: This paper discusses experience in designing software to interconnect large numbers of processors that are based on the UNIX™ operating system over a high-speed local area network The paper discusses portability of the implementation between different processors and operating systems based on the UNIX system, the influence of different schedulers, input/output subsystems, and different speed processors on the implementation and performance of the network Also discussed are characteristics of network usage, such as traffic patterns, throughput, and response

Journal ArticleDOI
Joseph L. Steffen1
TL;DR: Ctrace is a preprocessor that inserts source language debugging code into the program before compilation that prints the text of each source language statement along with the values of variables it uses and modifies at execution time.
Abstract: Debugging tools are usually highly machine and compiler dependent programs that are either impossible to move or require a tremendous effort to move to another machine. This paper describes Ctrace, a portable debugging tool for the C language that provides the same, easy-to-use debugging environment on all machines. A similar debugger can be written for any language. Ctrace is a preprocessor that inserts source language debugging code into the program before compilation that, at execution time, prints the text of each source language statement along with the values of variables it uses and modifies. Redundant trace output from program loops is detected and eliminated. Tracing can be limited to selected statements or functions. Ctrace has shown its usefulness and popularity by its installation on over 200, computers at Bell Laboratories. It has proven its portability by being used to test software on four different operating systems and nine different processors.

Proceedings ArticleDOI
01 Jan 1984
TL;DR: This paper explores the use of C as the host language for discrete event simulation in UNIX, which requires only a C compiler and the rewriting of some low level routines in machine language for implementation on virtually any computer.
Abstract: The C Programming Language was developed at Bell Laboratories in 1972 by Dennis Ritchie. Since that time, C has had major acceptance as a modern programming language suitable for a large variety of applications. Those applications include the operating system UNIX, which was written in C for portability. It requires only a C compiler and the rewriting of some low level routines in machine language for implementation on virtually any computer. The best documentation of C is provided in a book entitled The C Programming Language by Kerninghan and Ritchie.[1]This paper explores the use of C as the host language for discrete event simulation. One of the primary motivators is the portability of C code. C compilers are now available for a variety of computers from microcomputers to mainframes. Hence, a simulation model developed in C could execute on a microcomputer or a mainframe, given a standard C compiler. The standard for C is well defined via compilers which have a full implementation of C. Kerningham and Ritchie's text provides the documentation for that standard.

Journal ArticleDOI
TL;DR: A standard basic mathematica l functions package for scientific computation in Ada that is transportable to machines with different floating-point types and its availability will enhance the portability of numerical software.
Abstract: This paper contains a proposal for a standard basic mathematica l functions package for scientific computation in Ada. The package is transportable to machines with different floating-point types and its availability will enhance the portability of numerical software.

01 Jun 1984
TL;DR: This thesis outlines an entirely new approach to specifying and generating LP's which departs fundamentally from classical methods in an ambitious attempt to mitigate their most onerous disadvantages.
Abstract: : Linear Programming (LP) is used infrequently for routine decision-making Even in situations where LP is an extremely attractive tool, there is too much cost, frustration, delay and risk incurred in conversion of a mathematical hypothesis into a valid LP solution This thesis outlines an entirely new approach to specifying and generating LP's which departs fundamentally from classical methods in an ambitious attempt to mitigate their most onerous disadvantages These ideas are implemented and tested in a new modeling language and software system called LEXICON Using LEXICON, a model is conceived, formulated, specified, expressed, internally documented, verified and directly executed in a single form The LEXICON language is derived from a modeling form proposed by Geoffrion The software engineering of the LEXICON system admits expansion of the language, portability, and linkage with contemporary real-time LP solvers Keywords include: Problem generators; Structured modeling; and Matrix generators

Journal ArticleDOI
TL;DR: Between 1976 and 1980 the Pascal Project at UCSD produced a ‘nearly portable’ operating system based on Pascal that was ported to run in the 32‐bit address environment of the VAX 11/780 under UNIX UNIX is a trademark of Bell Laboratories.
Abstract: Between 1976 and 1980 the Pascal Project at UCSD produced a ‘nearly portable’ operating system based on Pascal. Under the auspices of a graduate student project at UCSD, the UCSD Pascal system was ported to run in the 32-bit address environment of the VAX 11/780 under VMS and UNIX1 . This paper describes the implementation decisions and the portability and efficiency considerations that motivated the decisions. Improvements to portability and efficiency are discussed.

Journal ArticleDOI
TL;DR: Five types of software packages and an economical hardware system are described that can facilitate cataloging and sorting data, create two-dimensional tables and graphs, carry out statistical tests, and do word processing in microcomputers.
Abstract: The availability of relatively inexpensive microcomputers such as the Apple IIe, the IBM PC, and their imitators has at last provided a means for archaeologists, who do not have easy access to a mainframe system, to process data rapidly. Microcomputers also have the important advantage of portability. The perceived stumbling block until now has been the lack of appropropriate programs for archaeological applications. Useful mainframe software such as the S.P.S.S. statistical package (S.P.S.S., Inc. 1965) and the Symap mapping program (Fisher 1963) evidently have not yet been modified for microcomputers except in limited ways. None of the existing commercial software for microcomputers was specifically written for archaeologists, either. There has been some simple, non-commercial program design for very specific archaeological tasks such as calculating mean occupation dates based on clay smoking pipe bore diameters (Heite and Heite 1982). However, having to write one's own software has obviously been intimidating enough to prevent most American archaeologists from switching their data processing over to computers. Fortunately, there are many readily available "off the rack" business oriented packages that can be used to catalog, sort, and simplify the analysis of archaeological data both quickly and easily. The problem facing archaeologists who are computer novices is primarily one of too many choices.

Journal ArticleDOI
TL;DR: The design of a virtual machine which is especially suitable as a target machine for compiled Ada programs is described and the main design goals, implementability on mini‐computers and portability, are discussed and the resulting design is described in some detail.
Abstract: A portable compiler can be constructed by letting it generate code for a virtual machine, which is then implemented on the real target machines. The design of a virtual machine which is especially suitable as a target machine for compiled Ada programs is described. The main design goals, implementability on mini-computers and portability, are discussed and the resulting design is described in some detail. Some implementation strategies for the machine are proposed and the feasibility of the virtual machine approach is discussed.

Journal ArticleDOI
TL;DR: In this paper, the authors discuss the reasons for the adaptation of a microcomputer for field and post-excavation data storage and manipulation on a rescue site at Maxey, Cambridgeshire.

Journal ArticleDOI
TL;DR: A FORTRAN program for the evaluation of the Bessel function J p ( x ) is presented, based on a new series expansion that is suitable for a small computer.
Abstract: A FORTRAN program for the evaluation of the Bessel function J p ( x ) is presented. The method of computation is based on a new series expansion. The features of the computer program are portability and low storage requirement, so that it is suitable for a small computer.

01 Apr 1984
TL;DR: This paper discusses the theory and application of pulse interpolation to prover systems, and shows that repeatabilities of + or - .02% or better are typically achieved now, both on waterdraw and during dynamic measurement.
Abstract: This paper discusses the theory and application of pulse interpolation to prover systems. Compactness, as required on drilling platforms, portability, rangeability, and easy adaption to extreme high and low temperatures have given the measurement man a more flexible and efficient device. This has been made possible through a pulse interpolation technique of data and acquisition management which is also called double chronometry. In addition to providing portability, there are benefits of economy in operation, including faster proving time, and greatly reduced data reduction time. Tests show that repeatabilities of + or - .02% or better are typically achieved now, both on waterdraw and during dynamic measurement.

Journal ArticleDOI
TL;DR: A Guide to the Selection and Specification of Ada Compilers was recently produced by the Portability Working Group of Ada-Europe, addressing applicable criteria for evaluation of any language compiler.
Abstract: A Guide to the Selection and Specification of Ada Compilers was recently produced by the Portability Working Group of Ada-Europe. Most of the points addressed are applicable criteria for evaluation of any language compiler.

Journal ArticleDOI
TL;DR: This article gives a report on the state of the art with respect to software development for CALI for all languages, but with some emphasis on Russian, and concludes that the best teachers should be given released time to work as members of teams to develop good software.
Abstract: This article gives a report on the state of the art with respect to software development for CALI for all languages, but with some emphasis on Russian. Mr. Baker concludes that much of the software has been developed either by good language teachers who do not know enough about programming, or good programmers who do not know enough about language teaching. He concludes that our best teachers should be given released time to work as members of teams to develop good software. He describes ten areas in which much current software is deficient: 1. There is a general lack of solid instructional design; 2. The techniques of discovery learning are used very little; 3. 95% is trivial; 4. It is fragmented rather than integrated; 5. Lesson content is not accurate for the language taught; 6. The programming is not user friendly due to poor formatting and documentation; 7. There is too much cuteness; 8. There is no standard for the methods of obtaining foreign characters; 9. The software is not ready and tested when advertised; and 10. It is lacking in portability.

01 Dec 1984
TL;DR: Techniques borrowed from contemporary research in abstract data type specification are applied to design, specify and implement the physical resources of an abstract machine called AM to address the high cost of porting software from one machine to another.
Abstract: : The high cost of porting software from one machine to another stems from the ad hoc way in which the programmer's problem solving abstraction interacts with the machine's physical resource abstraction. If this interaction could be formalized, the well known semantic gap would at least be better understood, if not narrowed significantly. This thesis applies techniques borrowed from contemporary research in abstract data type specification to design, specify and implement the physical resources of an abstract machine called AM. Additional keywords: Algebraic semantics; Software portability problem; high level languages. (Author)

01 Mar 1984
TL;DR: The DCP is a portable distributed Ada programming support environment that provides centralized project management and control facilities integrated with an off-the-shelf Ada compiler and associated development tools.
Abstract: : This paper describes our experiences in developing a Distributed Software engineering Control Process (DCP). The DCP is a portable distributed Ada programming support environment that provides centralized project management and control facilities integrated with an off-the-shelf Ada compiler and associated development tools. A goal of the DCP is to support the reuse of Ada programs and packages. This capability is supported in part by the DCP database which maintains descriptions of Ada packages and can be used to locate packages for reuse. An Ada PDL and methodology is being developed to support the development of reusable programs and packages as well as a methodology for building programs from existing packages. The goal of DCP portability is addressed by building virtual interfaces to the user, the database and the host environment. The development methodology supported by the DCP is being used to develop the DCP, thereby bootstrapping itself. The methodology is currently supported by manual controls and procedures, but as the DCP capabilities are realized, they will be replaced by automated controls and procedures. (Author)

Journal ArticleDOI
TL;DR: In a recent issue of Fortec Forum Metcalf proposed a set of conventions which he felt are desirable for writing Fortran programs, the criteria were portability and programming style.
Abstract: In a recent issue of Fortec Forum Metcalf [1] proposed a set of conventions which he felt are desirable for writing Fortran programs. The criteria were portability and programming style. While not objecting to the idea of having guidelines, I can not help raising a number of objections to the article.

Proceedings ArticleDOI
Carole D. Hafner1
01 Jan 1984
TL;DR: The authors describes a general approach to the design of natural language interfaces that has evolved during the development of DATALOG, an English database query system based on Cascaded ATN grammar.
Abstract: This paper describes a general approach to the design of natural language interfaces that has evolved during the development of DATALOG, an English database query system based on Cascaded ATN grammar By providing separate representation schemes for linguistic knowledge, general world knowledge, and application domain knowledge, DATALOG achieves a high degree of portability and extendability