1966 11_#29 11 #29

1966-11_#29 1966-11_%2329

User Manual: 1966-11_#29

Open the PDF directly: View PDF PDF.
Page Count: 829

Download1966-11_#29 1966-11 #29
Open PDF In BrowserView PDF
AFIPS
CONFERENCE
PROCEEDINGS
VOLUME 29

1966
FALL JOINT
COMPUTER
CONFERENCE
NOVEMBER 7-10
SAN FRANCISCO, CALIFORNIA

The ideas and opinions expressed herein are solely those of the authors
and are not necessarily representative of or endorsed by the 1966 Fall Joint
Computer Conference Committee or the American Federation of Information
Processing Societies.

Library of Congress Catalog Card Number 55-44701
Spartan Books, Div. of
Books, Inc.
1250 Connecticut Avenue N.W.
Washington, D. C.

© 1966 by the American Federation of Information Processing Societies, 211 E.
43rd St., New York, N. Y. 10017. All rights reserved. This book, or parts thereof,
may not be reproduced in any form without permission of the publishers.

Sole distributors in Great Britain, the British
Commonwealth, and the Continent of Europe:
Macmillan Co., Ltd.
4 Little Essex Street
London W.C. 2

CONTENTS

TIME-SHARING PROCESSORS AND EXECUTIVE SYSTEMS

A Conversational System for Incremental Compilation and
Execution in a Time-Sharing Environment

J.

L. RYAN

1

R.L.CRANDALL
M. MEDWEDEFF

Performance of a Monitor for a Real-Time Control System

E. S. HOOVER

B. J.
On-Line Debugging Techniques: A Survey

23

ECKHART

T. G.

EVANS

37

D. L. DARLEY

The SDS SIGMA 7: A Real-Time, Time-Sharing Computer

J. MENDELSON
A. W. ENGLAND

M.

51

INTEGRATED ELECTRONICS AND THE FUTURE OF COMPUTERS
Technological Foundations and Future Directions of LargeScale Integrated Electronics

R. L.

PE TRITZ

65

Effects of Large Artays on Machine Organization and
Hardware/Software Tradeoffs

L. C.

HOBBS

89

A Prospectus on Integrated Electronics and Computer Architecture

M.

J.

FLYNN

97

SANDER

105

R. NOYCE

111

The System/Semiconductor Interface with Complex Integrated
Circuits
A Look at Future Costs of Large Integrated Arrays
iii

W. B.

iv

CONTENTS
COMPUTERS AND PUBLISHING
B. E. NEBEL

115

J. H. PERRY, JR.

125

C. J. MAKRIS

137

J. H. KUNEY
B. G. LAZORCHAK
S. W. WALCAVICH
D. SHERMAN

149

G. Z. KUNKEL

157

G. MARSAGLIA

169

A Unified Approach to Deterministic and Random Errors in
Hybrid Loops

J. J. VIDAL

175

Hybrid Computer Solutions of Partial Differential Equations
by Monte Carlo Methods

W. D. LITTLE

181

G. A. BEKEY
M.H.CRAN
A. E. SABROFF
A. WONG

191

A Multiprogrammed Teleprocessing System for Computer Typesetting
Integrated Automation in Newspaper and Book Production
A Special Purpose Computer for High-Speed Page Composition
Computerized Typesetting of Complex Scientific Material

A Computer-Assisted Page Composing System

HYBRID COMPUTERS AND RANDOM VARIABLES
A General Method for Producing Random Variables in a
Computer

Parameter Optimization by Random Search Using Hybrid
Computer Techniques

ENGINEERING DESIGN BY MAN/COMPUTER INTERACTION
M. 1. DERTOUZOS
H.L.GRAHAM

201

A System for Time-Sharing Graphic Consoles

J. R. KENNEDY

211

The Lincoln Wand

L. G. ROBERTS

223

Using a Graphic Data-Processing System to Design Artwork
for Manufacturing Hybrid Integrated Circuits

J. S. KOFORD
P. R. STRICKLAND
G. A. SPORZYNSKI
E. H. HUBACHER

229

