1966 11_#29 11 #29
1966-11_#29 1966-11_%2329
User Manual: 1966-11_#29
Open the PDF directly: View PDF .
Page Count: 829
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,