Automated Logic Design Techniques Applicable to Integrated
Circuit Technology .

R. WAXMAN
M. T. McMAHON
B. J. CRAWFORD
A. B. DEANDRADE

247

A Parametric Graphical Display Technique for On-Line Use

v

CONTENTS

COMPUTER MEMORIES
Cost Performance Analysis of Integrated-Circuit Core Memories
A 200-Nanosecond Thin Film Main Memory System

A Rotationally Switched Rod Memory with a 100-Nanosecond
Cycle Time

A 500-Nanosecond Main Computer Memory Utilizing Plated-Wire
Elements
A High-Speed Integrated Circuit Scratchpad Memory

Sonic Film Memory

D. W.MOORE

267

S. A. MEDDAUGH
K. L. PEARSON

281

B.A.KAUFMAN
P. B. ELLINGER
H. J. KUNO

293

J. P. MCCALLISTER
C.F.CHONG

305

I. CATT
E. C. GARTH
D.E.MuRRAY

315

H. WEINSTEIN
L. ONYSHKEVYCH
K. KARsTAD
R.SHAHBENDER

333

F. B. THOMPSON.

349

R. F. SIMMONS
J. F. BURGER
R.E.LONG

357

J. A. CRAIG
S.C;BEREZNER
H. C. CARNEY
C. R. LONGYEAR

365

C. T.MEADOW
D. W. WAUGH

381

NATURAL LANGUAGE
English for the Computer
An Approach Toward Answering English Questions from Text

DEACON: Direct English Access and CONtrol

Computer Assisted Interrogation

SOME COMMUNICATIONS ASPECTS OF TIME-SHARING SYSTEMS
,

Some Problems in Data Communications Between the User
and the Computer

L. A. HITTEL

395

Communications Needs of the User for Management Information
Systems

D. J. DANTINE

403

CONTENTS

vi

L. STAMBLER

413

T. MARILL
L. G. ROBERTS

425

A. N. STOWE
R. A. WIESEN
D.B. YNTEMA
J. W. FORGIE

433

Telsim, A User-Oriented Language for Simulating Continuous
Systems at a Remote Terminal

K. J. BUSCH

445

Man-Machine Communication in On-Line Mathematical Analysis

R. KAPLOW
J. BRACKETT
S.STRONG

465

Elementary Telephone Switching Theory Applied to the
Design of Message Switching Systems
A Proposed Communications Network to Tie Together Existing
Computers
SCIENTIFIC APPLICATIONS
The Lincoln Reckoner: An Operation-Oriented, On-Line
Facility with Distributed Control

IMPACT OF COMPUTERS ON GOVERNMENT: FEDERAL, STATE, LOCAL
G. F. STICKNEY

479

D. G. PRICE

501

H. H. ISAACS

505

L.B.McCABE
L.FARR

513

R. B. HOFFMAN

523

Recent Progress on a High-Resolution, Meshless, Direct-View
Storage Tube

N. H. LEHRER
R. D. KETCHPEL

531

The Plasma Display Panel-A Digitally Addressable Display
with Inherent Memory

D. L. BITZER
H. G. SLOTTOW

541

The Check Payment and Reconciliation Program of the U. S. Treasury
Problems of Information Systems in State Governments
Impact of Computers on Local and Regional Governnient
An Information System for Law Enforcement

The Transfer of Space and Computer Technology to Urban Security

THE MAN-MACHINE INTERFACE

SELECTED APPLICATIONS USING NUMERICAL ANALYSIS
The Use of Semi-Recursive Polynomials in the Design of Numerical Filters
Fast Fourier Transforms-For Fun and Profit

C. B. STALLINGS

549

W. M. GENTLEMEN

563

G. SANDE

vii

CONTENTS

HIGH QUALITY PAPERS OF GENERAL INTEREST
S. C. BLUMENTHAL
V. F. HAKaLA

579

Real-Time Recognition of Handprinted Text

G.F.GRONER

591

Basic Hytran Simulation Language-BHSL

J. C. STRAUSS

603

T. W. PRATT

613

T. E. CHEATHAM, JR.

623

Foundations of the Case for Natural-Language Programming

M. HALPERN

639

Explicit Parallel Processing Description and Control in
Programs for Multi- and Uni-Processor Computers

J. A. GOSDEN

651

P. W. ABRAHAMS

661

G. G.DODD

677

G. SEBESTYEN

685

J. TUKEY
M. WILK

695

A System for Automatic Value Exchange

ADV ANCES IN PROGRAMMING LANGUAGES
A Processor-Building System for Experimental Programming Language
The Introduction of Definitional Facilities into Higher
Level Programming Languages

The Lisp 2 Programming Language and System
APL-A Language for Associative Data Handling in PL/I

COMPUTER-ORIENTED DATA ANALYSIS
Automatic Off-Line Multivariate Data Analysis
Data Analysis and Statistics: An Expository Overview

TECHNOLOGIES AND SYSTEMS FOR ULTRA-HIGH CAPACITY STORAGE
C. H. BECKER

711

An Electron Optical Technique for Large-Capacity Random-Access
Memories

S. P. NEWBERRY

717

A System of Recording Digital Data on Photographic Film Using
Superimposed Grating Patterns

R. L. LAMBERTS
G. C. HIGGINS

729

J. D. KUEHLER
H. R. KERBY

735

UNICON Computer Mass Memory System

A Photo-Digital Mass Stcrage System

viii

CONTENTS

HYBRID APPLICATIONS AND TECHNIQUES
C. K. SANATHANAN
J. C. CARTER
L.T.BRYANT
L. W.AMIOT

743

L.T.BRYANT
L. W.AMIOT
R. P. STEIN

759

A. I. RUBIN
L. SHEPPS

771

Satellite Lifetime Program

J. L. STRICKER
W. W. MIESSNER

789

Trajectory Optimization Using Fast-Time Repetitive Computation

J. S. RABY
R. C. WINGROVE

799

Hybrid Computers in the Analysis of Feedback Control Systems

A Hybrid Computer Solution of the Co-Current Flow Heat Exchange
Sturm-Liouville Problem

A General-Purpose Analog Translational Trajectory Program
for Orbiting and Reentry Vehicles

COMMITTEE LISTS

809

List of Exhibitors

817

Author Index

819

A CONVERSATIONAL SYSTEM FOR INCREMENTAL
COMPILATION AND EXECUTION IN A
TIME-SHARING ENVIRONMENT
James L. Ryan
Tymshare Incorporated, Los Altos, California

Richard L. Crandall
Com-Share, Incorporated, Ann Arbor, Michigan

and
Marion C. Medwedeff
Scientific Data Systems, Santa Monica, California

SDS-940 by Dr. Wayne Lichtenberger, Butler
Lampson, 4 Peter Deutsch and Larry Barnes, all of
the University of California at Berkeley. CCS itself
is not involved in the basic management of the
system input! output, physical memory allocation or
scheduling of user programs. It does, however, take
into account the physical restrictions of its environment such as page size, read only vs read/write
memory, and so forth.
The Berkeley time-sharing system includes almost
all of the service routines and other functions and
controls that were required by the design of CCS.
It was found that certain convenient hardware features were missing, but none was a serious hindrance
to the design of the system or its compilers.
The design of CCS is not oriented towards any
particular computer system; however, many of its
features would be difficult to implement or would be
totally ineffective without a favorable environment

BACKGROUND
The Conversational Compiler System described
herein is implemented on the Scientific Data Systems
Model 940 Time-Sharing System. The SDS-940 has,
as its Central Processor, a modified SDS-930, the
modifications for which were developed at the University of California at Berkeley by Melvin Pirtle. 1
This hardware includes a paging scheme, a set of
privileged instructions for monitor as opposed to
user mode of operation, and the ability to perform
input/ output operations to secondary memory while
computing.
The internal organization of CCS was motivated
by ideas 'from Dr. Kenneth Lock 2 of the California
Institute of Technology at Pasadena, California, and
by B. Randell and L. J. Russell in their book,
"ALGOL 60 Implementation." 3 CCS operates as a
subsystem of the System Monitor developed for the
1

2

PROCEEDINGS-FALL JOINT COMPUTER CONFERENCE, 1966

such as that provided by the SDS-940 system and the
Berkeley Monitor.
CCS and its compilers were developed at Tymshare, Inc. in Los Altos, California, in cooperation
with Com-Share, Inc. of Ann Arbor, Michigan, and
Scientific Data Systems of Santa Monica, California,
SYSTEM OBJECTIVES
The design of the Conversational Compiler System is predicated upon the attainment of several
objectives; specifically:
Conversational Interface. Since CCS will
be used in an on-line time-sharing environment, a high level of interaction between
the user and the system is imperative for
maintenance of operational efficiency.
Therefore, the primary objective of the
system design becomes that of establishing a practical means for dialogue between
the user and the system.
Multiple Language Capability. It has become an accepted axiom in the computing
field that no single programming language
provides the best path to solution of all
problems. Thus, CCS is designed to, be
multilingual. The initial implementation,
as described in this paper, includes extended versions of full ALGOL 60 and
FORTRAN IV.
Incremental Compilation and Execution.
During the development of a program,
there is likely to be an interleaving of
executions and program modifications. To
cope efficiently with this, compilers should
be incremental and execution should be
controllable. Incremental compilers would
allow for' fast turn-around time and minimal work for the system in keeping up
with programmer modifications. Controlled
'execution would allow the user to specify
ranges of statements to be executed as well
as single statement step execution.
Language Oriented Program Debugging.
Since the programmer should be ignorant
of the idiosyncratic nature of the computer
itself, the debugging techniques available
should be in terms of the conceptual program rather than of the computer upon

which that program is executed. Debugging
information should be provided, therefore,
in a direct relationship to the source language statements in the user's program and
the user should be able to easily obtain
information informing him of the effect of
individual statements. Furthermore, the
programmer should also have explicit control as to the nature of the debugging
information provided.
Multiple "'1ode Execution. Normally, following modification of a program, a trial
execution is undertaken to determine
whether the modification has the desired
effect on the operation of the program.
During this trial execution, a tight watch
should be maintained and the programmer
informed of any questionable condition
that mayarise. It is important to note that
even though a condition may be questionable, the effect of this condition may not
be adverse. Therefore, following this trial
execution, if it has been determined that
the program is in proper operating order,
the programmer should have the capability
of turning off these alarms. This will require a dual mode execution capability,
one executing mode for program checkout
and a second for production use.
Common Internal Format. The output of
each of the language compilers should be
in a compatible form so that programs may
be comprised of segments written in different languages. This capability would
make it possible, for instance, to use subprograms written in ALGOL with a control program written in FORTRAN.
Multiple Mode Program Storage. Theprogrammer should have the capability of
creating Save files of a program in either
symbolic or internal forms, or a combined file that preserves both the symbolic
and internal forms, so that program modifi-:cation may be continued at a later time.
Re-Entrant Characteristics. Given the multiprogramming capability that accompanies
the more advanced time-sharing systems,
heavily used subsystems should be reentrant. Time-sharing also introduces the

INCREMENTAL COMPILATION AND EXECUTION

capability for several people at different
remote terminals to operate simultaneously,
perhaps sharing a user-written program.
This implies that compilers should generate
re-entrant code allowing the user to write
shareable programs which are not a part
of the computer facility library.

User .Aid. A certain degree of self-teaching capability has already been given to
conversational systems via rapid answerback of error diagnostics. This ability
should be extended to allow a more
natural question and answer capability.
The user should be able to ask English
language questions about his problems and
get immediate responses from the computer. This would replace the sometimes
len~thy process of referencing a manual
which never seems to be present when
needed.
SYSTEM OPERATION
The Conversational Compiler System consists of a
language independent supervisory program, service
routines, and associated language compilers. CCS,
itself, operates as a subprogram to a system executive.
Upon receipt of the proper language identification
command, the system executive activates CCS,
which is then controlled through its own system
command set.

CCS System Commands
Command Recognition. All CCS System Commands
are of the form:
< command identifier>
[,  ... ]!
The command identifier may be abbreviated by
including only enough characters to uniquely identify
the desired command from the other commands in
the command set. Also, as will be shown, the
character content of the command identifier may be
redefined by the user.

Statement Numbers. Every statement in a CCS program has a statement number used only for text
manipulation and never for the executing logic of the
program. Statement numbers are assigned either
explicitly by the programmer or implicitly by the

3

system, as will be shown. Statement numbers are
decimal numbers with a maximum of three integer
and three fractional digits. Insignificant zeroes are not
considered as part of the statement number. The
smallest and largest statement numbers are .001 and
999.999, respectively.

Statement Designators. Most of the CCS System
Commands use statement designators to enable the
user to describe the portion of the program to be
affected by the command.
Statement designators may take the form
of:
• A statement number (+ and - may be
used to symbolically represent the highest
and lowest existent statement numbers).
• A statement number with increment
(specifying a statement which precedes
(negative increment) or follows (positive
increment) the numbered statement by the
number of statements indicated.
• An insertion indicator for the COMPILE
command. (A statement number followed
by a + or - sign indicating whether the
insertion precedes or follows the numbered
statement. )
• A statement range indicator (two of the
above separated by a colon.)

Program Text Control.
COMPILE, ,
 !
Enters the in-statement into the program
as directed by the statement designator.
The in-statement may be one or more source
language statements separated by the prop~r source
language delimiters. Statement designators contained
within a parenthetical pair and bounded by the
appropriate statement delimiters may appear in the
in-statement. These statement designators identify
. statements in the program that are to be included in
the text of the in-statement.
A file name, identified by the surrounding quotes,
appearing .in an in-statement causes the symbolic
text from the named CCS program file to be included in the in-statement.
DELETE,  [,  ... ]!

PROCEEDINGS-FALL JOINT COMPUTER CONFERENCE, 1966

4

Removes designated statements from the
program.
RESEQUENCE,
«statement
designator>,
< statement designator» [( < statement designator>,  ... ]!
Assigns new statement numbers to the
statements identified by the first statement
designator in the parenthetical pair as directed by the second statement designator
which may specify an allowable statement
number range, or a base number and an
increment.
LOCK, < statement designator> [, < statement
designator> ... ]!
Declares a protected status for the designated statements. Locked statements cannot be removed from the program, or be
renumbered. Copying does not affect the
lock status.
UNLOCK, < statement designator> [, < statement designator> ... ]!
Removes protected status from designated
statements.
OFF,  [,  ... ]!
Temporarily deactivates designated statements, removing them from the executing logic of the program.
ON,  [,  ... ]!
Reactivates designated statements, restoring them to the· executing logic of the program.
Program Execution.

EXECUTE [, < statement designator> ]
,DIAGNOSTIC J!
,PRODUCTION
[ ,STEP
Executes the designated statements according to the specified mode. (If no mode is
specified, PRODUCTION is assumed.)
DIAGNOSTIC-causes a pause and output of an appropriate message whenever
an error or questionable condition occurs.
PRODUCTION-Aborts program when-

ever an error occurs. Questionable conditions trapped in DIAGNOSTIC mode will
be ignored.
STEP-Same as DIAGNOSTIC except
that a pause occurs after completion of
each statement (and its debugging routine)
allowing another system command to be
entered or execution to be resumed (by
entering an exclamation point) .
CLEAR!
Destroys internal data storage left after a
partial execution.
PERFORM, !
Executes the in-statement, but does not
enter it into the program. The in~statement
may modify, but not declare, data storage.
Program Debugging.

DEBUG, ( , ,  ... ]
[, QUICK]!
[, FORMATTED]
[, LOCK]
[, UNLOCK]
[, OFF]
[,ON]
[, DEBUG]
[, ERROR[S]]
QUICK - Prepares high-speed unformatted listing.
FORMATTED - Prepares formatted listing in which statements are indented according to program structure.
LOCK, UNLOCK, OFF, ON, DEBUG,

5

INCREMENTAL COMPILATION AND EXECUTION

ERROR[S] - List only statements of the
designated type.
The directives may be used in combinations. If no
directives appear QUICK is assumed.
FIND, 

Navigation menu