diff --git a/hawk/Makefile.in b/hawk/Makefile.in index b1719b50..c16c8e71 100644 --- a/hawk/Makefile.in +++ b/hawk/Makefile.in @@ -170,8 +170,8 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/ac/ar-lib \ $(top_srcdir)/ac/config.sub $(top_srcdir)/ac/install-sh \ $(top_srcdir)/ac/ltmain.sh $(top_srcdir)/ac/missing \ $(top_srcdir)/pkgs/hawk.spec.in ac/ar-lib ac/compile \ - ac/config.guess ac/config.sub ac/install-sh ac/ltmain.sh \ - ac/missing + ac/config.guess ac/config.sub ac/depcomp ac/install-sh \ + ac/ltmain.sh ac/missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -354,7 +354,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/hawk/bin/Makefile.in b/hawk/bin/Makefile.in index 1c5b18b2..b496cd1d 100644 --- a/hawk/bin/Makefile.in +++ b/hawk/bin/Makefile.in @@ -323,7 +323,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/hawk/configure b/hawk/configure index 9156c6d7..50007b21 100755 --- a/hawk/configure +++ b/hawk/configure @@ -783,7 +783,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -884,7 +883,6 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1137,15 +1135,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1283,7 +1272,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1436,7 +1425,6 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -18080,7 +18068,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -18126,7 +18114,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -18150,7 +18138,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -18195,7 +18183,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -18219,7 +18207,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; diff --git a/hawk/lib/Makefile.in b/hawk/lib/Makefile.in index 20b42267..c2ff9e39 100644 --- a/hawk/lib/Makefile.in +++ b/hawk/lib/Makefile.in @@ -561,7 +561,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/hawk/lib/hawk-prv.h b/hawk/lib/hawk-prv.h index 2b724e52..5cc202a9 100644 --- a/hawk/lib/hawk-prv.h +++ b/hawk/lib/hawk-prv.h @@ -208,6 +208,7 @@ typedef struct hawk_tok_t hawk_tok_t; struct hawk_tok_t { int type; + int flags; hawk_ooecs_t* name; hawk_loc_t loc; }; diff --git a/hawk/lib/parse.c b/hawk/lib/parse.c index b39f1f1c..a0473864 100644 --- a/hawk/lib/parse.c +++ b/hawk/lib/parse.c @@ -69,6 +69,7 @@ #define FMT_EUNDEF HAWK_T("undefined identifier '%.*js'") #define FMT_EXKWNR HAWK_T("'%.*js' not recognized") +#define TOK_FLAGS_LPAREN_CLOSER (1 << 0) enum tok_t { @@ -3117,7 +3118,7 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) } eloc = hawk->tok.loc; - args = parse_expr_withdc (hawk, &eloc); + args = parse_expr_withdc(hawk, &eloc); if (args == HAWK_NULL) goto oops; args_tail = args; @@ -3150,7 +3151,7 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) } eloc = hawk->tok.loc; - args_tail->next = parse_expr_withdc (hawk, &eloc); + args_tail->next = parse_expr_withdc(hawk, &eloc); if (args_tail->next == HAWK_NULL) goto oops; tail_prev = args_tail; @@ -3184,7 +3185,7 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) * print 1, 2, (3 > 4) > 5; * print 1, 2, (3 > 4) > 5 + 6; */ - if (in_parens == 1 && hawk->ptok.type == TOK_RPAREN && + if (in_parens == 1 && hawk->ptok.type == TOK_RPAREN && (hawk->ptok.flags & TOK_FLAGS_LPAREN_CLOSER) && hawk->parse.lparen_last_closed == opening_lparen_seq) { in_parens = 2; /* confirmed */ @@ -3192,6 +3193,10 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) if (in_parens != 2 && gm_in_parens != 2 && args_tail->type == HAWK_NDE_EXP_BIN) { + /* check if the expression ends with an output redirector + * and take out the part after the redirector and make it + * the output target */ + int i; hawk_nde_exp_t* ep = (hawk_nde_exp_t*)args_tail; static struct @@ -3233,8 +3238,7 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) tmp = args_tail; - if (tail_prev != HAWK_NULL) - tail_prev->next = ep->left; + if (tail_prev) tail_prev->next = ep->left; else args = ep->left; out = ep->right; @@ -3261,7 +3265,7 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) if (get_token(hawk) <= -1) goto oops; eloc = hawk->tok.loc; - out = parse_expr_withdc (hawk, &eloc); + out = parse_expr_withdc(hawk, &eloc); if (out == HAWK_NULL) goto oops; } } @@ -3272,8 +3276,8 @@ static hawk_nde_t* parse_print (hawk_t* hawk, const hawk_loc_t* xloc) goto oops; } - nde = (hawk_nde_print_t*) hawk_callocmem (hawk, HAWK_SIZEOF(*nde)); - if (nde == HAWK_NULL) + nde = (hawk_nde_print_t*)hawk_callocmem(hawk, HAWK_SIZEOF(*nde)); + if (HAWK_UNLIKELY(!nde)) { ADJERR_LOC (hawk, xloc); goto oops; @@ -3621,7 +3625,7 @@ static hawk_nde_t* parse_expr (hawk_t* hawk, const hawk_loc_t* xloc) { hawk_loc_t eloc; eloc = hawk->tok.loc; - y = parse_expr_withdc (hawk, &eloc); + y = parse_expr_withdc(hawk, &eloc); } if (y == HAWK_NULL) { @@ -4944,8 +4948,9 @@ static hawk_nde_t* parse_primary_lparen (hawk_t* hawk, const hawk_loc_t* xloc) } /* remember the sequence number of the left parenthesis - * that' been just closed by the matching right parenthesis */ + * that's been just closed by the matching right parenthesis */ hawk->parse.lparen_last_closed = opening_lparen_seq; + hawk->tok.flags |= TOK_FLAGS_LPAREN_CLOSER; /* indicate that this RPAREN is closing LPAREN */ if (get_token(hawk) <= -1) goto oops; @@ -5151,7 +5156,7 @@ static hawk_nde_t* parse_primary_nopipe (hawk_t* hawk, const hawk_loc_t* xloc) (MATCH(hawk,TOK_PRINT) || MATCH(hawk,TOK_PRINTF))) { if (get_token(hawk) <= -1) return HAWK_NULL; - return parse_print (hawk, xloc); + return parse_print(hawk, xloc); } /* valid expression introducer is expected */ @@ -6635,6 +6640,7 @@ retry: while (n >= 1); hawk_ooecs_clear (tok->name); + tok->flags = 0; tok->loc.file = hawk->sio.last.file; tok->loc.line = hawk->sio.last.line; tok->loc.colm = hawk->sio.last.colm; @@ -6895,6 +6901,7 @@ retry: static int get_token (hawk_t* hawk) { hawk->ptok.type = hawk->tok.type; + hawk->ptok.flags = hawk->tok.flags; hawk->ptok.loc.file = hawk->tok.loc.file; hawk->ptok.loc.line = hawk->tok.loc.line; hawk->ptok.loc.colm = hawk->tok.loc.colm; @@ -6903,6 +6910,7 @@ static int get_token (hawk_t* hawk) if (HAWK_OOECS_LEN(hawk->ntok.name) > 0) { hawk->tok.type = hawk->ntok.type; + hawk->tok.flags = hawk->ntok.flags; hawk->tok.loc.file = hawk->ntok.loc.file; hawk->tok.loc.line = hawk->ntok.loc.line; hawk->tok.loc.colm = hawk->ntok.loc.colm; @@ -6913,7 +6921,7 @@ static int get_token (hawk_t* hawk) return 0; } - return get_token_into (hawk, &hawk->tok); + return get_token_into(hawk, &hawk->tok); } static int preget_token (hawk_t* hawk) @@ -6956,7 +6964,7 @@ static int preget_token (hawk_t* hawk) { /* if there is no token pre-read, we get a new * token and place it to hawk->ntok. */ - return get_token_into (hawk, &hawk->ntok); + return get_token_into(hawk, &hawk->ntok); } } diff --git a/hawk/lib/val.c b/hawk/lib/val.c index 9d0395b2..91c39fd9 100644 --- a/hawk/lib/val.c +++ b/hawk/lib/val.c @@ -724,10 +724,13 @@ hawk_val_t* hawk_rtx_makenumorstrvalwithuchars (hawk_rtx_t* rtx, const hawk_uch_ hawk_int_t l; hawk_flt_t r; + if (ptr[0] == '.' && len == 1) goto make_str; + x = hawk_uchars_to_num(HAWK_OOCHARS_TO_NUM_MAKE_OPTION(1, 1, HAWK_RTX_IS_STRIPSTRSPC_ON(rtx), 0), ptr, len, &l, &r); if (x == 0) return hawk_rtx_makeintval(rtx, l); else if (x >= 1) return hawk_rtx_makefltval(rtx, r); +make_str: return hawk_rtx_makestrvalwithuchars(rtx, ptr, len); } @@ -737,10 +740,13 @@ hawk_val_t* hawk_rtx_makenumorstrvalwithbchars (hawk_rtx_t* rtx, const hawk_bch_ hawk_int_t l; hawk_flt_t r; + if (ptr[0] == '.' && len == 1) goto make_str; + x = hawk_bchars_to_num(HAWK_OOCHARS_TO_NUM_MAKE_OPTION(1, 1, HAWK_RTX_IS_STRIPSTRSPC_ON(rtx), 0), ptr, len, &l, &r); if (x == 0) return hawk_rtx_makeintval(rtx, l); else if (x >= 1) return hawk_rtx_makefltval(rtx, r); +make_str: return hawk_rtx_makestrvalwithbchars(rtx, ptr, len); } diff --git a/hawk/mod/Makefile.in b/hawk/mod/Makefile.in index 319b9c3e..e41ae1bf 100644 --- a/hawk/mod/Makefile.in +++ b/hawk/mod/Makefile.in @@ -379,7 +379,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/hawk/samples/Makefile.in b/hawk/samples/Makefile.in index 211dcb10..16f0ca48 100644 --- a/hawk/samples/Makefile.in +++ b/hawk/samples/Makefile.in @@ -353,7 +353,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/hawk/t/Makefile.am b/hawk/t/Makefile.am index 8768a01f..6fc431bc 100644 --- a/hawk/t/Makefile.am +++ b/hawk/t/Makefile.am @@ -13,9 +13,11 @@ LDFLAGS_COMMON=-L$(abs_builddir)/../lib -L$(libdir) ## for more information. LIBADD_COMMON = ../lib/libhawk.la $(LIBM) -check_SCRIPTS = h-001.hawk h-002.hawk +check_SCRIPTS = h-001.hawk h-002.hawk h-003.hawk ##noinst_SCRIPTS = $(check_SCRIPTS) -EXTRA_DIST = $(check_SCRIPTS) ensure.inc +EXTRA_DIST = $(check_SCRIPTS) ensure.inc \ + journal-toc.hawk journal-toc.in journal-toc.out journal-toc-html.out \ + bibtex-to-html.hawk bibtex-to-html.out check_PROGRAMS = t-001 t-002 t-003 t-004 t-005 t-006 @@ -57,4 +59,4 @@ TESTS = $(check_PROGRAMS) $(check_SCRIPTS) TEST_EXTENSIONS = .hawk HAWK_LOG_COMPILER = ../bin/hawk -AM_HAWK_LOG_FLAGS = --modlibdirs=../lib/.libs:../mod/.libs -f +AM_HAWK_LOG_FLAGS = -vTDIR=${abs_srcdir} --modlibdirs=../lib/.libs:../mod/.libs -f diff --git a/hawk/t/Makefile.in b/hawk/t/Makefile.in index 6674f3a3..256a9651 100644 --- a/hawk/t/Makefile.in +++ b/hawk/t/Makefile.in @@ -558,7 +558,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -578,8 +577,11 @@ CPPFLAGS_COMMON = \ CFLAGS_COMMON = LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir) LIBADD_COMMON = ../lib/libhawk.la $(LIBM) -check_SCRIPTS = h-001.hawk h-002.hawk -EXTRA_DIST = $(check_SCRIPTS) ensure.inc +check_SCRIPTS = h-001.hawk h-002.hawk h-003.hawk +EXTRA_DIST = $(check_SCRIPTS) ensure.inc \ + journal-toc.hawk journal-toc.in journal-toc.out journal-toc-html.out \ + bibtex-to-html.hawk bibtex-to-html.out + t_001_SOURCES = t-001.c t.h t_001_CPPFLAGS = $(CPPFLAGS_COMMON) t_002_SOURCES = t-002.c t.h @@ -610,7 +612,7 @@ t_006_LDADD = $(LIBADD_COMMON) TESTS = $(check_PROGRAMS) $(check_SCRIPTS) TEST_EXTENSIONS = .hawk HAWK_LOG_COMPILER = ../bin/hawk -AM_HAWK_LOG_FLAGS = --modlibdirs=../lib/.libs:../mod/.libs -f +AM_HAWK_LOG_FLAGS = -vTDIR=${abs_srcdir} --modlibdirs=../lib/.libs:../mod/.libs -f all: all-am .SUFFIXES: diff --git a/hawk/t/bibtex-to-html.hawk b/hawk/t/bibtex-to-html.hawk new file mode 100644 index 00000000..267f9f63 --- /dev/null +++ b/hawk/t/bibtex-to-html.hawk @@ -0,0 +1,545 @@ +# http://www.netlib.org/bibnet/tools/software/bibtex-to-html.awk +# +### ==================================================================== +### @Awk-file{ +### author = "Nelson H. F. Beebe", +### version = "1.02", +### date = "05 July 1997", +### time = "12:04:52 MDT", +### filename = "bibtex-to-html.awk", +### address = "Center for Scientific Computing +### Department of Mathematics +### University of Utah +### Salt Lake City, UT 84112 +### USA", +### telephone = "+1 801 581 5254", +### FAX = "+1 801 581 4148", +### URL = "http://www.math.utah.edu/~beebe", +### checksum = "08699 482 2173 18348", +### email = "beebe@math.utah.edu (Internet)", +### codetable = "ISO/ASCII", +### keywords = "bibliography, BibTeX, HTML, World-Wide Web, +### WWW", +### supported = "yes", +### docstring = "This program converts BibTeX bibliographies +### to HTML, suitable for viewing on the +### World-Wide Web. +### +### The level of HTML produced is version 3.2, +### adopted 14-Jan-1997, and defined in the SGML +### document type definition (DTD) available at +### +### http://www.w3.org/MarkUp/Wilbur/HTML32.dtd +### +### and documented at +### +### http://www.w3.org/MarkUp/Wilbur/ +### http://www.w3.org/TR/REC-html32.html +### +### HTML markup is added to provide hypertext +### links for: +### +### * all URLs in the BibTeX file, both in +### comments, and inside string values; +### * all bibliography entry crossref +### values; +### * all \cite{} references; +### * all @String{name = "value"} names. +### +### In addition, every BibTeX citation label in +### @Entry lines, and every @String name, will +### be marked as an HTML label, allowing +### hypertext links to each from elsewhere in +### the same HTML file, or from other HTML +### files. In particular, every bibliography +### entry can be directly referenced by +### hypertext links from anywhere on the +### Internet. +### +### Each such linkable-name will be displayed +### in bold text to draw attention to the fact +### that it can be directly referenced by a +### suitable URL. In principle, this should be +### an option that WWW browsers provide, but +### none that I have used currently do. +### +### Although no browsers to my knowledge yet +### provide the capability of partial +### downloading of HTML files, the possibility +### has been discussed for future versions of +### the HTTP protocol. Such support would make +### it possible to construct bibliographies in +### electronic documents as links to large +### bibliography database files, without the +### browser having to load the entire database, +### but just individual entries. Since these +### in turn can have URLs that point to other +### electronic sources of the publication, a +### reader could easily follow links from a +### publication to a bibliography and then to +### abstracts and to the complete original +### text. Some journals, such as the Digital +### Technical Journal (electronically accessible +### at http://www.digital.com:80/info/DTJ/home.html), +### already could offer this possibility. +### +### The Web browser user will see material that +### looks just like normal BibTeX entries, +### except that some portions may be +### highlighted to indicate hypertext links. +### However, window cut-and-paste actions will +### recover a BibTeX entry in a form suitable +### for pasting into another BibTeX file, +### without any need for further editing. +### +### This program assumes that the BibTeX +### bibliography is formatted in the style +### produced by bibclean, and that embedded +### URLs and "key = stringname" pairs are coded +### on a single line, so that simple pattern +### matching suffices to recognize text in need +### of additional HTML markup. +### +### Usage: +### nawk -f bibtex-to-html.awk \ +### [-v PREFIX=prefix] [-v SUFFIX=suffix] \ +### BibTeX-file(s) +### +### An input file with a filename of the form +### abc.xyz is output to a file named +### PREFIXabcSUFFIX. The default PREFIX is +### empty, and the default SUFFIX is ".html". +### +### If no file names are specified on the +### command line, then the PREFIX and SUFFIX +### settings are ignored, and input is read +### from stdin, and output is written to +### stdout, so that the program can be used in +### a UNIX pipeline. +### +### In the current version, no provision is +### made for splitting the output files into +### smaller pieces to speed network file +### transfer. While this would improve browser +### responsiveness over slow network +### connections, it would also significantly +### complicate hypertext link generation for +### this program, and seriously damage browser +### search capability within the bibliography +### file. Perhaps the solution will come in +### (a) browsers' adopting the netscape browser +### practice of displaying data as soon as +### enough to fill a screen is available, and +### (b) faster network connections. +### +### In the TUG bibliography collection at +### ftp://ftp.math.utah.edu/, bibliography +### file sizes range from 3K to 4700K, with an +### average of 370K. These are rather large, +### since typical WWW file sizes need to be +### about 16K or less for good responsiveness. +### +### The checksum field above contains a CRC-16 +### checksum as the first value, followed by the +### equivalent of the standard UNIX wc (word +### count) utility output of lines, words, and +### characters. This is produced by Robert +### Solovay's checksum utility.", +### } +### ==================================================================== +BEGIN \ + { + ###################################################################### + VERSION = "1.02 [05-Jul-1997]" # <-- NB: Change this with each update! + ###################################################################### + + PROGRAM = "bibtex-to-html" + + UNSET_FILENAME = "/dev/unset" + LASTFILENAME = UNSET_FILENAME + _last_input_filename = UNSET_FILENAME + + if (SUFFIX == "") + SUFFIX = ".html" + + USER = ENVIRON["USER"] + + if (USER == "") + USER = ENVIRON["LOGNAME"] + + if (USER == "") + USER = "????" + + "hostname" | getline HOSTNAME + "date" | getline DATE +# [01-Aug-2019] ypcat no longer available: replace by getent +# ("ypcat passwd | grep '^" USER ":' | awk -F: '{print $5}'") | getline PERSONAL_NAME + ("getent passwd " USER " | " ARGV[0] " -F: '{print $5}'") | getline PERSONAL_NAME + + if (PERSONAL_NAME == "") + ##("grep '^" USER ":' /etc/passwd | awk -F: '{print $5}'") | getline PERSONAL_NAME + ("grep '^" USER ":' /etc/passwd | " ARGV[0] " -F: '{print $5}'") | getline PERSONAL_NAME + + # NB: " has become " before this pattern is used + CROSSREF_EQUALS_LABEL_PATTERN = "^[ \t]*crossref[ \t]*=[ \t]*"" + + # Pattern to match a line like this: + # %%% email = "beebe at math.utah.edu (Internet)", + + BIBTEX_EMAIL_PATTERN = "= "[A-Za-z0-9-]+ at [A-Za-z0-9.-]+" + BIBTEX_EMAIL_OFFSET = 7 # was 8 before " became " + BIBTEX_EMAIL_PREFIX = "mailto:" + BIBTEX_EMAIL_SAVE_LABEL = 0 + + ##CITE_PATTERN = "\\\\cite{[^}]+}" + CITE_PATTERN = "\\\\cite\\{[^\\}]+}" + CITE_OFFSET = 6 + CITE_PREFIX = "" + CITE_SAVE_LABEL = 1 + + EMAIL_PATTERN = "[A-Za-z0-9-]+@[A-Za-z0-9.-]+" + EMAIL_OFFSET = 0 + EMAIL_PREFIX = "mailto:" + EMAIL_SAVE_LABEL = 0 + + # See Nelson H. F. Beebe, ``Bibliography prettyprinting + # and syntax checking'', TUGboat 14(3), 222-222, October + # (1993), and 14(4), 395--419, December (1993) for the + # syntax of BibTeX names used here in ENTRY_PATTERN, + # KEY_EQUALS_NAME_PATTERN and STRING_PATTERN. + + ##ENTRY_PATTERN = "^[ \t]*@[ \t]*[A-Za-z][A-Za-z0-9:.+/'-]*[ \t]*{[A-Za-z][A-Za-z0-9:.+/'-]*,[ \t]*$" + ENTRY_PATTERN = "^[ \t]*@[ \t]*[A-Za-z][A-Za-z0-9:.+/'-]*[ \t]*\\{[A-Za-z][A-Za-z0-9:.+/'-]*,[ \t]*$" + + KEY_EQUALS_NAME_PATTERN = "^[ \t]*[A-Za-z][A-Za-z0-9:.+/'-]*[ \t]*=[ \t]*[A-Za-z]" + + ##STRING_PATTERN = "^@[Ss][Tt][Rr][Ii][Nn][gG]{[A-Za-z][A-Za-z0-9:.+/'-]*" + STRING_PATTERN = "^@[Ss][Tt][Rr][Ii][Nn][gG]\\{[A-Za-z][A-Za-z0-9:.+/'-]*" + STRING_OFFSET = 8 + STRING_PREFIX = "" + STRING_SAVE_LABEL = 1 + + # According to Internet RFC 1614 (May 1994), a URL is + # defined in the document T. Berners-Lee, ``Uniform + # Resource Locators'', March 1993, available at URL + # ftp://info.cern.ch/pub/ietf/url4.ps. Unfortunately, + # that address is no longer valid. However, I was able to + # track down pointers from http://www.w3.org/ to locate a + # suitable description in Internet RFC 1630 (June 1994). + + # NB: We additionally disallow & in a URL because it is + # needed in SGML entities "&name;". We also disallow = + # and | because these are commonly used in \path=...= and + # \path|...| strings in BibTeX files. These restrictions + # could be removed if we went to the trouble of first + # encoding these special characters in %xy hexadecimal + # format, but they are rare enough that I am not going to + # do so for now. The worst that will happen from this + # decision is that an occasional URL in a BibTeX file will + # be missing a surrounding anchor. + + URL_PATTERN = "[A-Za-z]+://[^ \",&=|]+" + URL_OFFSET = 0 + URL_PREFIX = "" + URL_SAVE_LABEL = 0 + + # [24-May-2016] support for background coloring of block comments + IN_BLOCK_COMMENT = 0 + } + +# Each line receives identical processing. + { do_line() } + +END \ + { + if (LASTFILENAME != UNSET_FILENAME) + end_file(LASTFILENAME) + } + + +function add_entry(array,value) +{ + if (value in array) + array[value] = array[value] " " FNR + else + array[value] = FNR +} + + +function anchor(s,type,pattern,offset,prefix,save_label, name,rstart,rlength) +{ + # Add anchors ... around text in s matching + # pattern. A non-zero offset discards that many characters from + # the start of the match, allowing the pattern to contain leading + # context which goes outside the anchored region. The prefix is + # attached to the start of the matched string, inside the value + # quotes in the anchor. + + if (match(s,pattern)) + { + rstart = RSTART # need private copies of these globals because + rlength = RLENGTH # recursion will change them + + rstart += offset # adjust by offset to discard leading + rlength -= offset # context in pattern + + name = substr(s,rstart,rlength) + sub(/ +at +/,"@",name) # reduce "user at host" to "user@host" + + s = substr(s,1,rstart-1) \ + "" \ + ((type == "NAME") ? "" : "") \ + substr(s,rstart,rlength) \ + ((type == "NAME") ? "" : "") \ + "" \ + anchor(substr(s,rstart+rlength),type,pattern,offset,prefix,save) + + if (save_label) + { + if (type == "HREF") + add_entry(label_hrefs, name) + else if (type == "NAME") + add_entry(label_names, name) + } + } + + return (s) +} + + +function begin_file( f) +{ + f = output_filename(FILENAME) + + ## NB: If Transitional is eliminated in DOCTYPE, background coloring is lost! Why? + slash_pos = str::rindex(FILENAME, "/"); + BASE_FILENAME = (slash_pos > 0)? str::substr(FILENAME, slash_pos + 1): FILENAME; + + print "" > f + print "" > f +## print "" > f + print "" > f + print "" > f + print "" > f +## print "" > f +## print "" > f + print "" > f + print "" > f + print "" > f + print "" > f + print "" > f + print "
" > f + print " "> f + print "" > f + + clear_array(label_names) + clear_array(label_hrefs) +} + + +function check_for_file_change() +{ + if (LASTFILENAME != FILENAME) + { + if (LASTFILENAME != UNSET_FILENAME) + { + end_file(LASTFILENAME) + + if (LASTFILENAME != "/dev/stdout") + close (output_filename(LASTFILENAME)) + } + + LASTFILENAME = FILENAME + begin_file() + } +} + + +function check_refs( label) +{ + for (label in label_hrefs) + { + if (!(label in label_names)) + warning("undefined label " label " at line(s) " label_hrefs[label]) + } +} + + +function clear_array(array, key) +{ + for (key in array) + delete array[key] +} + + +function end_file(filename, f) +{ + f = output_filename(filename) + + print "" > f + print " " > f + print "" > f + check_refs() +} + + +function do_cite(s, k,n,labels,t) +{ + n = split(substr(s,RSTART + CITE_OFFSET,RLENGTH - 1 - CITE_OFFSET),labels,",") + t = substr(s,1,RSTART+CITE_OFFSET-1) + + for (k = 1; k <= n; ++k) + { + t = t ((k > 1) ? "," : "") "" labels[k] "" + add_entry(label_hrefs, labels[k]) + } + + t = t substr(s,RSTART + RLENGTH - 1) + + return (t) +} + + +function do_line( n,name,s) +{ + s = protect_SGML_characters($0) + + if (match(s,STRING_PATTERN)) # remember name from @String{name = "value"} + { + name = substr(s,RSTART + STRING_OFFSET,RLENGTH - STRING_OFFSET) + string_name[name] = 1 + # print "DEBUG 1: name =", name >"/dev/stderr" + } + + if (match(s,/^%+[ \t]*email[ \t]*=/)) # special handling because BibTeX does not allow @ in comments + s = anchor(s,"HREF",BIBTEX_EMAIL_PATTERN,BIBTEX_EMAIL_OFFSET,BIBTEX_EMAIL_PREFIX,\ + BIBTEX_EMAIL_SAVE_LABEL) + else + s = anchor(s,"HREF",EMAIL_PATTERN,EMAIL_OFFSET,EMAIL_PREFIX,EMAIL_SAVE_LABEL) + + s = anchor(s,"HREF",URL_PATTERN,URL_OFFSET,URL_PREFIX,URL_SAVE_LABEL) + s = anchor(s,"NAME",STRING_PATTERN,STRING_OFFSET,STRING_PREFIX,STRING_SAVE_LABEL) + + if (match(s,CITE_PATTERN)) + s = do_cite(s) + + if (match(s,ENTRY_PATTERN)) # then have ``@Entry{label,'' + { + n = index(s,"{") + name = substr(s,n+1) + gsub(/^[ \t]*/,"",name) # trim optional leading space + gsub(/,[ \t]*$/,"",name) # trim trailing comma and optional space + # print "DEBUG 2: name =", name >"/dev/stderr" + s = substr(s,1,n) \ + "" name "" \ + substr(s,n+1+length(name)) + add_entry(label_names, name) + } + else if (match(s,KEY_EQUALS_NAME_PATTERN)) # then have ``key = name'' + { + name = substr(s,RSTART+RLENGTH-1) + sub(/,?[ \t]*$/,"",name) # trim optional trailing comma and space + # print "DEBUG 3: name =", name >"/dev/stderr" + + if (name in string_name) # then we have a definition of this name + { + s = substr(s,1,RSTART+RLENGTH-2) \ + "" name "" substr(s,RSTART+RLENGTH-1+length(name)) + add_entry(label_hrefs, name) + } + } + else if (match(s,CROSSREF_EQUALS_LABEL_PATTERN)) # then have `` crossref = "label"'' + { + name = substr(s,RSTART+RLENGTH) + sub(/",?[ \t]*$/,"",name) # trim trailing quote and optional comma and space + # print "DEBUG 4: name =", name >"/dev/stderr" + s = substr(s,1,RSTART+RLENGTH-1) \ + "" name "" substr(s,RSTART+RLENGTH+length(name)) + add_entry(label_hrefs, name) + } + + check_for_file_change() + + if ( (s ~ "^%") && !IN_BLOCK_COMMENT) + { + printf("
") > output_filename(FILENAME) + IN_BLOCK_COMMENT = 1 + } + else if ( (s !~ "^%") && IN_BLOCK_COMMENT) + { + printf("
") > output_filename(FILENAME) + IN_BLOCK_COMMENT = 0 + } + + print s >output_filename(FILENAME) +} + + +function output_filename(input_filename) +{ +## HAWK - for use in t/h-003.hawk +return "/dev/stdout"; + + if (input_filename != _last_input_filename) + { # optimization: we cache last function result for speed + _last_input_filename = input_filename + sub(/.[^.]*$/,"",input_filename) + + if ((input_filename == "") || (input_filename == "/dev/stdin")) + _last_output_filename = "/dev/stdout" + else + _last_output_filename = PREFIX input_filename SUFFIX + + } + + return (_last_output_filename) +} + + +function protect_SGML_characters(s) +{ + gsub(/&/,"\\&",s) # NB: this one MUST be first + gsub(/,"\\<",s) + gsub(/>/,"\\>",s) + + ## [24-May-2016] with the change from HTML 3.2 to 4.0, we can use " again! + ## gsub(/\"/,"\\"",s) # this was " in earlier HTML + # versions, including the HTML 3.2 + # draft, but was stupidly eliminated in + # the final HTML 3.2 version: see + # http://www.w3.org/pub/WWW/MarkUp/Wilbur/ + # in the section ``What happened to "?'' + gsub(/\"/,"\\"",s) + + return (s) +} + + +function warning(message) +{ + # print FILENAME ":" FNR ":%%" message >"/dev/stderr" + # + # The only place that we need warning messages above is + # checkrefs(), after the current file has been closed, and a new + # one started, so we need LASTFILENAME instead of FILENAME here, + # and we omit the FNR, since we have no record of it for + # LASTFILENAME. + print LASTFILENAME ":%%" message >"/dev/stderr" +} diff --git a/hawk/t/bibtex-to-html.out b/hawk/t/bibtex-to-html.out new file mode 100644 index 00000000..fcbbb30f --- /dev/null +++ b/hawk/t/bibtex-to-html.out @@ -0,0 +1,27252 @@ + + + + + + + + + + + + +") + In_PRE = 0 + } +} + + +function html_end_title() +{ + return ((HTML && (Url != "")) ? "" : "") +} + + +function html_end_toc() +{ + html_end_pre() +} + + +function html_fonts(s, arg,control_word,k,level,n,open_brace) +{ + open_brace = index(s,"{") + if (open_brace > 0) # important optimization + { + level = 1 + for (k = open_brace + 1; (level != 0) && (k <= length(s)); ++k) + { + if (substr(s,k,1) == "{") + level++ + else if (substr(s,k,1) == "}") + level-- + } + + # {...} is now found at open_brace ... (k-1) + for (control_word in Font_decl_map) # look for {\xxx ...} + { + if (substr(s,open_brace+1,length(control_word)+1) ~ \ + ("\\" control_word "[^A-Za-z]")) + { + n = open_brace + 1 + length(control_word) + arg = trim(substr(s,n,k - n)) + if (Font_decl_map[control_word] == "toupper") # arg -> ARG + arg = toupper(arg) + else if (Font_decl_map[control_word] != "") # arg ->+ BibTeX bibliography journal-toc.in + + + + + + + ++%%% ==================================================================== +%%% BibTeX-file{ +%%% author = "Nelson H. F. Beebe", +%%% version = "2.09", +%%% date = "26 March 1997", +%%% time = "08:21:19 MST", +%%% filename = "cacm1970.bib", +%%% address = "Center for Scientific Computing +%%% Department of Mathematics +%%% University of Utah +%%% Salt Lake City, UT 84112 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% checksum = "50673 40670 196033 1787829", +%%% email = "beebe at math.utah.edu (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "bibliography, CACM, Communications of the +%%% ACM", +%%% supported = "yes", +%%% docstring = "This is a bibliography of the journal +%%% Communications of the ACM, covering +%%% (incompletely) 1970 -- 1979. +%%% +%%% At version 2.09, the year coverage looked +%%% like this: +%%% +%%% 1961 ( 1) 1972 (168) 1983 ( 0) +%%% 1962 ( 1) 1973 (158) 1984 ( 0) +%%% 1963 ( 2) 1974 (127) 1985 ( 2) +%%% 1964 ( 2) 1975 (107) 1986 ( 0) +%%% 1965 ( 1) 1976 ( 97) 1987 ( 0) +%%% 1966 ( 2) 1977 (117) 1988 ( 0) +%%% 1967 ( 1) 1978 (118) 1989 ( 0) +%%% 1968 ( 1) 1979 ( 78) 1990 ( 2) +%%% 1969 ( 3) 1980 ( 1) 1991 ( 4) +%%% 1970 (157) 1981 ( 2) 1992 ( 1) +%%% 1971 (104) 1982 ( 1) +%%% +%%% Article: 1252 +%%% Book: 2 +%%% InProceedings: 1 +%%% Manual: 1 +%%% MastersThesis: 1 +%%% PhdThesis: 1 +%%% +%%% Total entries: 1258 +%%% +%%% The size of the original cacm.bib file +%%% covering 1958--1996 became too large (about +%%% 4000 entries) for BibTeX and TeX to handle, +%%% so at version 1.44, it was split into +%%% cacm1950.bib, cacm1960.bib, cacm1970.bib, +%%% cacm1980.bib, and cacm1990.bib, each covering +%%% the decade starting with the year embedded in +%%% the filename. Version numbers for these +%%% files begin at 2.00. +%%% +%%% Volumes from the 1990s average more than 200 +%%% articles yearly, so a complete bibliography +%%% for this journal could contain more than 6000 +%%% entries from 1958 to 2000. +%%% +%%% These bibliographies also include ACM +%%% Algorithms 1--492. For Algorithms 493--686, +%%% including Algorithm 568, published in ACM +%%% Transactions on Programming Languages and +%%% Systems (TOPLAS), see the companion +%%% bibliographies, toms.bib and toplas.bib. +%%% +%%% All published Remarks and Corrigenda are +%%% cross-referenced in both directions, so +%%% that citing a paper will automatically +%%% generate citations for those Remarks and +%%% Corrigenda. Cross-referenced entries are +%%% duplicated in cacm19*.bib and toms.bib, so +%%% that each is completely self-contained. +%%% +%%% Source code for ACM Algorithms from 380 +%%% onwards, with some omissions, is available +%%% via the Netlib service at +%%% http://netlib.ornl.gov/, and +%%% ftp://netlib.bell-labs.com/netlib/toms. +%%% +%%% There is a World Wide Web search facility +%%% for articles published in this journal from +%%% 1959 to 1979 at +%%% http://ciir.cs.umass.edu/cgi-bin/web_query_form/public/cacm2.1. +%%% +%%% The initial draft of entries for 1981 -- +%%% 1990 was extracted from the ACM Computing +%%% Archive CD ROM for the 1980s, with manual +%%% corrections and additions. Additions were +%%% then made from all of the bibliographies in +%%% the TeX User Group collection, from +%%% bibliographies in the author's personal +%%% files, from the Compendex database +%%% (1970--1979), from the IEEE INSPEC database +%%% (1970--1979), from tables of contents +%%% information at http://www.acm.org/pubs/cacm/, +%%% from Zentralblatt fur Mathematik Mathematics +%%% Abstracts at +%%% http://www.emis.de/cgi-bin/MATH/, from +%%% bibliographies at Internet host +%%% netlib.bell-labs.com, and from the computer +%%% science bibliography collection on +%%% ftp.ira.uka.de in /pub/bibliography to which +%%% many people of have contributed. The +%%% snapshot of this collection was taken on +%%% 5-May-1994, and it consists of 441 BibTeX +%%% files, 2,672,675 lines, 205,289 entries, and +%%% 6,375 <at>String{} abbreviations, occupying +%%% 94.8MB of disk space. +%%% +%%% Numerous errors in the sources noted above +%%% have been corrected. Spelling has been +%%% verified with the UNIX spell and GNU ispell +%%% programs using the exception dictionary +%%% stored in the companion file with extension +%%% .sok. +%%% +%%% BibTeX citation tags are uniformly chosen +%%% as name:year:abbrev, where name is the +%%% family name of the first author or editor, +%%% year is a 4-digit number, and abbrev is a +%%% 3-letter condensation of important title +%%% words. Citation tags were automatically +%%% generated by software developed for the +%%% BibNet Project. +%%% +%%% In this bibliography, entries are sorted in +%%% publication order within each journal, +%%% using bibsort -byvolume. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== ++@Preamble{"\input bibnames.sty " # "\input path.sty " # "\def \TM {${}^{\sc TM}$} " # "\hyphenation{ al-pha-mer-ic Balz-er Blom-quist Bo-ta-fo-go Bran-din Brans-comb Bu-tera Chris-tina Christ-o-fi-des Col-lins Cor-dell data-base econ-omies Fletch-er flow-chart flow-charts Fry-styk ge-dank-en Gar-fink-el Ge-ha-ni Glush-ko Goud-reau Gua-dan-go Hari-di Haw-thorn Hem-men-ding-er Hor-o-witz Hour-vitz Hirsch-berg Ike-da Ka-chi-tvi-chyan-u-kul Kat-ze-nel-son Kitz-miller Ko-ba-yashi Le-Me-tay-er Ken-ne-dy Law-rence Mac-kay Mai-net-ti Mar-sa-glia Max-well Mer-ner Mo-ran-di Na-ray-an New-ell Nich-ols para-digm pat-ent-ed Phi-lo-kyp-rou Prep-a-ra-ta pseu-do-chain-ing QUIK-SCRIPT Rad-e-mach-er re-eval-u-a-tion re-wind Ros-witha Scheu-er-mann Schwach-heim Schob-bens Schon-berg Sho-sha-ni Si-tha-ra-ma Skwa-rec-ki Streck-er Strin-gi-ni Tes-ler Te-zu-ka Teu-ho-la Till-quist Town-send Tsi-chri-tzis Tur-ski Vuille-min Wald-ing-er Za-bo-row-ski Za-mora }"} + +%======================================================================= +% Acknowledgement abbreviations: ++@String{ack-nhfb = "Nelson H. F. Beebe, Center for Scientific Computing, Department of Mathematics, University of Utah, Salt Lake City, UT 84112, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|"} + +@String{ack-nj = "Norbert Juffa, 2445 Mission College Blvd. Santa Clara, CA 95054 USA email: \path=norbert@iit.com="} + +%======================================================================= +% Journal abbreviations: ++@String{j-CACM = "Communications of the ACM"} + +@String{j-COMP-SURV = "Computing Surveys"} + +@String{j-J-ACM = "Journal of the ACM"} + +@String{j-MANAGEMENT-SCIENCE = "Management Science"} + +@String{j-SIAM-J-COMPUT = "SIAM Journal of Computing"} + +@String{j-SPE = "Software --- Practice and Experience"} + +@String{j-TOMS = "ACM Transactions on Mathematical Software"} + +%======================================================================= +% Publisher abbreviations: ++@String{pub-ANSI = "American National Standards Institute"} + +@String{pub-ANSI:adr = "1430 Broadway, New York, NY 10018, USA"} + +@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} + +@String{pub-AW:adr = "Reading, MA, USA"} + +@String{pub-SUCSLI = "Stanford University Center for the Study of Language and Information"} + +@String{pub-SUCSLI:adr = "Stanford, CA, USA"} + +@String{pub-SV = "Spring{\-}er-Ver{\-}lag"} + +@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London, UK~/ etc."} + +%======================================================================= +% Bibliography entries (cross-references in notes necessitate +% inclusion of a few additional entries published elsewhere): ++@Article{Herndon:1961:AAS, + author = "J. R. Herndon", + title = "{ACM} Algorithm 49: Spherical {Neumann} Function", + journal = j-CACM, + volume = "4", + number = "4", + pages = "179", + month = apr, + year = "1961", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:50 1994", + note = "See also \cite{Coleman:1978:RAS}.", +} + +@Article{Merner:1962:AAC, + author = "J. N. Merner", + title = "{ACM} Algorithm 149: Complete Elliptic Integral", + journal = j-CACM, + volume = "5", + number = "12", + pages = "605", + month = dec, + year = "1962", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:50 1994", + note = "See also \cite{Skovgaard:1978:RCE}.", +} + +@Article{Ludwig:1963:AAI, + author = "O. G. Ludwig", + title = "{ACM} Algorithm 179: Incomplete Beta Ratio", + journal = j-CACM, + volume = "6", + number = "6", + pages = "314", + month = jun, + year = "1963", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:50 1994", + note = "See also \cite{Pike:1976:RIB}.", +} + +@Article{Kase:1963:AAT, + author = "R. H. Kase", + title = "{ACM} Algorithm 219: Topological Ordering for {Pert} Networks", + journal = j-CACM, + volume = "6", + number = "12", + pages = "738--739", + month = dec, + year = "1963", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:51 1994", + note = "See also \cite{Tenney:1977:RAT}.", +} + +@Article{Gautschi:1964:AAB, + author = "W. Gautschi", + title = "{ACM} Algorithm 236: {Bessel} Functions of the First Kind", + journal = j-CACM, + volume = "7", + number = "8", + pages = "479--480", + month = aug, + year = "1964", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:54 1994", + note = "See also \cite{Skovgaard:1975:RBF}.", +} + +@Article{Boothroyd:1964:AAG, + author = "J. Boothroyd", + title = "{ACM} Algorithm 246: Graycode", + journal = j-CACM, + volume = "7", + number = "12", + pages = "701", + month = dec, + year = "1964", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:54 1994", + note = "See also \cite{Misra:1975:RG,Er:1985:RG}.", +} + +@Article{Gautschi:1965:AAL, + author = "W. Gautschi", + title = "{ACM} Algorithm 259: {Legendre} Functions for Arguments Larger than One", + journal = j-CACM, + volume = "8", + number = "8", + pages = "488--492", + month = aug, + year = "1965", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:54 1994", + note = "See also \cite{Jansen:1977:RLF}.", +} + +@Article{Fletcher:1966:AAI, + author = "W. Fletcher", + title = "{ACM} Algorithm 284: Interchange of Two Blocks of Data", + journal = j-CACM, + volume = "9", + number = "5", + pages = "326", + month = may, + year = "1966", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:54 1994", + note = "See also \cite{Ito:1976:RIT}.", +} + +@Article{Hill:1967:AAC, + author = "I. D. Hill and M. C. Pike", + title = "{ACM} Algorithm 299: Chi-Squared Integral", + journal = j-CACM, + volume = "10", + number = "4", + pages = "243--244", + month = apr, + year = "1967", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:54 1994", + note = "See also \cite{Lozy:1976:RCS,Hill:1985:RCS}.", +} + +@Article{Dijkstra:1968:GSC, + author = "Edsger Wybe Dijkstra", + title = "Go to statement considered harmful", + journal = j-CACM, + volume = "11", + number = "3", + pages = "147--148", + month = mar, + year = "1968", + CODEN = "CACMA2", + ISSN = "0001-0782", + note = "This paper inspired scores of others, published mainly in SIGPLAN Notices up to the mid-1980s. The best-known is \cite{Knuth:1974:SPG}.", +} + +@Article{ANSI:1969:CFS, + author = "{ANSI Subcommittee X3J3}", + title = "Clarification of {Fortran} Standards --- Initial Progress", + journal = j-CACM, + volume = "12", + number = "5", + pages = "289--294", + month = may, + year = "1969", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Mon Aug 29 18:26:25 1994", + note = "See also \cite{ANSI:1966:AF}.", + acknowledgement = ack-nhfb, +} + +@Article{Wirth:1969:MMC, + author = "N. Wirth", + title = "On Multiprogramming, Machine Coding, and Computer Organization", + journal = j-CACM, + volume = "12", + number = "9", + pages = "489--498", + month = sep, + year = "1969", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:23:22 1997", + note = "See corrigendum \cite{Wirth:1970:CMM}.", +} + +@Article{Lum:1970:MAR, + author = "V. Y. Lum", + title = "Multi-Attribute Retrieval with Combined Indexes", + journal = j-CACM, + volume = "1", + number = "11", + pages = "660--665", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + annote = "Construction of combined indexes with formulas for number needed.", +} + +@Article{Lowe:1970:ASC, + author = "T. C. Lowe", + title = "Automatic segmentation of cyclic program structures based on connectivity and processor timing", + journal = j-CACM, + volume = "13", + number = "1", + pages = "3--6", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + corpsource = "Informatics Inc., Bethesda, MD, USA", + keywords = "input-output programs; multiprogramming; program processors; time-sharing programs", +} + +@Article{Gautschi:1970:RCC, + author = "Walter Gautschi and Bruce J. Klein", + title = "Recursive computation of certain derivatives --- {A} study of error propagation", + journal = j-CACM, + volume = "13", + number = "1", + pages = "7--9", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65Q05", + MRnumber = "46 1115", + mrreviewer = "D. F. Mayers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A brief study is made of the propagation of errors in linear first-order difference equations. The recursive computation of successive derivatives of $(e^x)/x$ and $(\cos x)/x$ is considered as an illustration.", + acknowledgement = ack-nhfb, + classcodes = "C4110 (Error analysis in numerical methods)", + corpsource = "Purdue Univ., Lafayette, IN, USA", + keywords = "difference equations; error analysis; error propagation; recursive computation; successive derivatives", +} + +@Article{Mullery:1970:PAM, + author = "A. P. Mullery and G. C. Driscoll", + title = "A processor allocation method for time-sharing", + journal = j-CACM, + volume = "13", + number = "1", + pages = "10--14", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "IBM, Thomas J. Watson Res. Center Yorktown Heights, NY, USA", + keywords = "storage allocation; time-sharing programs", +} + +@Article{Simmons:1970:NLQ, + author = "R. F. Simmons", + title = "Natural Language Question-Answering Systems: 1969", + journal = j-CACM, + volume = "13", + number = "1", + pages = "15--30", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "artificial intelligence; computational linguistics; language; translation and linguistics", +} + +@Article{Irons:1970:EEL, + author = "E. T. Irons", + title = "Experience with an extensible language", + journal = j-CACM, + volume = "13", + number = "1", + pages = "31--40", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Inst. Defense Analyses Princeton, NJ, USA", + keywords = "procedure oriented languages", +} + +@Article{Montanari:1970:NML, + author = "U. Montanari", + title = "A note on minimal length polygonal approximation to a digitized contour", + journal = j-CACM, + volume = "13", + number = "1", + pages = "41--47", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.20", + MRnumber = "44\#2311", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A method for extracting a smooth polygonal contour from a digitized image is illustrated. The ordered sequence of contour points and the connection graph of the image are first obtained by a modified Ledley algorithm in one image scan. A minimal perimeter polygon subjected to specified constraints is then chosen as the approximating contour. The determination of the minimal polygon can be reduced to a nonlinear programming problem, solved by an algorithm which takes into account the weak bonds between variables. Some examples are presented, and the corresponding computing times are listed.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Consiglio Nazionale delle Richerche, Pisa, Italy", + keywords = "connection tree; digitized image; minimal polygon; nonlinear programming; optimal approximation; pattern recognition", +} + +@Article{Stehfest:1970:AAN, + author = "Harald Stehfest", + title = "{ACM} Algorithm 368: Numerical Inversion of {Laplace} Transforms", + journal = j-CACM, + volume = "13", + number = "1", + pages = "47--49", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "J. W. Goethe Univ. Frankfurt am Main, West Germany", + keywords = "Laplace transforms; subroutines", +} + +@Article{Schaffer:1970:AAG, + author = "H. E. Schaffer", + title = "{ACM} Algorithm 369: Generator of Random Numbers Satisfying the {Poisson} Distribution", + journal = j-CACM, + volume = "13", + number = "1", + pages = "49--49", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "North Carolina State Univ., Raleigh, NC, USA", + keywords = "random number generation; subroutines", +} + +@Article{Butler:1970:AAG, + author = "E. L. Butler", + title = "{ACM} Algorithm 370: General Random Number Generator", + journal = j-CACM, + volume = "13", + number = "1", + pages = "49--52", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Texas A and M Univ., College Station, TX, USA", + keywords = "random number generation; subroutines", +} + +@Article{McKay:1970:AAP, + author = "J. K. S. McKay", + title = "{ACM} Algorithm 371: Partitions in Natural Order", + journal = j-CACM, + volume = "13", + number = "1", + pages = "52--52", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "California Inst. Technol. Pasadena, CA, USA", + keywords = "number theory; subroutines", +} + +@Article{Dunham:1970:AAA, + author = "K. B. Dunham", + title = "{ACM} Algorithm 372: An Algorithm to Produce Complex Primes {CSIEVE}", + journal = j-CACM, + volume = "13", + number = "1", + pages = "52--54", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Georgia Inst. Technol., Atlanta, GA, USA", + keywords = "number theory; subroutines", +} + +@Article{Griffin:1970:RME, + author = "R. Griffin and K. A. Redich", + title = "Remark on {``Algorithm 347 [{M1}]: An Efficient Algorithm for Sorting with Minimal Storage'', by R. C. Singleton}", + journal = j-CACM, + volume = "13", + number = "1", + pages = "54--54", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:26:41 1997", + keywords = "digital computer sorting; minimal storage sorting; sorting", +} + +@Article{Anonymous:1970:RCD, + author = "Anonymous", + title = "Representation for calendar date for machine-to-machine data interchange", + journal = j-CACM, + volume = "13", + number = "1", + pages = "55--55", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + keywords = "codes; standards", +} + +@Article{Anonymous:1970:IRP, + author = "Anonymous", + title = "Interchange rolls of perforated tape for information interchange", + journal = j-CACM, + volume = "13", + number = "1", + pages = "56--56", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5320Z (Other digital storage); C5560 (Data preparation equipment); C7250 (Information storage and retrieval)", + keywords = "digital storage; equipment; information retrieval; punched tape; standards", +} + +@Article{Payne:1970:FTP, + author = "W. H. Payne", + title = "{Fortran Tausworthe} pseudorandom number generator", + journal = j-CACM, + volume = "13", + number = "1", + pages = "57--57", + month = jan, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Washington State Univ. Pullman, WA, USA", + keywords = "random number generation", +} + +@Article{Hsiao:1970:FSI, + author = "David K. Hsiao and Frank D. Harary", + title = "A Formal System for Information Retrieval from Files", + journal = j-CACM, + volume = "13", + number = "2", + pages = "67--73", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "See corrigenda \cite{Hsiao:1970:CFS}.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + corpsource = "Univ. Pennsylvania, Philadelphia, PA, USA", + keywords = "file organisation; information retrieval", +} + +@Article{vonGlaserfeld:1970:MPH, + author = "E. {von Glaserfeld} and P. P. Pisani", + title = "The multistore parser for hierarchical syntactic structures", + journal = j-CACM, + volume = "13", + number = "2", + pages = "74--82", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. Georgia, Athens, GA, USA", + keywords = "computational linguistics", +} + +@Article{Vere:1970:TE, + author = "Steven Vere", + title = "Translation equations", + journal = j-CACM, + volume = "13", + number = "2", + pages = "83--89", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "45 4925", + mrreviewer = "H. Maurer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See errata \cite{Vere:1970:TEE},", + abstract = "Input limited transduction expressions, or translation equations, are used to describe the syntax and left-context sensitive semantics for context-free languages. A formal procedure is given for deriving from a set of translation equations the specifications for a pushdown translator. The translator consists of Mealy form finite-state automata interacting by means of a pushdown stack. Within the framework described string recognition and parsing may be treated as special cases of the translation problem.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. California, Los Angeles, CA, USA", + keywords = "automata; computational linguistics; context-free languages; finite state automata; formal languages; meta-compilers; parsing; pushdown transducer; recognizers; regular expression; syntax directed compilers; transduction expression; translation; Turing machines", +} + +@Article{Morgan:1970:SCSa, + author = "H. L. Morgan", + title = "Spelling correction in systems programs", + journal = j-CACM, + volume = "13", + number = "2", + pages = "90--94", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "program debugging; subroutines", + xxnote = "Check issue number: 2 or 3??", +} + +@Article{Earley:1970:ECF, + author = "J. Earley", + title = "An Efficient Context-Free Parsing Algorithm", + journal = j-CACM, + volume = "13", + number = "2", + pages = "94--102", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "A parsing algorithm which seems to be the most efficient general context-free algorithm known is described. It is similar to both Knuth's LR(k) algorithm and the familiar top-down algorithm. It has a time bound proportional to $n^3$ (where $n$ is the length of the string being parsed) in general; it has a $n^2$ bound for unambiguous grammars; and it runs in linear time on a large class of grammars, which seems to include most practical context-free programming language grammars. In an empirical comparison it appears to be superior to the top-down and bottom-up algorithms studied by Griffiths and Petrick.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "compilers; computational complexity; context-free grammar; parsing; syntax analysis", + keywords = "computational linguistics; program compilers", +} + +@Article{Radke:1970:UQR, + author = "C. E. Radke", + title = "The Use of Quadratic Residue Research", + journal = j-CACM, + volume = "13", + number = "2", + pages = "103--105", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "IBM, Endicott, NY, USA", + keywords = "data handling; programming", +} + +@Article{Jones:1970:VSA, + author = "B. Jones", + title = "A Variation on Sorting by Address Calculation", + journal = j-CACM, + volume = "13", + number = "2", + pages = "105--107", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Martin Marietta Corp., Orlando, FL, USA", + keywords = "sorting", +} + +@Article{Bell:1970:QQM, + author = "James R. Bell", + title = "The Quadratic Quotient Method: {A} Hash Code Eliminating Secondary Clustering", + journal = j-CACM, + volume = "13", + number = "2", + pages = "107--109", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + keywords = "table lookup", +} + +@Article{Ness:1970:CEG, + author = "D. N. Ness and R. S. Green and W. A. Martin and G. A. Moulton", + title = "Computer education in a graduate school of management", + journal = j-CACM, + volume = "13", + number = "2", + pages = "110--114, 19", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "M.I.T., Cambridge, MA, USA", + keywords = "education; management; simulation", +} + +@Article{Robbins:1970:ICS, + author = "M. F. Robbins and J. D. Beyer", + title = "An interactive computer system using graphical flowchart input", + journal = j-CACM, + volume = "13", + number = "2", + pages = "115--119", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7400 (Engineering computing); C5540 (Terminals and graphic displays)", + corpsource = "Bell Telephone Labs. Inc., Holmdel, NJ, USA", + keywords = "applications of computers; computers; control system synthesis; electrical engineering; engineering applications of; online operation; sampled data systems; simulation", +} + +@Article{White:1970:AAN, + author = "J. S. White", + title = "{ACM} Algorithm 373: Number of Doubly Restricted Partitions", + journal = j-CACM, + volume = "13", + number = "2", + pages = "120--120", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Univ. Minnesota, Minneapolis, MN, USA", + keywords = "combinatorial mathematics; subroutines", +} + +@Article{White:1970:AAR, + author = "J. S. White", + title = "{ACM} Algorithm 374: Restricted Partition Generator", + journal = j-CACM, + volume = "13", + number = "2", + pages = "120--120", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Univ. Minnesota, Minneapolis, MN, USA", + keywords = "combinatorial mathematics; subroutines", +} + +@Article{Spath:1970:AAF, + author = "H. Sp{\"{a}}th", + title = "{ACM} Algorithm 375: Fitting Data to One Exponential", + journal = j-CACM, + volume = "13", + number = "2", + pages = "120--121", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:33:48 1994", +} + +@Article{Spath:1970:FDO, + author = "H. Spath", + title = "Fitting data to one exponential", + journal = j-CACM, + volume = "13", + number = "2", + pages = "120--121", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)", + corpsource = "Inst. Neutronenphysik Reaktortechnik, Karlsruhe, West Germany", + keywords = "least squares approximations; nonlinear equations; subroutines", +} + +@Article{Spath:1970:AAL, + author = "H. Sp{\"{a}}th", + title = "{ACM} Algorithm 376: Least Squares Fit by {$f(x)=A\cos(Bx+C)$}", + journal = j-CACM, + volume = "13", + number = "2", + pages = "121--122", + month = feb, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)", + corpsource = "Inst. Neutronenphysik, Reaktortechnik, Karlsruhe, West Germany", + keywords = "least squares approximations; nonlinear equations; subroutines", +} + +@Article{Morgan:1970:SCSb, + author = "H. L. Morgan", + title = "Spelling correction in systems programs", + journal = j-CACM, + volume = "13", + number = "3", + pages = "90--94", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 09:49:07 1996", + abstract = "Several specialized techniques are shown for efficiently incorporating spelling correction algorithms in to compilers and operating systems. These include the use of syntax and semantics information, the organization of restricted keyword and symbol tables, and the consideration of a limited class of spelling errors. Sample 360 coding for performing spelling correction is presented. By using systems which perform spelling correction, the number of debugging runs per program has been decreased, saving both programmer and machine time.", + keywords = "compilers; computer science and automata; debugging; diagnostics; error correction; error detection; lexical analysis systems programming; misspelling; operating systems; spelling correction", + xxnote = "Check issue number: 2 or 3??", +} + +@Article{Fenichel:1970:PTP, + author = "R. R. Fenichel and J. Weizenbaum and J. C. Yochelson", + title = "A Program to Teach Programming", + journal = j-CACM, + volume = "13", + number = "3", + pages = "141--146", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The TEACH system was developed at MIT to ease the cost and improve the results of elementary instruction in programming. To the student, TEACH offers loosely guided experience with a conversational language which was designed with teaching in mind. Faculty involvement is limited. At the heart of the TEACH system is an interactive language which somewhat resembles Joss, but is somewhat more amenable to rational explanation. Surrounding the language processor is a teaching system which presents lessons to the student, supervises his progress, and permits him to exercise his skills. A term of experience with TEACH is discussed. Pedagogically, the system appears to be successful; straightforward reimplementation will make it economically successful as well.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C6150Z (Other systems operation programs)", + corpsource = "Massachusetts Inst. Technol., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer applications; computer-assisted learning; computers, programming; education; elementary programming; engineering education; programming; TEACH; UNCL; utility programs", +} + +@Article{Slagle:1970:EMT, + author = "J. R. Slagle and J. K. Dixon", + title = "Experiments with the {M \& N} Tree-Searching Program", + journal = j-CACM, + volume = "13", + number = "3", + pages = "147--154, 159", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The M \& N procedure is an improvement to the mini-max backing-up procedure widely used in computer programs for game-playing and other purposes. It is based on the principle that it is desirable to have many options when making decisions in the face of uncertainty. The mini-max procedure assigns to a MAX (MIN) node the value of the highest (lowest) valued successor to that node. The M \& N procedure assigns to a MAX (MIN) node some function of the M (N) highest (lowest) valued successors. An M \& N procedure was written in LISP to play the game of kalah, and it was demonstrated that the M \& Nprocedure is significantly superior to the mini-max procedure. The statistical significance of important conclusions is given. Since information on statistical significance has often been lacking in papers on computer experiments in the artificial intelligence field, these experiments can perhaps serve as a model for future work.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + corpsource = "Education Welfare, Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "arg; artificial intelligence; automata theory; computers; game theory; heuristic programming; optimisation; programming; trees (mathematics)", +} + +@Article{Batson:1970:MSS, + author = "A. Batson and Shy-Ming M. Ju and D. C. Wood", + title = "Measurements of Segment Size", + journal = j-CACM, + volume = "13", + number = "3", + pages = "155--159", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Distributions of segment sizes measured under routine operating conditions on a computer system which utilizes variable sized segments (the Burroughs B5500) are discussed. The most striking feature of the measurements is the large number of small segments-about 60\% of the segments in use contain less than 40 words. Although the results are certainly not installation independent, and although they are particularly influenced by features of the B5500 ALGOL system, they should be relevant to the design of new computer systems, especially with respect to the organization of paging schemes.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Univ. Virginia, Charlottesville, VA, USA", + journalabr = "Commun ACM", + keywords = "computers; dynamic memory management; operating systems; storage allocation", +} + +@Article{Watson:1970:ANM, + author = "G. A. Watson", + title = "On an Algorithm for Nonlinear Minimax Approximation", + journal = j-CACM, + volume = "13", + number = "3", + pages = "160--162", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90.50 (65.00)", + MRnumber = "44\#3694", + mrreviewer = "R. W. Cottle", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Certain nonlinear minimax approximation problems are characterized by properties which permit the application of special algorithms, mainly, based on the exchange algorithms of E. Y. Remes (1934, 1935), for their solution. The application to problems of this type of a general nonlinear algorithm due to M. R. Osborne and G. A. Watson (1969) is considered. Examples are given to illustrate that this algorithm can give satisfactory results and, in particular, can successfully solve problems which lead to difficulties with the more conventional specialist methods.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + corpsource = "Australian Nat. Univ., Canberra, Australia", + journalabr = "Commun ACM", + keywords = "linear programming; mathematics; minimax approximation; nonlinear approximation; numerical methods; optimisation; THO", +} + +@Article{Schweikert:1970:CEI, + author = "D. G. Schweikert", + title = "A Comparison of Error Improvement Estimates for Adaptive Trapezoid Integration", + journal = j-CACM, + volume = "13", + number = "3", + pages = "163--166", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.55", + MRnumber = "44\#7751", + mrreviewer = "R. E. Barnhill", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Various simple choices of error improvement estimates for the trapezoid rule are studied to demonstrate a comparison procedure which is relatively independent of the profusion of adaptive search and stopping strategies. Comparisons are based on $x^r1$; the inclusion of the noninteger powers makes this more realistic than the usual polynomial based comparison. Behavior near the singularity was found to be the dominant factor, and a new estimate, based on a constant curvature assumption and parametric differences, was considered slightly better than the other choices considered.", + acknowledgement = ack-nhfb, + classcodes = "C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation)", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "adaptive integration; error analysis; error improvement estimate; integration; mathematics; nonpolynomial error criteria; numerical methods; re; trapezoid rule", +} + +@Article{Schwarcz:1970:DQA, + author = "Robert M. Schwarcz and John F. Burger and Robert F. Simmons", + title = "A Deductive Question Answerer for Natural Language Inference", + journal = j-CACM, + volume = "13", + number = "3", + pages = "167--183", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "The question-answering aspects of the Protosynthex III prototype language processing system are described and exemplified in detail. The system is written in LISP 1. 5 and operates on the Q-32 time-sharing system. The system's data structures and their semantic organization, the deductive question-answering formalism of relational properties and complex-relation-forming operators, and the question-answering procedures which employ these features in their operation are all described and illustrated. Examples of the system's performance and of the limitations of its question-answering capability are presented and discussed. It is shown that the use of semantic information in deductive question answering greatly facilitates the process, and that a top-down procedure which works from question to answer enables effective use to be made of this information.", + acknowledgement = ack-nhfb, + annote = "Deductive inference driven by English: PROTOSYNTHEX III", + classcodes = "C7820 (Humanities computing)", + corpsource = "System Dev. Corp., Santa Monica, CA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; automata theory; computational linguistics", + keywords = "artificial intelligence; computational linguistics; information retrieval; language translation and linguistics", +} + +@Article{Cardenas:1970:PLP, + author = "A. F. Cardenas and W. J. Karplus", + title = "{PDEL}, a Language for Partial Differential Equations", + journal = j-CACM, + volume = "13", + number = "3", + pages = "184--191 (or 184--190??)", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Conventional computer methods available to solve continuous system problems characterized by partial differential equations are very time-consuming and cumbersome. A convenient, easy to learn and to use, high level problem oriented language to solve and study partial differential equation problems has been designed; a practical translator for the language has also been designed, and a working version of it has been constructed for a significant portion of the language. This Partial Differential Equation Language, PDEL, is outlined, and the highlights of the translator are briefly summarized. PDEL can handle a large variety of fields. Time-dependent and time-independent fields can be defined. Any size of grid can be used to approximate regular and irregular geometries. Linear, nonlinear, uniform and nonuniform fields can be treated.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "computers; differential equations; mathematics; problem oriented languages", +} + +@Article{Levine:1970:AAS, + author = "M. J. Levine and S. M. Swanson", + title = "{ACM} Algorithm 377: Symbolic Expansion of Algebraic Expressions", + journal = j-CACM, + volume = "13", + number = "3", + pages = "191--192", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "algebra; subroutines", + xxauthor = "J. L. Levine", +} + +@Article{Kailas:1970:AMC, + author = "M. V. Kailas", + title = "Another method of converting from hexadecimal to decimal", + journal = j-CACM, + volume = "13", + number = "3", + pages = "193--193", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + keywords = "digital arithmetic", +} + +@Article{Pager:1970:NSP, + author = "D. Pager", + title = "A number system for the permutations", + journal = j-CACM, + volume = "13", + number = "3", + pages = "193--193", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Hawaii, Honolulu, HI, USA", + keywords = "number theory", +} + +@Article{Dempster:1970:CPA, + author = "J. R. H. Dempster", + title = "Comment on a Paging Anomaly", + journal = j-CACM, + volume = "13", + number = "3", + pages = "193--194", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Univ. British Columbia, Vancouver, BC, Canada", + keywords = "computation theory; demand paging; paging machines; replacement algorithm; storage allocation", +} + +@Article{Maurer:1970:NCI, + author = "H. A. Maurer", + title = "A Note on the Complement of Inherently Ambiguous Context-Free Languages", + journal = j-CACM, + volume = "13", + number = "3", + pages = "194--194", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. Calgary, Alta., Canada", + keywords = "ambiguity; bounded language; Chomsky-language; complement; context-free language; formal languages; inherent ambiguity; phrase structure language; production system; type 2 language", +} + +@Article{Hsiao:1970:CFS, + author = "D. K. Hsiao and F. D. Harary", + title = "Corrigenda: {``A Formal System for Information Retrieval from Files''}", + journal = j-CACM, + volume = "13", + number = "3", + pages = "266--266", + month = mar, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Dec 26 18:33:42 1995", + note = "See \cite{Hsiao:1970:FSI}.", +} + +@Article{DeSalvio:1970:CCI, + author = "A. J. DeSalvio and J. G. Purdy and J. Rau", + title = "Creation and Control of Internal Data Bases Under a {Fortran} Programming Environment", + journal = j-CACM, + volume = "13", + number = "4", + pages = "211--215", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method is described for the definition of a user's COMMON structure and the automatic generation of the necessary COMMON, DIMENSION, EQUIVALENCE, and type declarations for each of the user's routines. The definition for the COMMON is contained in an easy to modify form, thus allowing the control of general communications of data between routines. The described system has been implemented on the IBM 7094, CDC 6000 series, and the IBM 360. The method has proved to be invaluable for the definition and control of COMMON in many large-scale programs.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + corpsource = "TRW Systems, Redondo Beach and Sunnyvale, CA, USA", + journalabr = "Commun ACM", + keywords = "computers; data handling; data structures; FORTRAN", +} + +@Article{Mills:1970:SDP, + author = "H. D. Mills", + title = "Syntax-Directed Documentation for {PL360}", + journal = j-CACM, + volume = "13", + number = "4", + pages = "216--222", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The language PL360, together with its phrase structure grammar, is used as a concrete basis for illustrating an idea called syntax-directed documentation. This idea is-to use the phrase structure of a program to define the structure of a formal documentation for that program; to use the syntactic types and identifiers in the resulting structure to trigger the automatic formation of questions to the programmer, whose answers will become part of that documentation; and to provide automatic storage and retrieval facilities so that other programmers who want to understand or modify the index in various ways by syntactic types and objects. A small PL360 program, already found in the literature, is worked out as an example.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", + corpsource = "IBM, Gaithersburg, MD, USA", + journalabr = "Commun ACM", + keywords = "computers; computers, programming; documentation; procedure oriented languages; Program and system", +} + +@Article{Bayer:1970:SCC, + author = "Rudolf Bayer and Christoph Witzgall", + title = "Some Complete Calculi for Matrices", + journal = j-CACM, + volume = "13", + number = "4", + pages = "223--237", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + abstract = "A matrix calculus is introduced with the intention of developing data structures suitable for a high level algorithmic language for mathematical programming. It is shown how the special structure of matrices can be described and utilized for efficient computing by saving memory space and superfluous operations. Sequences of matrices (and sequences of sequences of matrices) are considered, and matrix operators are extended to sequence operators and cumulative operators. Algorithms are given which use symbol manipulation of matrix expressions so as to find the forms best suited for computation. These forms are called normalforms. Several completeness results are obtained in the sense that for each expression an equivalent expression in normal form can be found within a specified calculus.", + acknowledgement = ack-nhfb, + checked = "29 June 1993", + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + corpsource = "Boeing Sci. Res. Labs., Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "algorithmic languages; computers; computers, programming; data structures; mathematical; mathematics; matrix algebra; programming", +} + +@Article{BrinchHansen:1970:NMS, + author = "P. {Brinch Hansen}", + title = "The Nucleus of a Multiprogramming System", + journal = j-CACM, + volume = "13", + number = "4", + pages = "238--241, 250", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + abstract = "The philosophy and structure is described of a multiprogramming system that can be extended with a hierarchy of operating systems to suit diverse requirements of program scheduling and resource allocation. The system nucleus simulates an environment in which program execution and input\slash output are handled uniformly as parallel, cooperating processes. A fundamental set of primitives allows the dynamic creation and control of a hierarchy of processes as well as the communication among them.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "A/S Regnecentralen, Copenhagen, Denmark", + journalabr = "Commun ACM", + keywords = "computers; computers, time sharing; operating systems", + keywords = "multiprogramming", +} + +@Article{Eastman:1970:RSP, + author = "C. M. Eastman", + title = "Representations for Space Planning", + journal = j-CACM, + volume = "13", + number = "4", + pages = "242--250", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Problems involving the arrangement of objects in two-or three-space where the objective function primarily consists of derivatives of the distance between objects or their arrangement are called space planning problems. The representational requirements for this problem area are defined and compared with current computer graphic languages. Four alternative data structures that allow automated space planning are described and compared.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer-aided design; computers; computers, language; data structures; design automation; graphic methods; graphics", +} + +@Article{Pomeranz:1970:CMP, + author = "J. E. Pomeranz and R. L. {Weil, Jr.}", + title = "The cyclical majority problem", + journal = j-CACM, + volume = "13", + number = "4", + pages = "251--254", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The unsolved combinational problem of the cyclical majority is presented and some mew, simulated results for 3, 4, 5,\ldots{}, 40 issues and 3, 5, 7,\ldots{}, 37 judges are reported. The method devised for simulating the voting process to estimate the probabilities does not solve the problem, but appears much more efficient than one previous simulation and more accurate than another.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics)", + corpsource = "Univ. Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "combinatorial mathematics; computers, simulation; simulation; statistical methods", +} + +@Article{Nilson:1970:CSU, + author = "E. N. Nilson", + title = "Cubic Splines on Uniform Meshes", + journal = j-CACM, + volume = "13", + number = "4", + pages = "255--258", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.20", + MRnumber = "44\#1189", + mrreviewer = "C. A. Hall", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A very simple procedure is presented for constructing cubic splines, periodic or nonperiodic, on uniform meshes. Arcs of two cubics suffice to construct a basis of cardinal splines. An algorithm is given which requires only minimal storage and computation and permits easy trade-off of one against the other. The application of these devices is of fundamental importance in the area of computer graphics where substantial savings in computing time and storage requirements have special significance.", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Pratt and Whitney Aircraft, East Hartford, CT, USA", + journalabr = "Commun ACM", + keywords = "cardinal splines; computers; mathematics; numerical methods; polynomials; simple spline representation; uniform mesh splines", +} + +@Article{Pankiewicz:1970:AAD, + author = "W. Pankiewicz", + title = "{ACM} Algorithm 378: Discretized {Newton}-like Method for Solving a System of Simultaneous Nonlinear Equations", + journal = j-CACM, + volume = "13", + number = "4", + pages = "259--260", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4150 (Nonlinear and functional equations); C7300 (Natural sciences computing)", + keywords = "nonlinear equations; numerical methods; subroutines", +} + +@Article{Lyness:1970:AAS, + author = "J. N. Lyness", + title = "{ACM} Algorithm 379: {SQUANK (Simpson Quadrature Used Adaptively-Noise Killed)}", + journal = j-CACM, + volume = "13", + number = "4", + pages = "260--263 (or 260--262??)", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7300 (Natural sciences computing)", + corpsource = "Argonne Nat. Lab., IL, USA", + keywords = "integration; subroutines", +} + +@Article{Heess:1970:CPW, + author = "W. F. {Heess, Jr.}", + title = "Comments on a paper by {Wallace} and {Mason}", + journal = j-CACM, + volume = "13", + number = "4", + pages = "264--265", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + keywords = "multiprogramming; storage allocation", +} + +@Article{Smith:1970:CMU, + author = "J. L. Smith", + title = "Comment on multiprogramming under a page on demand strategy", + journal = j-CACM, + volume = "13", + number = "4", + pages = "265--265", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "CSIRO, Canberra City, ACT, Australia", + keywords = "multiprogramming", +} + +@Article{deVries:1970:CLM, + author = "Ronald C. {de Vries}", + title = "Comment on {Lawler}'s Multilevel {Boolean} minimization", + journal = j-CACM, + volume = "13", + number = "4", + pages = "265--266", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68.00 (94.00)", + MRnumber = "44\#7801", + mrreviewer = "E. Maliszewski", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4230 (Switching theory)", + corpsource = "Univ. New Mexico, Albuquerque, NM, USA", + keywords = "generalized prime implicants; incompletely specified functions; minimal forms; minimization; multilevel logic design", + keywords = "minimisation of switching nets", +} + +@Article{Knight:1970:ACP, + author = "K. R. Knight", + title = "An {Algol} construction for procedures as parameters of procedures", + journal = j-CACM, + volume = "13", + number = "4", + pages = "266--266", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. Surrey, Guildford, UK", + keywords = "ALGOL; programming", +} + +@Article{Wirth:1970:CMM, + author = "N. Wirth", + title = "Corrigenda: {``On Multiprogramming, Machine Coding, and Computer Organization}''", + journal = j-CACM, + volume = "13", + number = "4", + pages = "266--266", + month = apr, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:23:53 1997", + note = "See \cite{Wirth:1969:MMC}.", +} + +@Article{Hodes:1970:PSO, + author = "L. Hodes", + title = "Programming System for the On-Line Analysis of Biomedical Images", + journal = j-CACM, + volume = "13", + number = "5", + pages = "279--283, 286", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A preliminary description of the software for a computer-display system is given with special emphasis on the man-machine interaction. This system is intended for a wide variety of biomedical applications. As an example, the methods are applied to the karyotyping of chromosomes. The system is separated into four programming tasks-picture transformations, file maintenance, picture structuring, and display management. Picture structuring is considered as the vehicle for man-machine communication. A prototype data format for pictures, called a picture-form, is developed. Structure operators are defined which manipulate picture-forms to produce new picture-forms. Many of the ideas are taken from the symbolic mathematical laboratory at MIT conceived by M. Minsky.", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Dept. Health, Education Welfare, Bethasda, MD, USA", + journalabr = "Commun ACM", + keywords = "bioengineering, computer applications; biology; computers; computers, programming; data handling; data reduction and analysis; graphics; image processing; machine systems; man-; medicine; pattern recognition", +} + +@Article{Sitton:1970:OGA, + author = "G. A. Sitton", + title = "Operations on Generalized Arrays with the {Genie} Compiler", + journal = j-CACM, + volume = "13", + number = "5", + pages = "284--286", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Operations on vectors, matrices, and higher dimensional storage arrays are standard features of most compilers today. The elements of such structures are usually restricted to be scalars For many sophisticated applications this restriction can impose cumbersome data representations. An efficient system has been devised and implemented which allows the elements of multidimensional arrays to themselves be multidimensional arrays. This system was developed from a storage structure in which the location, length, and content of each array is described by a codeword which can be interpreted by the system. Codewords may describe arrays containing more codewords, thus providing all needed descriptive information for hyperstructures of any form.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors)", + corpsource = "Rice Univ., Houston, TX, USA", + journalabr = "Commun ACM", + keywords = "computers; computers, operating systems; data handling; data structures; E P; matrix operations; multidimensional arrays; program compilers; programming", +} + +@Article{Vere:1970:TEE, + author = "S. Vere", + title = "Translation Equations (Errata)", + journal = j-CACM, + volume = "13", + number = "5", + pages = "286--286", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:28:27 1997", + note = "See \cite{Vere:1970:TE}.", + acknowledgement = ack-nhfb, +} + +@Article{Sasser:1970:ASS, + author = "W. E. Sasser and D. S. Burdick and D. A. Graham and T. H. Naylor", + title = "Application of Sequential Sampling to Simulation. an Example Inventory Model", + journal = j-CACM, + volume = "13", + number = "5", + pages = "287--296", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Four different sequential sampling procedures are applied to the analysis of data generated by a computer simulation experiment with a multi-item inventory model. For each procedure the cost of computer time required to achieve given levels of statistical precision is calculated. Also the cost of computer time using comparable fixed sample size methods is calculated. The computer costs of fixed sample size procedures vs sequential sampling procedures are compared. Details are given for the inventory model and sampling procedures.", + acknowledgement = ack-nhfb, + classcodes = "C1220 (Simulation, modelling and identification)", + corpsource = "Duke Univ., Durham, NC, USA", + journalabr = "Commun ACM", + keywords = "computers; control; data reduction and analysis; industrial management, data processing; inventory control; modelling; sequential sampling; simulation; statistical methods; stock", +} + +@Article{Loeckx:1970:ACB, + author = "J. Loeckx", + title = "Algorithm for the Construction of Bounded-Context Parsers", + journal = j-CACM, + volume = "13", + number = "5", + pages = "297--307", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm is described which accepts an arbitrary context-free grammar and constructs a bounded-context parser for it whenever such a parser exists. The definition of a context-free grammar and the working of a bounded-context parser are recalled. The notion of reduction class for a context-free grammar is then introduced and its connection with the structure of a bounded-context parser is indicated. Next, pushdown automata which generate the different reduction classes of a context-free grammar are defined. Finally, the algorithm is described; it essentially carries out an exhaustive study of all possible runs of the pushdown automata generating the reduction classes. The utility of the algorithm is discussed in the light of the experience gained from its use in compiler design.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "MBLE Res. Lab., Brussels, Belgium", + journalabr = "Commun ACM", + keywords = "automata theory; compilers; computational linguistics; computers, language; context-free grammars; formal languages; grammars; low", +} + +@Article{Reynolds:1970:GST, + author = "John C. Reynolds", + title = "{GEDANKEN} --- {A} Simple Typeless Language Based on the Principle of Completeness and the Reference Concept", + journal = j-CACM, + volume = "13", + number = "5", + pages = "308--319", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + abstract = "In this experimental programming language, any value which is permitted in some context of the language is permissible in any other meaningful context. In particular, functions and labels are permissible results of functions and values of variables. Assignment and indirect addressing are formalized by introducing values, called references, which in turn possess other values. The assignment operation always affects the relation between some reference and its values. All composed data structures are treated as functions. Type declarations are not permitted. Any data structure may be implicit; i.e., it may be specified by giving an arbitrary algorithm for computing or accessing its components. The existence of label variables permits the construction of coroutines, quasi-parallel processes, and other unorthodox control mechanisms. A variety of programming examples illustrates the generality of the language. Limitations and possible extensions are discussed briefly.", + acknowledgement = ack-nhfb, + checked = "4 September 1990", + classcodes = "C6140D (High level languages)", + corpsource = "Argonne Nat. Lab., IL, USA", + journalabr = "Commun ACM", + keywords = "computers; data structures; gedanken; procedure oriented languages; programming languages", +} + +@Article{Crespi-Reghizzi:1970:LTG, + author = "S. Crespi-Reghizzi and R. Morpurgo", + title = "A language for treating graphs", + journal = j-CACM, + volume = "13", + number = "5", + pages = "319--323", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A language for the representation of graphs is described, and the formulation of graph operations such as node and\slash or link deletion or insertion, union, intersection, comparison, and traversal of graphs is given. Graphs are represented by linked lists. The language is syntactically defined as an extension to ALGOL 60, and it is translated into ALGOL by means of a syntax-driven compiler. Application areas for this language are operation research, network problems, control theory, traffic problems, etc.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + corpsource = "Politecnico di Milano, Italy", + journalabr = "Commun ACM", + keywords = "automatic control, analysis; computers; data handling; data structures; electric circuits, analysis; graph theory; operations research; procedure oriented languages", +} + +@Article{Laflin:1970:AAS, + author = "S. Laflin and M. A. Brebner", + title = "{ACM} Algorithm 380: In-situ Transposition of a Rectangular Matrix", + journal = j-CACM, + volume = "13", + number = "5", + pages = "324--326 (or 324--325??)", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Univ. Birmingham, UK", + keywords = "matrix algebra; subroutines", +} + +@Article{Knop:1970:AAR, + author = "R. E. Knop", + title = "{ACM} Algorithm 381: Random Vectors Uniform In Solid Angle", + journal = j-CACM, + volume = "13", + number = "5", + pages = "326--326", + month = may, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Rutgers Univ., New Brunswick, NJ, USA", + keywords = "random number generation; subroutines", +} + +@Article{Elder:1970:FVI, + author = "H. A. Elder", + title = "On the Feasibility of Voice Input to an On-Line Computer Processing System", + journal = j-CACM, + volume = "13", + number = "6", + pages = "339--346", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An on-line digital computer processing system is considered in which an ordinary telephone is the complete terminal device, input to the computer being provided as a sequence of spoken words, and output to the user being audio responses from the machine. The feasibility of implementing such a system with a FORTRAN-like algebraic compiler as the object processor is considered. Details of a specific word recognition program are given. This technique \ldots{} between each input word. Experimental results are presented giving error rates for different experimental conditions as well as the machine resources required to accommodate several users at a time. The results show that at this time it is both economically and logically feasible to handle at least 40 users at a time with an IBM 360\slash 65 computer.", + acknowledgement = ack-nhfb, + classcodes = "C5590 (Other computer peripheral equipment)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "computer peripheral equipment; computers; computers, input-output device; computers, pattern recognition; data processing; man-machine interfaces; online operation; recognition; speech; speech, recognition; telephony; voice input", +} + +@Article{Muthukrishnan:1970:CDT, + author = "C. R. Muthukrishnan and V. Rajaraman", + title = "On the Conversion of Decision Tables to Computer Programs", + journal = j-CACM, + volume = "13", + number = "6", + pages = "347--351", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The use of execution time diagnostics in pinpointing ambiguities in decision tables is discussed. It is pointed out that any attempt at resolving ambiguities at compile time will, in general, be impossible. It is shown that, as a consequence, three methods of converting decision tables to programs are inadequate in regard to ambiguity detection. Two algorithms for programming decision tables whose merits are simplicity of implementation and detection of ambiguities at execution time are presented. The first algorithm is for limited entry decision tables and clarifies the importance of proper coding of the information in the decision table. The second algorithm programs a mixed entry decision table directly without going through the intermediate step of conversion to a limited entry form, thereby resulting in storage economy. A comparison of the algorithms and others proposed in the literature is made. Some features of a decision table to FORTRAN IV translator developed for the IBM 7044 are given.", + acknowledgement = ack-nhfb, + classcodes = "C6100 (Software techniques and systems)", + corpsource = "Indian Inst. Technol., Kanpur, India", + journalabr = "Commun ACM", + keywords = "computers; decision tables; operations research; programming", +} + +@Article{Grimes:1970:SRC, + author = "J. E. Grimes", + title = "Scheduling to Reduce Conflict in Meetings", + journal = j-CACM, + volume = "13", + number = "6", + pages = "351--352", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Conflicts in scheduling can be treated as defining an undirected linear graph independently of the relation of the activities in conflict to additional constraints of time and space. Each connected component of such a graph, which can be found by an algorithm described by S. C. Gotlieb and D. C. Corneil, corresponds to a set of events that must be scheduled at different times. Applications are discussed in scheduling the presentation of papers at meetings and scheduling examinations.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "co; computers; graph theory; programming; undirected linear graphs", +} + +@Article{Frantz:1970:PPA, + author = "D. G. Frantz", + title = "A {PL\slash} 1 program to assist the comparative linguist", + journal = j-CACM, + volume = "13", + number = "6", + pages = "353--356", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Univ. Alberta, Arrowwood, Alta., Canada", + keywords = "language translation and linguistics", +} + +@Article{Damerau:1970:APC, + author = "F. J. Damerau", + title = "Automatic Parsing for Content Analysis", + journal = j-CACM, + volume = "13", + number = "6", + pages = "356--360", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Although automatic syntactic and semantic analysis is not yet possible for all of an unrestricted natural language text, some applications, of which content analysis is one, do not have such a stringent coverage requirement. Preliminary studies show that the Harvard Syntactic Analyzer can produce correct and unambiguous identification of the subject and object of certain verbs for approximately half of the relevant occurrences. This provides a degree of coverage for content analysis variables which compares favorably to manual methods, in which only a sample of the total available text is normally processed.", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "IBM, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computers, data processing; content analysis; E L; information storage and retrie; language translation and linguistics; linguistics; natural language processing; syntactic analysis", +} + +@Article{Linz:1970:AFP, + author = "Peter Linz", + title = "Accurate Floating-Point Summation", + journal = j-CACM, + volume = "13", + number = "6", + pages = "361--362", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.25", + MRnumber = "44\#3468", + mrreviewer = "R. P. Brent", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1970.bib", + abstract = "This paper describes an alternate method for summing a set of floating-point numbers. Comparison of the error bound for this method with that of the standard summation method shows that it is considerably less sensitive to propagation of round-off error.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "New York Univ., NY, USA", + descriptors = "Simulation; statistics; numeric calculation;", + journalabr = "Commun ACM", + keywords = "computers, data processing; floating point arithmetic; floating-point addition; mathematics; numerical methods; round-off error; round-off errors; round-off propagation; summation", + keywords = "digital arithmetic", +} + +@Article{Hillstrom:1970:CSA, + author = "K. E. Hillstrom", + title = "Comparison of Several Adaptive Newton-Cotes Quadrature Routines in Evaluating Definite Integrals with Peaked Integrands", + journal = j-CACM, + volume = "13", + number = "6", + pages = "362--365", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "It is shown, by numerical experiment only, that there are certain quadratures for which the rate of convergences increases with the use of higher degree Newton-Cotes rules, used adaptively. The advantage of adaptive methods over a nonadaptive rule in approximating integrals having peaked integrands is demonstrated. The performance of five different adaptive quadrature schemes, based on Newton-Cotes (2N plus 1) point rules (N equals 1, 2, 3, 4, 5), in approximating a set of definite integrals is compared.", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation)", + corpsource = "Argonne Nat. Lab., IL, USA", + journalabr = "Commun ACM", + keywords = "computers, data processing; convergence of numerical methods; integral evaluation; integration; mathematics; methods; numerical; numerical integration; numerical methods; quadrature schemes", +} + +@Article{Stewart:1970:IOS, + author = "G. W. Stewart", + title = "Incorporating Origin Shifts into the {QR} Algorithm for Symmetric Tridiagonal Matrices", + journal = j-CACM, + volume = "13", + number = "6", + pages = "365--367", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "The QR iteration for the eigenvalues of a symmetric tridiagonal matrix can be accelerated by incorporating a sequence of origin shifts. The origin shift may be either subtracted directly from the diagonal elements of the matrix or incorporated by means of an implicit algorithm. Both methods have drawbacks-the direct method can unnecessarily degrade small eigenvalues, while the implicit method can effectively loose the shift and thereby retard the convergence. A new method which has neither drawback is presented. Both the algorithm proposed here and the implicit algorithm are safer than the explicit algorithm. The implicit algorithm requires somewhat less computation, but the new algorithm will give faster convergence in some cases, an important consideration when eigenvectors are being calculated.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "Univ. Tex., Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "computers, data processing; convergence of numerical methods; eigenfunctions; eigenvalues; eigenvalues and; eigenvectors; iterative methods; mathematics; matrix algebra; origin shifts; QR method; symmetric tridiagonal matrix; tridiagonal matrices", + kwds = "nla, eig, QR algorithm, symmetric matrix, tridiagonal matrix", +} + +@Article{Chase:1970:AAC, + author = "P. J. Chase", + title = "{ACM} Algorithm 382: Combinations of ${M}$ Out of ${N}$ Objects", + journal = j-CACM, + volume = "13", + number = "6", + pages = "368--368", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Dept. Defense, Fort Meade, MD, USA", + keywords = "algebra; subroutines", +} + +@Article{Chase:1970:AAP, + author = "P. J. Chase", + title = "{ACM} Algorithm 383: Permutations of a Set with Repetitions", + journal = j-CACM, + volume = "13", + number = "6", + pages = "368--369", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Dept. Defense, Fort Meade, MD, USA", + keywords = "algebra; subroutines", +} + +@Article{Stewart:1970:AAE, + author = "G. W. Stewart", + title = "{ACM} Algorithm 384: Eigenvalues and Eigenvectors of a Real Symmetric Matrix [{F2}]", + journal = j-CACM, + volume = "13", + number = "6", + pages = "369--371", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See errata \cite{Stewart:1970:EAA}.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C7300 (Natural sciences computing)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "eigenvalues; eigenvalues and eigenfunctions; eigenvectors; matrix algebra; QR algorithm; real symmetric matrix; subroutines", + kwds = "nla, eig, QR algorithm, symmetric matrix", +} + +@Article{London:1970:CAM, + author = "R. L. London", + title = "Certification of Algorithm 245 ({M1}) Treesort 3: Proof of Algorithms --- {A} New Kind of Certification", + journal = j-CACM, + volume = "13", + number = "6", + pages = "371--374", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:26:39 1997", +} + +@Article{Chandler:1970:RS, + author = "J. P. Chandler and W. C. Harrison", + title = "{R201}--{SHELLSORT}", + journal = j-CACM, + volume = "13", + number = "6", + pages = "373--374", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:28:53 1997", + keywords = "digital computer sorting; minimal storage sorting; sorting", +} + +@Article{Codd:1970:RMD, + author = "E. F. Codd", + title = "A Relational Model of Data for Large Shared Data Banks", + journal = j-CACM, + volume = "13", + number = "6", + pages = "377--387", + month = jun, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib", + note = "Also published in/as: `Readings in Database Systems', M. Stonebraker, Morgan-Kaufmann, 1988, pp. 5--15", + abstract = "Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation). A prompting service which supplies such information is not a satisfactory solution. Activities of users at terminals and most application programs would remain unaffected when the internal representation of data is changed and even when some aspects of the external representation are changed. Changes in data representation will often be needed as a result of changes in query, update, and report traffic and natural growth in the types of stored information. Existing noninferential, formatted data systems provide users with tree-structured files or slightly more general network models of the data. In Section 1, inadequacies of these models are discussed. A model based on $n$-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced. In Section 2, certain operations on relations (other than logical inference) are discussed and applied to the problems of redundancy and consistency in the user's model.", + acknowledgement = ack-nhfb, + annote = "Shows problems of hierarchical data organization, presents a non-hierarchical `normal' structure, and discusses languages for describing relations of such normal structures.", + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "composition; computers, data storage; consistency; data bank; data banks; data base; data integrity; data organization; data structure; data structures; derivability; file organisation; hierarchies of data; information retrieval; information storage and retrie; join; networks of data; NOI; predicate calculus; redundancy; relations; retrieval language; security; systems", + review = "ACM CR 8905-0329", +} + +@Article{Grant:1970:ICG, + author = "C. A. Grant", + title = "An interactive command generating facility", + journal = j-CACM, + volume = "13", + number = "7", + pages = "403--406", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A facility to permit conversationally controlled tasks to be executed in a noninteractive environment is proposed. A means by which programs can generate interactive time-sharing commands and receive the corresponding output response is presented. The commands will be invoked as if they had been typed at a console keyboard. It is argued that this facility will help overcome some of the current limitations in man-computer communication. A set of functions to accomplish the above which could be embedded into any string processing language is suggested, and necessary information pertinent to implementation of the facility on existing time-sharing systems is given.", + acknowledgement = ack-nhfb, + classcodes = "C6140B (Machine-oriented languages); C6150J (Operating systems)", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "computers; computers, time sharing; interactive computing; machine oriented languages; operating systems; time-sharing systems", +} + +@Article{Wilkes:1970:CAM, + author = "M. A. Wilkes", + title = "Conversational Access to a 2048-Word Machine", + journal = j-CACM, + volume = "13", + number = "7", + pages = "407--414", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "LAP6 is an on-line system running on 2048- word LINC which provides full facilities for text editing, automatic filing and file maintenance, and program preparation and assembly. It focuses on the preparation and editing of continuously displayed 23,040- character text strings (manuscripts) which can be positioned anywhere by the user and edited by simply adding and deleting lines as though working directly on an elastic scroll. Other features are available through a uniform command set which itself can be augmented by the user. The machine, although small, aids program design by providing display scope and premarked randomly addressable LINC tapes as standard items, in an environment similar to that of a sophisticated terminal. The tapes are logically similar to a disk. Priority was given to the design of efficient tape algorithms to minimize the limitations of the small memory. Techniques developed for handling scroll editing, filing, and the layered system structure are outlined.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Washington Univ., St. Louis, MS, USA", + journalabr = "Commun ACM", + keywords = "computers; interactive computing; OD; online operation; operating systems; operating systems (computers); text editing", +} + +@Article{Waite:1970:MPS, + author = "W. M. Waite", + title = "The mobile programming system: {STAGE} 2", + journal = j-CACM, + volume = "13", + number = "7", + pages = "415--421", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "STAGE 2 is the second level of a bootstrap sequence which is easily implemented on any computer. It is a flexible, powerful macro processor designed specifically as a tool for constructing machine-independent software. The features provided by STAGE 2 are summarized, and the implementation techniques which have made it possible to have STAGE 2 running on a new machine with less than one man-week of effort are discussed. The approach has been successful on over 15 machines of widely varying characteristics.", + acknowledgement = ack-nhfb, + classcodes = "C6140E (Other programming languages)", + corpsource = "Univ. Colorado, Boulder, CO, USA", + journalabr = "Commun ACM", + keywords = "bootstrapping; computers; macro processors; programming languages; system", +} + +@Article{Bloom:1970:STT, + author = "Burton H. Bloom", + title = "Space\slash Time Trade-offs in Hash Coding with Allowable Errors", + journal = j-CACM, + volume = "13", + number = "7", + pages = "422--426", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Trade-offs among certain computational factors in hash coding are analyzed. The paradigm problem considered is that of testing a series of messages one-by-one for membership in a given set of messages. Two new hash-coding methods are examined and compared with a particular conventional hash-coding method. The computational factors considered are the size of the hash area (space), the time required to identify a message as a nonmember of the given set (reject time), and an allowable error frequency. The new methods are intended to reduce the amount of space required to contain the hash-coded information from that associated with conventional methods. The reduction in space is accomplished by exploiting the possibility that a small fraction of errors of commission may be tolerable in some applications, in particular, applications in which a large amount of data is involved and a core resident hash area is consequently not feasible using conventional methods. An example is discussed which illustrates possible areas of application for the new method.", + acknowledgement = ack-nhfb, + annote = "Phantom use of a direct access list.", + classcodes = "C6130 (Data handling techniques)", + corpsource = "Computer Usage Co. Newton Upper Falls, MA, USA", + journalabr = "Commun ACM", + keywords = "bit vector filter CACM; codes; computers; computers, errors; hash coding; inf", +} + +@Article{Coffman:1970:FSU, + author = "E. G. {Coffman, Jr.} and J. Eve", + title = "File Structures Using Hashing Functions", + journal = j-CACM, + volume = "13", + number = "7", + pages = "427--432, 436", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A general method of file structuring is proposed which uses a hashing function to define tree structure. Two types of such trees are examined, and their relation to trees studied in the past is explained. Results for the probability distributions of path lengths are derived and illustrated.", + acknowledgement = ack-nhfb, + annote = "Tree structure with branching based on bit values of key code.", + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Newcastle upon Tyne, UK", + journalabr = "Commun ACM", + keywords = "computers; data processing; data structures; file organization; hash coding; information storage and retrie; tree structures; trees (mathematics)", +} + +@Article{Bradley:1970:ABG, + author = "Gordon H. Bradley", + title = "Algorithm and Bound for the Greatest Common Divisor of $n$ Integers", + journal = j-CACM, + volume = "13", + number = "7", + pages = "433--436", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "10A30", + MRnumber = "45 3313", + mrreviewer = "A. M. Cohen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new version of the Euclidean algorithm for finding the greatest common divisor of $n$ integers $a(i)$ and multipliers $x(i)$ such that $\mbox{gcd} = x(1)a(1) + \ldots + x(n)a(n)$ is presented. The number of arithmetic operations and the number of storage locations are linear in $n$. A theorem of Lame that gives a bound for the number of iterations of the Euclidean algorithm for two integers is extended to the case of $n$ integers. An algorithm to construct a minimal set of multipliers is presented. A Fortran program for the algorithm appears as Comm. ACM Algorithm 386.", + acknowledgement = ack-nhfb, + classcodes = "C4190 (Other numerical methods)", + corpsource = "Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "computers, data processing; diophantine equations; Euclidean algorithm; greatest common divisor; iterative methods; mathematics; number theory; numerical methods", +} + +@Article{Woods:1970:CSP, + author = "W. A. Woods", + title = "Context-Sensitive Parsing", + journal = j-CACM, + volume = "13", + number = "7", + pages = "437--445", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents a canonical form for context-sensitive derivations and a parsing algorithm which finds each context-sensitive analysis once and only once. The amount of memory required by the algorithm is essentially no more than the required to store a single complete derivation. In addition, a modified version of the basic algorithm is presented which blocks infinite analyses for grammars which contain loops. The algorithm is also compared with several previous parsers for context-sensitive grammars and general rewriting systems, and the difference between the two types of analyses is discussed. The algorithm appears to be complementary to an algorithm by S. Kuno in several respects, including the space-time trade-off and the degree of context dependence involved.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computational linguistics", + keywords = "automata theory; computational linguistics; context-sensitive grammars; context-sensitive parsing; formal grammars; formal language theory; parsing; parsing algorithms; recognition algorithms", +} + +@Article{Paciorek:1970:AAE, + author = "K. A. Paciorek", + title = "{ACM} Algorithm 385: Exponential Integral ${E}_i(x)$", + journal = j-CACM, + volume = "13", + number = "7", + pages = "446--447", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7300 (Natural sciences computing)", + corpsource = "Argonne Nat. Lab., IL, USA", + keywords = "integration; subroutines", +} + +@Article{Bradley:1970:AAG, + author = "G. H. Bradley", + title = "{ACM} Algorithm 386: Greatest Common Divisor of $n$ Integers and Multipliers", + journal = j-CACM, + volume = "13", + number = "7", + pages = "447--448", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4190 (Other numerical methods); C7300 (Natural sciences computing)", + corpsource = "Yale Univ. New Haven, CT, USA", + keywords = "number theory; subroutines", +} + +@Article{Sattley:1970:CPL, + author = "K. Sattley and R. Millstein", + title = "Comments on a paper by {Lowe}", + journal = j-CACM, + volume = "13", + number = "7", + pages = "450--451", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Applied Data Res. Inc., NY, USA", + keywords = "computation theory; graph theory", +} + +@Article{Baecker:1970:NDB, + author = "H. D. Baecker", + title = "A note on data base deadlocks", + journal = j-CACM, + volume = "13", + number = "7", + pages = "451--451", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + corpsource = "Univ. Calgary, Alta., Canada", + keywords = "information retrieval", +} + +@Article{Pomeranz:1970:NAP, + author = "J. E. Pomeranz", + title = "Note on an Anomaly in Paging", + journal = j-CACM, + volume = "13", + number = "7", + pages = "451--451", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "demand paging; paging machines; replacement algorithm; storage allocation", +} + +@Article{Hunt:1970:CAA, + author = "B. R. Hunt", + title = "A Comment on Axiomatic Approaches to Programming", + journal = j-CACM, + volume = "13", + number = "7", + pages = "452--452", + month = jul, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Univ. California, Los Alamos, NM, USA", + keywords = "axiomatic method; computability and decidability; homomorphic structure in programming; programming; proofs of programs", +} + +@Article{Nielsen:1970:ACR, + author = "N. R. Nielsen", + title = "Allocation of Computer Resources. is Pricing the Answer", + journal = j-CACM, + volume = "13", + number = "8", + pages = "467--474", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The extent to which a pricing mechanism fits the mold is discussed. Inasmuch as pricing must serve as a rationing mechanism at times, consideration is given to the means by which prices can be adjusted flexibly in order to make a dynamic allocation of resources. Consideration is given to the means by which users can be insulated from the harmful effects of frequent price fluctuations. Two illustrative pricing systems are discussed in order to demonstrate the applicability of pricing in quite different environments.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers; cost accounting; digital computers; economics; industrial management; installation management; resource allocation; resources", +} + +@Article{Nagy:1970:NTH, + author = "G. Nagy and N. Tuong", + title = "Normalization Techniques for Handprinted Numerals", + journal = j-CACM, + volume = "13", + number = "8", + pages = "475--481", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A family of pattern standardization techniques based on geometrical projection is applied to a file of digitized handprinted numerals obtained from sales clerks. The principle involves transforming a quadrilateral specified in terms of the convex hull of each pattern into a square. The amount of overlap within each class of characters vs the amount between classes is used to evaluate the degree of normalization achieved with respect to other published methods including size and shear normalization through moments.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers digital, character R; computers, digital; pattern recognition; pattern recognition systems", +} + +@Article{Day:1970:FTQ, + author = "A. C. Day", + title = "Full Table Quadratic Searching for Scatter Storage", + journal = j-CACM, + volume = "13", + number = "8", + pages = "481--482", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The quadratic residue search method for hash tables avoids much of the clustering experienced with a linear search method. The simple quadratic search only accesses half the table. It has been shown that when the length of the table is a prime of the form 4n plus 3, where n is an integer, the whole table may be accessed by two quadratic searches plus a separate access for the original entry point. A search method is presented which is computationally simple, has all the advantages of the quadratic search, and yet accesses all the table in one sweep.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. Coll. London, UK", + journalabr = "Commun ACM", + keywords = "CACMA; computers; computers, data storage; hash coding; programming; table look-up; table lookup", +} + +@Article{Brawn:1970:SPE, + author = "B. S. Brawn and F. G. Gustavson and E. S. Mankin", + title = "Sorting in a Paging Environment", + journal = j-CACM, + volume = "13", + number = "8", + pages = "483--494", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "This sorting study was part of an extensive measurement project undertaken on the M44\slash 44X, an experimental paging system which was conceived and implemented at IBM Research in order to explore the virtual machine concept. The study was concerned with the implementation of sorting procedures in the context of the dynamic paging environment characteristic of virtual memory machines. Descriptions of the experimental sort programs and analysis of the performance measurement results obtained for them are presented. The insight gained from the experimental effort is used to arrive at a set of broad guidelines for writing sort programs for a paging environment.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computer, memories; computers; computers, programming; dynamic memory management; External sort virtual memory CACM; operating systems; sorting; virtual machines", +} + +@Article{Saltzer:1970:IM, + author = "J. H. Saltzer and J. W. Gintell", + title = "The instrumentation of {Multics}", + journal = j-CACM, + volume = "13", + number = "8", + pages = "495--500", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "An array of measuring tools devised to aid in the implementation of a prototype computer utility is discussed. These tools include special hardware clocks and data channels, general purpose programmed probing and recording tools, and specialized measurement facilities. Some particular measurements of interest in a system which combines demand paging with multiprogramming are described in detail. Measuring techniques described here have been directed primarily toward understanding what goes on inside the operating system, rather than on measuring `throughput' system capacity, or the characteristics of system load.", + acknowledgement = ack-nhfb, + annote = "An array of measuring tools devised to aid in the implementation of a prototype computer utility is discussed. These tools include (1) a hardware calendar clock (52 bit, 1 microsecond resolution) and an associated match register; (2) a memory reference counter; (3) an input/output channel which can be used by an attached processor to read memory; (4) a general metering package which records time spent executing selectable supervisor modules while the system is running; (5) a segment utilization metering facility which periodically probes for the current segment number; (6) a facility which records on a per-segment basis the number of missing pages and segments encountered during execution in that segment; (7) a tool which counts the number of times procedures are called; (8) a software package implemented on a PDP-8 which utilizes the special I/O channel (3); (9) the CLI, which prints out the time of day, the CPU time, and the number of times the process had to wait for a page to be brought in after every `ready message'; (10) a ring buffer containing the segment, page number, and time of day of the last 256 missing pages of the process under measurement; (11) a package to monitor the effect of the system's multiprogramming effort of an individual program; (12) a script driver implemented on a PDP-8; and (13) an internal script driver.", + classcodes = "C6150J (Operating systems)", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers; multiprogramming systems; operating distributed performance paging CACM; operating systems; operating systems (computers); performance measurement; system analysis", +} + +@Article{Ichbiah:1970:TGA, + author = "J. D. Ichbiah and S. P. Morse", + title = "A technique for generating almost optimal {Floyd-Evans} productions for precedence grammars", + journal = j-CACM, + volume = "13", + number = "8", + pages = "501--508", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Co. Internat. l'Informatique, Les Clayes-sous-Bois, France", + keywords = "computational linguistics; grammars; optimisation", +} + +@Article{Fielding:1970:AAF, + author = "K. Fielding", + title = "{ACM} Algorithm 387: Function Minimization and Linear Search", + journal = j-CACM, + volume = "13", + number = "8", + pages = "509--510", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Univ. Essex, Wivenhoe Park, Colchester, UK", + keywords = "optimisation; subroutines", +} + +@Article{Hubner:1970:AAR, + author = "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering", + title = "{ACM} Algorithm 388: {Rademacher} Function", + journal = j-CACM, + volume = "13", + number = "8", + pages = "510--511", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + keywords = "mathematics; subroutines", +} + +@Article{Hubner:1970:AAB, + author = "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering", + title = "{ACM} Algorithm 389: Binary Ordered {Walsh} Functions", + journal = j-CACM, + volume = "13", + number = "8", + pages = "511--511", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + keywords = "mathematics; subroutines", +} + +@Article{Hubner:1970:AAS, + author = "H. H{\"{u}}bner and H. Kremer and K. O. Linn and W. Schwering", + title = "{ACM} Algorithm 390: Sequency Ordered {Walsh} Functions", + journal = j-CACM, + volume = "13", + number = "8", + pages = "511--512 (or 511--511??)", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + keywords = "mathematics; subroutines", +} + +@Article{McKay:1970:AAU, + author = "J. McKay", + title = "{ACM} Algorithm 391: Unitary Symmetric Polynomials", + journal = j-CACM, + volume = "13", + number = "8", + pages = "512--512", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + keywords = "polynomials; subroutines", +} + +@Article{Anonymous:1970:ISU, + author = "Anonymous", + title = "Identification of {States of the United States} (including the {District of Columbia}) for information interchange", + journal = j-CACM, + volume = "13", + number = "8", + pages = "514--515", + month = aug, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + keywords = "code standards", +} + +@Article{Bouknight:1970:PGT, + author = "W. Jack Bouknight", + title = "A Procedure for Generation of Three-Dimensional Half-Toned Computer Graphics Presentations", + journal = j-CACM, + volume = "13", + number = "9", + pages = "527--536", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib", + abstract = "A description is given of an algorithm for producing computer generated halftone presentations of three-dimensional polygonal surface structures. The history leading to the algorithm development and then the algorithm itself are described. Results are presented and are compared with computer runs achieved by the Warnock approach. An extension of the procedure to variable position illumination sources is also given.", + acknowledgement = ack-nhfb, + classcodes = "C4190 (Other numerical methods)", + corpsource = "Univ. Illinois, Urbana, IL, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computer graphics; computers; half-tone images; hidden surface; image processing", +} + +@Article{Bracchi:1970:ISS, + author = "G. Bracchi and M. Somalvico", + title = "Interactive Software System for Computer-Aided Design. an Application to Circuit Project", + journal = j-CACM, + volume = "13", + number = "9", + pages = "537--545", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Characteristics of an interactive software system, intended to constitute an interface between designer and computer during various steps of the design process, are presented. Main emphasis is given to the description of the features of the two high level user oriented languages, operating at different levels, on which the interaction is based. The first one is IMOL, an interactive monitor language, which is designed to perform the overall and control functions of the software system. The second one is COIF, a circuit oriented graphic language, which is designed to describe, generate, and manipulate graphic problem specifications. The application to computer-aided circuit design is in particular examined.", + acknowledgement = ack-nhfb, + classcodes = "B1130B (Computer-aided circuit analysis and design); C7410D (Electronic engineering computing)", + corpsource = "Politecnico, Milano, Italy", + journalabr = "Commun ACM", + keywords = "CACMA; computer aided circuit design; computer-aided circuit design; computers; computers, graphics; computers, programming; electric circuits, analysis; language; online operation", +} + +@Article{Hirschsohn:1970:AHL, + author = "I. Hirschsohn", + title = "{AMESPLOT}, a Higher Level Data Plotting Software System", + journal = j-CACM, + volume = "13", + number = "9", + pages = "546--555", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "System described is hardware independent. Elements common to all types of data plots are outlined and the way in which these elements may be combined into a system based on simple modules is demonstrated. Basic syntax of AMESPLOT is outlined, and a brief description is given of its current utility software, consisting of `macros' to produce self-scaled plots, formal tablets of text, interspersed with subplots, map coastlines and 3-D plots. Structuring of plots from multiple, independent, self-contained subplots is described.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. California, San Diego, La Jolla, CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computer graphics; computers; computers, language; data plotting; graphics; interactive computing; problem oriented languages", +} + +@Article{Moler:1970:ISR, + author = "Cleve B. Moler and Louis P. Solomon", + title = "Integrating Square Roots", + journal = j-CACM, + volume = "13", + number = "9", + pages = "556--557", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.60", + MRnumber = "44\#1223", + mrreviewer = "J. C. Butcher", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Differential equation of the $(y')^2 = f(y)$ are difficult to integrate numerically because of the singularity at points where $f(y)$ vanishes. A technique is described for removing the singularity and evaluating the expressions through the use of standard numerical methods for second order ordinary differential equations.", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + journalabr = "Commun ACM", + keywords = "CACMA; differential equations; mathematics; numerical methods; quadrature; Y F", +} + +@Article{Kimble:1970:VGL, + author = "G. W. Kimble", + title = "A Variation of the {Goodman-Lance} Method for the Solution of Two-Point Boundary Value Problems", + journal = j-CACM, + volume = "13", + number = "9", + pages = "557--558", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.62", + MRnumber = "44\#3500", + mrreviewer = "F. Odeh", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A recently published method for the interpolative solution of nonlinear equations is improved, and applied to give a significant variation of the Goodman-Lance method for the solution of two-point boundary value problems. The resulting method applies in particular to the numerical solution of optimal control problems in the Euler-Lagrange formulation. Quantitative estimates are presented which indicate that the variation is nearly twice as fast on some problems in the latter context.", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Univ. Nevada, Reno, NV, USA", + journalabr = "Commun ACM", + keywords = "automatic control; boundary value problems; boundary-value problems; CACMA; differential equations; Goodman-Lance; interpolative solution; Newton's method; nonlinear equations; numerical methods; optimal control; optimization; ordinary differential equations; orthogonal matrices; secant method", + keywords = "boundary-value problems; differential equations", +} + +@Article{Wilson:1970:OSA, + author = "M. Wayne Wilson", + title = "Optimal Starting Approximations for Generating Square Root for Slow or No Divide", + journal = j-CACM, + volume = "13", + number = "9", + pages = "559--561 (or 559--560??)", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.50", + MRnumber = "44\#2338", + mrreviewer = "J. E. {Dennis, Jr.}", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + abstract = "On computing machines with slow or no division, it is preferable to use an iterative scheme for the square root different from the classical Heron scheme. The problem of optimal initial approximants is considered, and some optimal polynomial initial approximations are tabulated.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "IBM, Houston, TX, USA", + journalabr = "Commun ACM", + keywords = "CACMA; digital arithmetic; ele; iterative methods; mathematics; numerical methods; optimisation", +} + +@Article{Ehrlich:1970:CMI, + author = "L. W. Ehrlich", + title = "Complex Matrix Inversion Versus Real", + journal = j-CACM, + volume = "13", + number = "9", + pages = "561--562", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.35", + MRnumber = "44\#1196", + mrreviewer = "C. G. Cullen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A comparison of complex matrix with real matrix inversion is made. It is shown that the complex inversion can be up to twice as fast as the real inversion. Further, the rounding error bound for complex inversion is about one-eighth that of real, for Gaussian elimination. Using extended inner product accumulation the bound is half of the real system.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "Johns Hopkins Univ., Silver Spring, MD, USA", + journalabr = "Commun ACM", + keywords = "CACMA; complex matrix inversion; complex rounding error bounds; error bounds; GUL; inversion; mathematics; matrix algebra; matrix inversion; numerical methods; rounding error bound; rounding errors", +} + +@Article{vanEmden:1970:IEQ, + author = "M. H. {van Emden}", + title = "Increasing the Efficiency of Quicksort", + journal = j-CACM, + volume = "13", + number = "9", + pages = "563--567 (or 563--566??)", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The average asymptotic number of comparisons needed is shown to be $! n log_2 (n)$. A formula is derived expressing $!$ in terms of the probability distribution of the `bound' of a partition. Another generalization of quicksort is presented which uses a bounding interval instead of a single element as bound. This generalization turns out to be easy to implement in a computer program. A numerical approximation shows that $!$ equals 1.140 for this version of quicksort compared with 1.386 for the original. This implies a decrease in number of comparisons of 18\%; actual tests showed about 15\% saving in computing time.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Math. Centre, Amsterdam, Netherlands", + journalabr = "Commun ACM", + keywords = "CACMA; computers; programming; SAL; sorting", +} + +@Article{Smith:1970:AAS, + author = "Robert R. Smith and Dennis McCall", + title = "{ACM} Algorithm 392: Systems of Hyperbolic {P.D.E.}", + journal = j-CACM, + volume = "13", + number = "9", + pages = "567--570", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations); C7310 (Mathematics computing)", + corpsource = "US Naval Electronics Lab. Center, San Diego, CA, USA", + keywords = "boundary-value problems; partial differential equations", +} + +@Article{Abdali:1970:AAS, + author = "S. K. Abdali", + title = "{ACM} Algorithm 393: Special Series Summation with Arbitrary Precision", + journal = j-CACM, + volume = "13", + number = "9", + pages = "570--570", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "function approximation; function evaluation; subroutines", +} + +@Article{Dial:1970:AAD, + author = "R. B. Dial", + title = "{ACM} Algorithm 394: Decision Table Translation", + journal = j-CACM, + volume = "13", + number = "9", + pages = "571--573 (or 571--572??)", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + corpsource = "Univ. Washington, Seattle, WA, USA", + keywords = "decision tables; program interpreters; subroutines", +} + +@Article{Lamport:1970:CBQ, + author = "Leslie Lamport and J. R. Bell", + title = "Comment on {Bell}'s Quadratic Quotient Method for Hash Code Searching", + journal = j-CACM, + volume = "13", + number = "9", + pages = "573--574", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + keywords = "codes; data handling", +} + +@Article{Bavel:1970:NAS, + author = "Z. Bavel", + title = "On the Number of Automorphisms of a Singly Generated Automaton", + journal = j-CACM, + volume = "13", + number = "9", + pages = "574--575", + month = sep, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4220 (Automata theory)", + corpsource = "Univ. Kansas, Lawrence, KS, USA", + keywords = "automata; automorphisms; finite automata; generators; length of state; minimal-length generators; orbit; singly generated automata", +} + +@Article{Woods:1970:TNG, + author = "W. A. Woods", + title = "Transition Network Grammars for Natural Language Analysis", + journal = j-CACM, + volume = "13", + number = "10", + pages = "591--606", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C7820 (Humanities computing)", + corpsource = "Harvard Univ., Cambridge, MA, USA", + keywords = "grammars; language translation and linguistics", +} + +@Article{Earley:1970:FTI, + author = "J. Earley and H. Sturgis", + title = "A formalism for translator interactions", + journal = j-CACM, + volume = "13", + number = "10", + pages = "607--617", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A formalism is presented for describing the actions of processors for programming languages-compilers, interpreters, assemblers-and their interactions in complex systems such as compiler-compilers or extendible languages. An algorithm is presented for deciding whether or not a given system can be produced from a given set of component processors.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors)", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; compilers; computational linguistics; computer, digital; computers, digital, languages; computers, digital, operating; pre; program; program assemblers; program interpreters; program processors; programming languages", +} + +@Article{Hill:1970:AASa, + author = "G. W. Hill", + title = "{ACM} Algorithm 395: {Student}'s $t$-Distribution", + journal = j-CACM, + volume = "13", + number = "10", + pages = "617--619", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Lozy:1979:RSD,Hill:1981:RSD}.", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "CSIRO, Glen Osmond, Australia", + keywords = "statistics; subroutines", +} + +@Article{Hill:1970:AASb, + author = "G. W. Hill", + title = "{ACM} Algorithm 396: {Student}'s $t$-Quantiles", + journal = j-CACM, + volume = "13", + number = "10", + pages = "619--620", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Hill:1981:RSQ}.", + acknowledgement = ack-nhfb, + classcodes = "C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "CSIRO, Glen Osmond, Australia", + keywords = "function evaluation; statistics; subroutines", +} + +@Article{Chang:1970:AAI, + author = "S. K. Chang and A. Gill", + title = "{ACM} Algorithm 397: An Integer Programming Problem", + journal = j-CACM, + volume = "13", + number = "10", + pages = "620--621", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "integer programming; subroutines", +} + +@Article{Stone:1970:AAT, + author = "R. A. Stone", + title = "{ACM} Algorithm 398: Tableless Date Conversion", + journal = j-CACM, + volume = "13", + number = "10", + pages = "621--621", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Western Electric Co., Princeton, NJ, USA", + keywords = "code convertors; subroutines", +} + +@Article{Seppanen:1970:AAS, + author = "J. J. Sepp{\"{a}}nen", + title = "{ACM} Algorithm 399: Spanning Tree", + journal = j-CACM, + volume = "13", + number = "10", + pages = "621--622", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Helsinki Univ. Technol., Otaniemi, Finland", + keywords = "graph theory; subroutines; trees (mathematics)", +} + +@Article{Wallick:1970:AAM, + author = "G. C. Wallick", + title = "{ACM} Algorithm 400: Modified {Havie} Integration", + journal = j-CACM, + volume = "13", + number = "10", + pages = "622--624", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Mobil Res. Dev. Corp., Dallas, TX, USA", + keywords = "integration; subroutines", +} + +@Article{Peto:1970:RAM, + author = "R. Peto", + title = "Remark on {``Algorithm 347 [M1]: An Efficient Algorithm for Sorting with Minimal Storage''}", + journal = j-CACM, + volume = "13", + number = "10", + pages = "624", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 09:23:57 1996", + keywords = "digital computer sorting; minimal storage sorting; ranking; sorting", +} + +@Article{Smith:1970:UIG, + author = "L. B. Smith", + title = "The use of interactive graphics to solve numerical problems", + journal = j-CACM, + volume = "13", + number = "10", + pages = "625--634", + month = oct, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "CERN, Geneva, Switzerland", + keywords = "analysis; computer graphics; least squares approximations; numerical; online operation", +} + +@Article{LaFata:1970:IDA, + author = "P. LaFata and J. B. Rosen", + title = "An interactive display for approximation by linear programming", + journal = j-CACM, + volume = "13", + number = "11", + pages = "651--659", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68.00 (90.00)", + MRnumber = "42\#2712", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "An interactive program with a graphical display has been developed for the approximation of data by means of a linear combination of functions (including splines) selected by the user. The coefficients of the approximation are determined by linear programming so as to minimize the error in either the L1 or L-infinity norm. Auxiliary conditions such as monotonicity or convexity of the approximation can also be imposed. This interactive system is described and several examples of its use are given.", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "approximation; data fitting; function approximation; functional approximation; interactive graphical display; linear programming; online operation; spline functions", +} + +@Article{Lum:1970:MRC, + author = "V. Y. Lum", + title = "Multi-attribute retrieval with combined indexes", + journal = j-CACM, + volume = "13", + number = "11", + pages = "660--665", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + corpsource = "IBM, San Jose, CA, USA", + keywords = "file organisation; information retrieval", +} + +@Article{Mifsud:1970:MDA, + author = "C. J. Mifsud", + title = "A multiple-precision division algorithm", + journal = j-CACM, + volume = "13", + number = "11", + pages = "666--668", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Mitre Corp., McLean, VA, USA", + keywords = "digital arithmetic", +} + +@Article{Conrow:1970:NPS, + author = "K. Conrow and R. G. Smith", + title = "{NEATER2}: {A PL/I} Source Statement Reformatter", + journal = j-CACM, + volume = "13", + number = "11", + pages = "669--675", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "NEATER2 accepts a PL/I source program and operates on it to produce a reformatted version. When in the LOGICAL mode, NEATER2 indicates the logical structure of the source program in the indentation pattern of its output. Logic errors discovered through NEATER2 logical analysis are discovered much more economically than is possible through compilation and trial runs. A number of options are available to give the user full control over the output format and to maximize the utility of NEATER2 as an aid during the early stages of development of a PL/I source deck. One option, USAGE, causes NEATER2 to insert into each logical unit of coding a statement which will case the number of times each one is executed to be recorded during execution. This feature is expected to provide a major aid in optimization of PL/I programs.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + corpsource = "Kansas State Univ., Manhattan, KS, USA", + keywords = "documentation aid; execution time usage data; logical analysis of PL/I source; optimisation; PL/1; prettyprinter; program processors; reformatting of PL/I source", +} + +@Article{Bell:1970:LQH, + author = "James R. Bell and Charles H. Kaman", + title = "The Linear Quotient Hash Code", + journal = j-CACM, + volume = "13", + number = "11", + pages = "675--677", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Independent discovery of technique of secondary hash functions first proposed by \cite{deBalbine:1969:CAR}.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + keywords = "codes", +} + +@Article{Cheney:1970:NLC, + author = "C. J. Cheney", + title = "A Nonrecursive List Compacting Algorithm", + journal = j-CACM, + volume = "13", + number = "11", + pages = "677--678", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Cambridge, UK", + keywords = "data structures; list processing; storage management", +} + +@Article{Anonymous:1970:PANa, + author = "Anonymous", + title = "Proposed {American National Standard}. Recorded magnetic tape for information interchange (1600 {CPI}, phase encoded)", + journal = j-CACM, + volume = "13", + number = "11", + pages = "679--685", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5320C (Storage on moving magnetic media)", + keywords = "magnetic recording; standards", +} + +@Article{Anonymous:1970:PANb, + author = "Anonymous", + title = "Proposed {American National Standard}. Unrecorded magnetic tape for information interchange (9 track-200 and 800 {CPI}, {NRZI} and 1600 {CPI}, {P.E.})", + journal = j-CACM, + volume = "13", + number = "11", + pages = "686--692", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5320C (Storage on moving magnetic media)", + keywords = "magnetic recording; standards", +} + +@Article{Bratley:1970:AAI, + author = "P. Bratley", + title = "{ACM} Algorithm 401: An Improved Algorithm to Produce Complex Primes", + journal = j-CACM, + volume = "13", + number = "11", + pages = "693--693", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Montreal, Que., Canada", + keywords = "number theory; subroutines", +} + +@Article{vanEmden:1970:AAI, + author = "M. H. {van Emden}", + title = "{ACM} Algorithm 402: Increasing the Efficiency of Quicksort", + journal = j-CACM, + volume = "13", + number = "11", + pages = "693--694", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Math. Centre, Amsterdam, Netherlands", + keywords = "sorting; subroutines", +} + +@Article{Wilson:1970:GMG, + author = "W. J. Wilson", + title = "A generalized method for generating argument\slash function values", + journal = j-CACM, + volume = "13", + number = "11", + pages = "696--697", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Univac Div. Sperry Rand, Huntsville, AL, USA", + keywords = "decision tables; table lookup", +} + +@Article{Ehrman:1970:CAC, + author = "J. R. Ehrman", + title = "Correction to 'logical' arithmetic on computers with two's complement binary arithmetic", + journal = j-CACM, + volume = "13", + number = "11", + pages = "697--698", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Stanford Linear Accelerator Center, CA, USA", + keywords = "digital arithmetic", +} + +@Article{Bernstein:1970:CWS, + author = "A. Bernstein", + title = "Comment on the working set model for program behavior", + journal = j-CACM, + volume = "13", + number = "11", + pages = "698--699", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "State Univ. New York, Stony Brook, NY, USA", + keywords = "storage management", +} + +@Article{Rokne:1970:CNP, + author = "J. Rokne", + title = "Condition numbers of {Pei} matrices", + journal = j-CACM, + volume = "13", + number = "11", + pages = "699--699", + month = nov, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "Univ. Calgary, Alta., Canada", + keywords = "matrix algebra", +} + +@Article{Mathews:1970:GPC, + author = "M. V. Mathews and F. R. Moore", + title = "{GROOVE-A} program to compose, store, and edit functions of time", + journal = j-CACM, + volume = "13", + number = "12", + pages = "715--721", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7420 (Control engineering computing); C7820 (Humanities computing)", + corpsource = "Bell Telephone Labs., Murray Hill, NJ, USA", + keywords = "compose store, edit, time functions; computer music; computers; conductor program; control engineering applications of computers; digital control; GROOVE; hybrid; hybrid systems; interactive software; luminescence; man computer system; man-machine systems; periodic functions; real-time; real-time control; sampled data systems; systems", + treatment = "P Practical", +} + +@Article{Tiernan:1970:ESA, + author = "James C. Tiernan", + title = "An Efficient Search Algorithm to Find the Elementary Circuits of a Graph", + journal = j-CACM, + volume = "13", + number = "12", + pages = "722--726", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94.30 (05.00)", + MRnumber = "42\#7427", + mrreviewer = "J. Mor{\'a}vek", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A theoretically most efficient search algorithm is presented which uses an exhaustive search to find all of the elementary circuits of a graph. The algorithm can be easily modified to find all of the elementary circuits with a particular attribute such as length. A rigorous proof of the algorithm is given as well as an example of its application. Empirical bounds are presented relating the speed of the algorithm to the number of vertices and the number of arcs. The speed is also related to the number of circuits in the graph to give a relation between speed and complexity. Extensions to undirected and s-graphs are discussed.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", + corpsource = "Univ. California, San Diego, La Jolla, CA, USA", + keywords = "algorithm; circuit search algorithm; elementary circuits; graph theory; path search; path search algorithm; searching", + treatment = "T Theoretical or Mathematical", +} + +@Article{Betourne:1970:PMR, + author = "C. Betourne and J. Boulenger and J. Ferrie and C. Kaiser and S. Krakowiak and J. Mossiere", + title = "Process management and resource sharing in the multiaccess system {ESOPE}", + journal = j-CACM, + volume = "13", + number = "12", + pages = "727--733", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + keywords = "ESOPE; multi-access systems; multiprogramming; parallel processes; parallel processing; primitive operations; process scheduling; programs; resource allocation; system; time sharing system; time-sharing", + treatment = "P Practical", +} + +@Article{Morgan:1970:IBO, + author = "H. L. Morgan", + title = "An interrupt based organization for management information systems", + journal = j-CACM, + volume = "13", + number = "12", + pages = "734--739", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "data handling; integrated data processing; interrupt scheduling; management information systems; monitoring; parallel; parallel processing; processing; supervisory programs; supervisory systems; systems", +} + +@Article{Thompson:1970:IRR, + author = "R. J. Thompson", + title = "Improving round-off in {Runge-Kutta} computations with {Gill}'s method", + journal = j-CACM, + volume = "13", + number = "12", + pages = "739--740", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Sandia Labs., Albuquerque, NM, USA", + keywords = "differential equations; error analysis; methods; numerical mathematics; ordinary differential equations; predictor-corrector; round-off error; Runge-Kutta-Gill methods", + treatment = "T Theoretical or Mathematical", +} + +@Article{Shapiro:1970:LSG, + author = "S. C. Shapiro", + title = "The list set generator: a construct for evaluating set expressions", + journal = j-CACM, + volume = "13", + number = "12", + pages = "741--744", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "construct; file; list processing; processing; programming; programming techniques; set generation; set manipulating", + treatment = "T Theoretical or Mathematical", +} + +@Article{Black:1970:OMM, + author = "N. A. Black", + title = "Optimum Merging from Mass Storage", + journal = j-CACM, + volume = "13", + number = "12", + pages = "745--749", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Computer Sci. Corp., Huntsville, AL, USA", + keywords = "access time; drum merging; magnetic storage systems; mass storage; merging; optimisation; optimum merging; sort timing; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stewart:1970:EAA, + author = "G. W. Stewart", + title = "Errata: {ACM} Algorithm 384: Eigenvalues and Eigenvectors of a Real Symmetric Matrix [{F2}]", + journal = j-CACM, + volume = "13", + number = "12", + pages = "750--750", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 18:42:33 1996", + note = "See \cite{Stewart:1970:AAE}.", + keywords = "eigenvalues; eigenvectors; QR algorithm; real symmetric matrix", + kwds = "nla, eig, QR algorithm, symmetric matrix", + xxnote = "Check title??", +} + +@Article{Fuchs:1970:EDR, + author = "E. A. Fuchs and P. E. Jackson", + title = "Estimates of Distributions of Random Variables for Certain Computer Communications Traffic Models", + journal = j-CACM, + volume = "13", + number = "12", + pages = "752--757", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1970.bib", + note = "Reproduced in Advances in Computer Commun., Chu, W. W., (Ed (1974), 2-7; in Computer Commun., Green, P. E., and Lucky, R. W. (Eds.), (1975), 577-582).", + abstract = "A study of multiaccess computer communications has characterized the distributions underlying an elementary model of the user-computer interactive process. The model used is elementary in the sense that many of the random variables that generally are of interest in computer communications studies can be decomposed into the elements of this model. Data were examined from four operational multiaccess systems, and the model is shown to be robust; that is each of the variables of the model has the same distribution independent of which of the four systems is being examined. It is shown that the gamma distribution can be used to describe the discrete variables. Approximations to the gamma distribution by the exponential distribution are discussed for the systems studied.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Bell Telephone Labs. Inc., Holmdel, NJ, USA", + descriptors = "Random Process; Computer Communication; Traffic Model; Distribution; Estimation;", + keywords = "computation theory; computer communications; distribution of random variables; modelling; multi-access systems; multiaccess systems; operating systems; operating systems (computers); optimisation models; optimization models; time-sharing; time-sharing systems; user computer interactive processes", + treatment = "T Theoretical or Mathematical", +} + +@Article{Pinter:1970:DBF, + author = "C. C. Pinter", + title = "On decomposing a {Boolean} function and simplifying the components separately", + journal = j-CACM, + volume = "13", + number = "12", + pages = "758--758", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4230 (Switching theory)", + corpsource = "Bucknell Univ., Lewisburg, PA, USA", + keywords = "basic cells; Boolean functions; minimisation; minimisation of switching nets; of Boolean functions; prime implicants; simplification; vertices", + treatment = "T Theoretical or Mathematical", +} + +@Article{Raduchel:1970:EHB, + author = "W. J. Raduchel", + title = "Efficient handling of binary data", + journal = j-CACM, + volume = "13", + number = "12", + pages = "758--759", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Harvard Univ., Cambridge, MA, USA", + keywords = "binary variables; bit strings; cross-; data handling; dummy variables; efficiency; programming; programming techniques; tabulations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wagner:1970:FAI, + author = "Robert A. Wagner", + title = "Finiteness Assumptions and Intellectual Isolation of Computer Scientists", + journal = j-CACM, + volume = "13", + number = "12", + pages = "759--760", + month = dec, + year = "1970", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "ALGOL versus FORTRAN; Algol vs. Fortran; finite; finite word size; finiteness assumptions; integer variable range; intellectual; intellectual isolation; isolation; memory finiteness; personnel; philosophical aspects; word size", +} + +@Article{Lowry:1971:OCO, + author = "E. Lowry and C. W. Medlock", + title = "Object Code Optimization", + journal = j-CACM, + volume = "12", + number = "1", + pages = "13--22", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Dec 26 16:35:14 1995", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib", +} + +@Article{Hammer:1971:SSC, + author = "Carl Hammer", + title = "Signature Simulation and Certain Cryptographic Codes", + journal = j-CACM, + volume = "14", + number = "1", + pages = "3--14", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Three cyphers allegedly authored by Thomas Jefferson Beale in 1822 have been the subject of intensive study for over 100 years. Generations of cryptanalysts have expended untold man-years, thus far without success, attempting tode code them; vast armies of fortune hunters and treasure seekers have devoted Herculean labors to digging up the rolling hills of Virginia trying to locate the promised bonanza. \par The history of pertinent activities would fill volumes, yet serious students of cryptography have always had nagging doubts about the cyphers' authenticity. It has been alleged that the ``known solution'' to Cypher Number Two: 115, 73, 24, 818, 37, 52, 49, \ldots{} (``I have deposited in the County of Bedford about four miles from Buford's in an excavation or vault \ldots{}'') with the aid of an unsanitized version of the Declaration of Independence was merely a superb, imaginative, and grandiose hoax perpetrated ages ago for whatever reasons. Modern computer technology could obviously perform signature analyses the process of encoding itself so as to yield new clues and deeper insights into their construction. For the benefit of the uninitiated, the encoding method used in the second cypher employs a specified document whose words are simply numbered consecutively, and first letters of these words are sought out at random to match the letters of these words are sought out at random to match the letters of the clear text or message. \par The sequence of numbers corresponding to these matches is then written down as the final code. While primitive, the process has the advantage of relative security until the source document becomes known; at that moment the cypher can be decoded even by second graders. The work now completed with the help of our UNIVAC 1108 includes numerous analytical studies of the Beale cyphers and various types of simulations. \par For example, we have turned the entire process of simulated encoding by various schemes over to the machine and analyzed the signatures of these synthetic codes; we have also encoded various messages by hand, using different texts and a variety of methods to obtain their signatures. These simulations provide convincing evidence that the signatures are both process and data dependent; they indicate also very strongly that Mr. Beale's cyphers are for real and that it is merely a matter of time before someone finds the correct source document and locates the right vault in the common-wealth of Virginia.", + acknowledgement = ack-nhfb, + classcodes = "B6120B (Codes); C6130 (Data handling techniques)", + keywords = "Beale Cyphers codes; codes; computer applications; computer signature simulation; cryptanalysis; cyphers; Declaration of Independence; decoding; encoding; Magna Carta; numerical cryptographic codes; pseudotext; results analysis; signature; simulation; Thomas Jefferson Beale; treasure site identification", + treatment = "A Application", +} + +@Article{Klinger:1971:PWA, + author = "A. Klinger", + title = "Pattern width at a given angle", + journal = j-CACM, + volume = "14", + number = "1", + pages = "15--20", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Univ. California, Los Angeles, CA, USA", + keywords = "extent integral projections; feature extraction; figure properties; functions; geometrical concept; integral geometry; linear pattern measures; pattern recognition; picture processing; width; width at angle; word description", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chang:1971:RBP, + author = "Shi-Kuo Chang", + title = "The Reconstruction of Binary Patterns from Their Projections", + journal = j-CACM, + volume = "14", + number = "1", + pages = "21--25", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68.00", + MRnumber = "44\#2379", + mrreviewer = "G. D. Chakerian", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Given the horizontal and vertical projections of a finite binary pattern $f$, can we construct the original pattern $f$? In this paper we give a characterization of patterns that are reconstructible from their projection. Three algorithms are developed to reconstruct both unambiguous and ambiguous patterns. It is shown that an unambiguous pattern can be perfectly reconstructed in time $m \times n$ and that a pattern similar to an ambiguous pattern can also be constructed in time $m \times n$, where $m$, $n$ are the dimensions of the pattern frame.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "IBM, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "ATI; CACMA; computers, digital; data compression; finite binary pattern; image reconstruction; integral geometry; original pattern reconstruction; pattern frame dimensions; pattern recognition; pattern recognition systems; pattern reconstruction", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bracchi:1971:LTG, + author = "G. Bracchi and D. Ferrari", + title = "Language for Treating Geometric Patterns in a Two-Dimensional Space", + journal = j-CACM, + volume = "14", + number = "1", + pages = "26--32", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In this paper CADEP, a problem-oriented language for positioning geometric patterns in a two-dimensional space, is presented. Although the language has been specifically designed for the automatic generation of integrated circuit masks, it turns out to be well suited also for such other placement problems as architecture design, urban planning, logical and block diagram representation.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Politecnico Milano, Italy", + journalabr = "Commun ACM", + keywords = "2-dimensional space; architecture design; automation; block diagrams; CACMA; CADEP; computers, digital; computers, digital, pattern re; Fortran; Fortran extension; generation; geometric patterns; graphic; graphic displays; integrated circuit masks; integrated circuits; language; languages; layout problems; logic diagrams representation; pattern recognition; pattern recognition systems; planning; positioning; problem oriented language; problem oriented languages; urban; urban planning", + treatment = "T Theoretical or Mathematical", +} + +@Article{Broucke:1971:CRN, + author = "R. A. Broucke", + title = "Construction of rational and negative powers of a formal series", + journal = j-CACM, + volume = "14", + number = "1", + pages = "32--35", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Univ. California, Los Angeles, CA, USA", + keywords = "binomial; Chebyshev approximation; Chebyshev series; construction; convergence; convergence of numerical methods; Fourier series; inversion; iterative methods; Newton iterations; Poisson's; rational negative power; root extraction; series; series expansion; theorem", + treatment = "T Theoretical or Mathematical", +} + +@Article{Holt:1971:CPS, + author = "R. C. Holt", + title = "Comments on Prevention of System Deadlocks", + journal = j-CACM, + volume = "14", + number = "1", + pages = "36--38", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A. N. Habermann's method of deadlock prevention is discussed, where deadlock is defined as a system state from which resource allocations to certain processes are not possible. It is shown that the scheduler may introduce `artificial' deadlocks which Habermann's method does not prevent. Permanent blocking is the situation where certain processes never receive their resource requests. It is shown that deadlock prevention does not necessarily eliminate permanent blocking. A method of preventing permanent blocking is given.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Cornell Univ. Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers, digital; computers, digital, operation; deadly embrace; Habermann's method; interlock; knotting; layout; multiprogramming; operating systems (computers); permanent blocking preventions; resource allocation; scheduling; storage allocation; system deadlock prevention; system recovery; time sharing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hoare:1971:PPF, + author = "C. A. R. Hoare", + title = "Proof of a Program: {FIND}", + journal = j-CACM, + volume = "14", + number = "1", + pages = "39--45", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/ml.bib", + abstract = "An informal description is given of the purpose of the program and the method used. A systematic technique is described for constructing and the program proof during the process of coding it, in such a way as to prevent the intrusion of logical errors. The proof of termination is treated as a separate exercise. Some, conclusions relating to general programming methodology are drawn.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Queen's Univ. Belfast, UK", + journalabr = "Commun ACM", + keywords = "algorithm correctness; algorithm theory; CACMA; coding; computers, digital; computers, digital, programming; documentation; FIND; ITI; languages; logical errors intrusion; programming methodology; programming theory; programs proofs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Proll:1971:FEA, + author = "L. G. Proll", + title = "Further evidence for the analysis of algorithms for the zero-one programming problem", + journal = j-CACM, + volume = "14", + number = "1", + pages = "46--47", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The purpose of this note is to report computational experience additional to that recently summarized R. L. Gue et al, with two algorithms for the zero-one linear programming problem. An error in Gue's paper is corrected. The utility of one of the algorithms as a suboptimizer is indicated.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + corpsource = "Univ. Southampton, UK", + journalabr = "Commun ACM", + keywords = "algorithm analysis; algorithm theory; CACMA; computational; ES,; experience; integer programming; linear programming; mathematics; operations research; suboptimisation; zero one variables", + treatment = "T Theoretical or Mathematical", + xxtitle = "Further Evidence of the Analysis of Algorithms for the Zeroone Programming Problem", +} + +@Article{Coleman:1971:AAC, + author = "M. W. Coleman and M. S. Taylor", + title = "{ACM} Algorithm 403: Circular Integer Partitioning", + journal = j-CACM, + volume = "14", + number = "1", + pages = "48--48", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Aberdeen Proving Ground, MD, USA", + keywords = "circular integer partitioning; combinations; design; experiments design; number theory; statistical; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lucas:1971:AAC, + author = "C. W. {Lucas, Jr.} and C. W. Terrill", + title = "{ACM} Algorithm 404: Complex Gamma Function", + journal = j-CACM, + volume = "14", + number = "1", + pages = "48--49 (or 48--48??)", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Coll. William and Mary, Williamsburg, VA, USA", + keywords = "algorithm; CGAMMA; complex gamma function evaluation; formula; function evaluation; poles of gamma function; recursion formula; reflection; Stirling's asymptotic series; subroutine in ALGOL; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Redish:1971:CLC, + author = "K. A. Redish", + title = "Comment on {London}'s Certification of Algorithm 245", + journal = j-CACM, + volume = "14", + number = "1", + pages = "50--51", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:29:55 1997", + acknowledgement = ack-nhfb, + keywords = "certification; debugging; in-place sorting; metatheory; proof of algorithms; sorting", +} + +@Article{Pollack:1971:CCD, + author = "S. L. Pollack", + title = "Comment on the conversion of decision tables to computer programs", + journal = j-CACM, + volume = "14", + number = "1", + pages = "52--52", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "S. D. Leidesdorf and Co., NY, USA", + keywords = "aids; application; business; comments; communication; computer program; conversion; decision tables; diagnostic; systems analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Schwayder:1971:CLE, + author = "K. Schwayder", + title = "Conversion of Limited-Entry Decision Tables to Computer Programs. a Proposed Modification to {Pollack}'s Algorithm", + journal = j-CACM, + volume = "14", + number = "2", + pages = "69--73", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Jan 16 19:52:47 MST 1997", + bibsource = "Compendex database", + abstract = "S. Pollack has proposed an algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. Two modifications to this algorithm are proposed. The first relies on Shannon's noiseless coding theorem and the communications concept of entropy but does not completely test the ELSE Rule. The second modification completely tests the ELSE Rule but results in more executions than the first modification. Both modifications result in lower execution time than Pollack's algorithm. However, neither modification guarantees a globally optimal solution.", + acknowledgement = ack-nhfb, + journalabr = "Commun ACM", + keywords = "CACMA; communication channels; computers, digital; information theory; programming; programs", +} + +@Article{Shwayder:1971:CLE, + author = "K. Shwayder", + title = "Conversion of limited-entry decision tables to computer programs-a proposed modification to {Pollack}'s algorithm", + journal = j-CACM, + volume = "14", + number = "2", + pages = "69--73", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "computer; conversion; decision tables; flow charting; flowcharting; modifications; Pollack's algorithm; programming; programs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bernstein:1971:PST, + author = "A. J. Bernstein and J. C. Sharp", + title = "A policy-driven scheduler for a time-sharing system", + journal = j-CACM, + volume = "14", + number = "2", + pages = "74--78", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A scheduling and swapping algorithm which keeps the resource count of each process above its policy function will provide the specified level of service. Overhead can be reduced by avoiding swaps of processes which have received at least this level of service. The algorithm has been implemented in a general purpose operating system, and it has provided significantly better service to interactive and to batch jobs than the previous scheduler.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "General Electric, Schenectady, NY, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computation theory; computers, digital; computers, digital, operating; operating; operating systems (computers); policy driven; scheduler; scheduling algorithm; supervisory and executive programs; supervisory programs; systems; time sharing; time sharing systems; time-sharing systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Nielsen:1971:AST, + author = "N. R. Nielsen", + title = "An analysis of some time-sharing techniques", + journal = j-CACM, + volume = "14", + number = "2", + pages = "79--90", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The effectiveness of certain time-sharing techniques such as program relocation, disk rotational delay minimization, and swap volume minimization is investigated. Summary data is presented, and the findings are discussed. The vehicle for this investigation was a SI-MULA based simulation model reflecting an early framework for a planned Burroughs B6500 time-sharing system. Inasmuch as the B6500 system is based upon the use of variable sized segments and a dynamic overlay procedure, data is also presented which provides some indication of the effectiveness of this type of organization in a time-sharing environment. The design characteristics and operational capabilities of the simulation model are also described.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; capabilities; computers, digital; computers, digital, operating; design characteristics; disk rotational delay; minimization; operating systems; operating systems (computers); operational; program relocation; simulation; simulation model; swap volume minimization; systems analysis; techniques; time sharing; time sharing systems; time-sharing systems", + treatment = "P Practical", +} + +@Article{Slagle:1971:EAL, + author = "J. R. Slagle and C. D. Farrell", + title = "Experiments in Automatic Learning for a Multipurpose Heuristic Program", + journal = j-CACM, + volume = "14", + number = "2", + pages = "91--99 (or 91--98??)", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "An automatic learning capability has been developed and implemented for use with the MULTIPLE (MULTIpurpose Program that LEarns) heuristic tree-searching program, which is presently being applied to resolution theorem-proving in predicate calculus. MULTIPLE's proving program (PP) uses two evaluation functions to guide its search for a proof of whether or not a particular goal is achievable. Thirteen general features of predicate calculus clauses were created for use in the automatic learning of better evaluation functions for PP. A multiple regression program was used to produce optimal coefficients for linear polynomial functions in terms of the features.\par Also, automatic data-handling routines were written for passing data between the learning program and the proving program, and for analyzing and summarizing results. Data was generally collected for learning (regression analysis) from the experience of PP. A number of experiments were performed to test the effectiveness and generality of the learning program. Results showed that the learning produced dramatic improvements in the solutions to problems which were in the same domain as those used for collection learning data. Learning was also shown to generalize successfully to domains other than those used for data collection. Another experiment demonstrated that the learning program could simultaneously improve performance on problems in a specific domain and on problems in a variety of domains. Some variations of the learning program were also tested.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + corpsource = "Nat. Inst. Health, Bethesda, MD, USA", + keywords = "adaptive; artificial intelligence; automatic learning; computer aided instruction; computer aided learning; education; experimental development; heuristic; heuristic programming; heuristic tree searching program; learning; learning systems; LISP; multiple regression; multipurpose heuristic program; problem-solving; resolution; self-modifying; system; theorem-providing; tree-searching; trees; trees (mathematics)", + treatment = "P Practical", +} + +@Article{Hurwitz:1971:PDV, + author = "H. {Hurwitz, Jr.}", + title = "On the Probability Distribution of the Values of Binary Trees", + journal = j-CACM, + volume = "14", + number = "2", + pages = "99--102", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "\ldots{}unction for binary tree values, the values reflecting sorting effort. The analysis does not assume uniformly distributed branching ratios, and therefore is applicable to a family of sorting algorithms discussed by Hoare, Singleton, and van Emden. \par The solution to the integral equation indicates that using more advanced algorithms in the family makes only minor reductions in the expected sorting effort, but substantially reduces the variance in sorting effort. Statistical tests of the values of several thousand trees containing up to 10,000 points have given first, second, and third moments of the value distribution function in satisfactory agreement with the moments computed from the generating function. The empirical tests, as well as the analytical results, are in agreement with previously published results for the first moment in the cases of uniform and nonuniform distribution of branching ratio, and for the second moment in the case of uniform distribution of branching ratio.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "General Electric, Schenectady, NY, USA", + journalabr = "Commun ACM", + keywords = "binary tree; binary trees; CACMA; generation; integral equation: function; integral equations; N T; probability distribution; sorting; statistical analysis; statistical tests; statistics; trees; trees (mathematics); values", + treatment = "T Theoretical or Mathematical", +} + +@Article{Slagle:1971:AGT, + author = "J. R. Slagle and R. C. T. Lee", + title = "Application of Game Tree Searching Techniques to Sequential Pattern Recognition", + journal = j-CACM, + volume = "14", + number = "2", + pages = "103--110", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A sequential pattern recognition (SPR) procedure does not test all the features of a pattern at once. Instead, it selects a feature to be tested. After receiving the result of that test, the procedure either classifies the unknown pattern or selects another feature to be tested, etc. Medical diagnosis is an example of SPR. In this paper the authors suggest that SPR be viewed as a one-person game played against nature (chance). Virtually all the powerful techniques developed for searching two-person, strictly competitive game trees can easily be incorporated either directly or by analogy into SPR procedures. \par In particular, one can incorporate the ``mini average backing-up procedure'' and the ``gamma procedure,'' which are the analogues of the ``minimax backing-up procedure'' and the ``alpha-beta procedure,'' respectively. \par Some computer simulated experiments in character recognition are presented. The results indicate that the approach is promising.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Nat. Inst. Health, Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "bioengineering, computer applications; branch-and-bound approach; CACMA; CAL; computers, digital, character; dynamic programming; game against nature; game theory; game theory application; game tree searching; gamma procedure; mini average backing-up procedure; optimal solution; pattern; pattern recognition; pattern recognition systems; recognition; sequential pattern recognition; techniques; trees; trees (mathematics)", + treatment = "P Practical", +} + +@Article{Rokne:1971:CIA, + author = "J. Rokne and P. Lancaster", + title = "Complex Interval Arithmetic", + journal = j-CACM, + volume = "14", + number = "2", + pages = "111--112", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Complex interval arithmetic is defined using real interval arithmetic. Complex interval division is defined so as to assure smallest possible resulting intervals.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Calgary, Alta., Canada", + journalabr = "Commun ACM", + keywords = "complex interval arithmetic; complex intervals; digital arithmetic; mathematics; numerical mathematics; numerical methods; on; real interval arithmetic; real intervals", + treatment = "T Theoretical or Mathematical", +} + +@Article{Dell:1971:AAR, + author = "A. M. Dell and R. L. Weil and G. L. Thompson", + title = "{ACM} Algorithm 405: Roots of Matrix Pencils: The Generalized Eigenvalue Problem", + journal = j-CACM, + volume = "14", + number = "2", + pages = "113--117", + month = feb, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "algebra; eigenvalues and eigenfunctions; generalised eigenvalue; linear; matrix algebra; problem; roots of matrix pencils; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Noll:1971:SCG, + author = "A. M. Noll", + title = "Scanned-Display Computer Graphics", + journal = j-CACM, + volume = "14", + number = "3", + pages = "143--150", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A television-like scanned-display system has been successfully implemented on a Honeywell DDP-224 computer installation. The scanned image is stored in the core memory of the computer, and software scan conversion is used to convert the rectangular coordinates of a point to the appropriate work and bit in an output display array in core storage. Results thus far indicate that flicker-free displays of large amounts of data are possible with reasonably fast graphical interaction. A scanned image of size 240x254 points is displayed at a 30 frame-per-second rate.", + acknowledgement = ack-nhfb, + classcodes = "B7260 (Display technology and systems); C5540 (Terminals and graphic displays)", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computer; computer graphics; computers, digital; core memory; display systems; ed.; graphical interaction; installation; raster displays; scan conversion; scanned image; software; stored; television like scanned display", + treatment = "A Application; P Practical", +} + +@Article{Manna:1971:TAP, + author = "Z. Manna and R. J. Waldinger", + title = "Toward Automatic Program Synthesis", + journal = j-CACM, + volume = "14", + number = "3", + pages = "151--165", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An elementary outline of the theorem-proving approach to automatic program synthesis is given, without dwelling on technical details. The method is illustrated by the automatic construction of both recursive and iterative programs operating on natural numbers,lists, and trees, In order to construct a program satisfying certain specifications a theorem induced by those specifications is proved, and the desired program is extracted from the proof. The same technique is applied to transform recursively defined functions into iterative programs, frequently with a major gain inefficiency. It is emphasized that in order to construct a program with loops or with recursion, the principle of mathematical induction must be applied. The relation between the version of the induction rule used and the form of the program constructed is explored in some detail.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "answer extraction; artificial; artificial intelligence; automata theory; automatic program synthesis; CACMA; computer metatheory; computers, languages; computers, programming; intelligence; lists; mathematical induction; mathematical induction principle; natural numbers; principle; problem solving; programs; recursive and iterative; theorem proving; trees", + treatment = "P Practical", +} + +@Article{Winters:1971:SAC, + author = "W. K. Winters", + title = "Scheduling Algorithm for a Computer Assisted Registration System", + journal = j-CACM, + volume = "14", + number = "3", + pages = "166--171", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents the scheduling algorithm used in the Computer Assisted Registration System at the University of Tennessee. Notation is defined and the logic of the algorithm necessary to implement educational policy is described. Results from the first term's implementation are presented.", + acknowledgement = ack-nhfb, + classcodes = "C7110 (Educational administration)", + corpsource = "Univ. Tennessee, Knoxville, TN, USA", + journalabr = "Commun ACM", + keywords = "administrative data processing; CACMA; computer assisted registration system; data processing; educational administrative data processing; educational policy; implementation; logic; scheduling algorithm; timetable", + treatment = "A Application; P Practical", +} + +@Article{Williams:1971:SUM, + author = "J. G. Williams", + title = "Storage Utilization in a Memory Hierarchy When Storage Assignment is Performed by a Hashing Algorithm", + journal = j-CACM, + volume = "14", + number = "3", + pages = "172--175", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The utilization of storage is studied in a two-level memory hierarchy. The first storage level, which is the fast store, is divided into a number of storage areas. When an entry is to be filed in the hierarchy, a hashing algorithm will attempt to place the entry into one of these areas. If this particular area is full, then the entry will be placed into the slower second-level store, even though other areas in the first-level store may have space available. Given that N entries have been filed in the entire hierarchy, an expression is derived for the expected number of entries filed in the first-level store. This expression gives a measure of how effectively the first-level store is being used. By means of examples, storage utilization is then studied as a function of the hashing algorithm, the number of storage areas into which the first-level store is divided and the total size of the first-level store.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "RCA Labs., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers, digital; hashing algorithm; hierarchical systems; memory allocation; memory hierarchy; storage allocation; storage assignment; storage units; storage utilization", + treatment = "A Application; P Practical", +} + +@Article{Gear:1971:AIO, + author = "C. W. Gear", + title = "The Automatic Integration of Ordinary Differential Equations", + journal = j-CACM, + volume = "14", + number = "3", + pages = "176--179", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65L05", + MRnumber = "52 9612", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A criterion for the selection of the order of approximation is proposed. The objective of the criterion is to increase the step size so as to reduce solution time. An option permits the solution of `stiff' differential equations. A program embodying the techniques discussed appears as an algorithm which is specified.", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "automatic; boundary value problems; boundary-value problems; CACMA; differential equations; initial value; integration; mathematics; numerical methods; order control; order of approximation; ordinary differential equations; problem; selection; step control; stiff equations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Howell:1971:AAE, + author = "J. A. Howell", + title = "{ACM} Algorithm 406: Exact Solution of Linear Equations Using Residue Arithmetic", + journal = j-CACM, + volume = "14", + number = "3", + pages = "180--184", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "adjoint matrix; determinant; Gaussian elimination; ill condition; inversion; linear equations; matrix; matrix algebra; modulus; prime number; residue arithmetic; subroutine; subroutines; symmetric mixed radix representation; symmetric residue", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gear:1971:AAD, + author = "C. W. Gear", + title = "{ACM} Algorithm 407: {DIFSUB} for Solution of Ordinary Differential Equations", + journal = j-CACM, + volume = "14", + number = "3", + pages = "185--190", + month = mar, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Illinois, Urbana, IL, USA", + keywords = "control; differential equations; DIFSUB; estimated error; method; multistep predictor corrector; ordinary differential equations; stiff differential equations; subroutine; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wirth:1971:PDS, + author = "N. Wirth", + title = "Program Development by Stepwise Refinement", + journal = j-CACM, + volume = "14", + number = "4", + pages = "221--227", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/conc.scientific.computing.bib", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Eidgenossische Tech. Hochschule, Zurich, Switzerland", + keywords = "development; education; programming; programming techniques; refinement; stepwise", + treatment = "P Practical", +} + +@Article{Lum:1971:KAT, + author = "V. Y. Lum and P. S. T. Yuen and M. Dodd", + title = "Key-to-Address Transform Techniques: {A} Fundamental Performance Study on Large Existing Formatted Files", + journal = j-CACM, + volume = "14", + number = "4", + pages = "228--239", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/hash.bib", + note = "Survey of several hash functions, with performance results.", + abstract = "The results of a study of eight different keyto-address transformation methods applied to a set of existing files are presented. As each method is applied to a particular file, load factor and bucket size are varied over a wide range. Appropriate variables pertinent only to a specific method take on different values. The performance of each method is summarized in terms of the number of accesses required to get to a record and the number of overflow records created by a transformation. Peculiarities of each method are discussed. Practical guidelines obtained from the results are stated. A proposal for further quantitative fundamental study is outlined.", + acknowledgement = ack-nhfb, + annote = "Measurement of direct access methods", + classcodes = "C6120 (File organisation)", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers, digital; computers, digital codes; file organization; has codes; information storage and retrie; random access storage", + keywords = "file management; file organisation; file organization; formatted files; information retrieval; key to address transform; techniques", + treatment = "P Practical", +} + +@Article{Tucker:1971:DMP, + author = "A. B. Tucker and M. J. Flynn", + title = "Dynamic Microprogramming. Processor Organization and Programming", + journal = j-CACM, + volume = "14", + number = "4", + pages = "240--250", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A microassembly language is developed and the overhead involved in subroutine linkages is analyzed. The efficiency of a flexible software linkage scheme is examined as to its overhead for various subroutine characteristics. Three examples of problem-oriented programming are considered and the resulting coding is compared against a System/360 assembly language version, with the technology normalized.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + corpsource = "Northwestern Univ., Evanston, IL, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computers, digital; dynamically microprogrammed processor; microassembly language; microprogramming; microstorage; problem oriented programming; problem-oriented languages; program processors; read write; subroutine linkage", + treatment = "P Practical", +} + +@Article{Talbot:1971:AOT, + author = "P. A. Talbot and J. W. Carr and R. R. {Coulter, Jr.} and R. C. Hwang", + title = "Animator: an on-line two-dimensional film animation system", + journal = j-CACM, + volume = "14", + number = "4", + pages = "251--259", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays)", + corpsource = "Univ. Pennsylvania, Philadelphia, PA, USA", + keywords = "computer animation; computer graphics; dimensional languages; microfilm recorder; on line system; online operation; programming languages; two", + treatment = "P Practical", +} + +@Article{Stein:1971:CD, + author = "M. L. Stein and W. D. Munro", + title = "On Complement Division", + journal = j-CACM, + volume = "14", + number = "4", + pages = "260--264", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The division algorithm theorem is expressed in a form that permits it to serve as the basis for devising division operations that produce both quotient and remainder in complement form. Algorithms for division yielding complement results are derived for numbers represented in any base greater than one. Both radix and radix-less-one complementation schemes are considered. The binary form of the algorithms thus includes both two's and one's complement implementation. The problem of quotient overflow for complement results is dealt with as is that of selecting an appropriate form of the remainder condition for complement division.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. Minnesota, Minneapolis, MN, USA", + journalabr = "Commun ACM", + keywords = "algorithmic languages; CACMA; complement; digital arithmetic; division; division algorithm; mathematics; radix complementation schemes", + treatment = "P Practical", +} + +@Article{McNamee:1971:AAS, + author = "J. M. McNamee", + title = "{ACM} Algorithm 408: {A} Sparse Matrix Package (Part {I})", + journal = j-CACM, + volume = "14", + number = "4", + pages = "265--273", + month = apr, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Sipala:1977:RAS,Gustavson:1978:RAS,Harms:1980:RSM}.", + acknowledgement = ack-nhfb, + classcodes = "C7410B (Power engineering computing)", + corpsource = "York Univ., Downsview, Ont., Canada", + keywords = "algebra; electrical engineering applications of computers; electrical network problems; Fortran subroutines; matrix; sparse matrix manipulation; subroutines; tests", + treatment = "P Practical", +} + +@Article{Olle:1971:IFA, + author = "T. William {Olle (Chairman)} and {Codasyl Systems Committee}", + title = "Introduction to {`Feature analysis of generalized data base management systems'}", + journal = j-CACM, + volume = "14", + number = "5", + pages = "308--318", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This introduction gives a review of the current state of the art in the systems and discusses the differences and similarities between capabilities found in host language systems and those found in self-contained systems. Technical problems facing future designers are described. The use of Cobol as a basis for further development work is considered at some length with respect to data structures, host language capabilities, and self-contained capabilities.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + keywords = "data structures; feature analysis; generalised data base management systems; information; programming languages; retrieval; standards; storage management; transaction processing", +} + +@Article{Nielsen:1971:MRC, + author = "N. R. Nielsen", + title = "The merit of regional computing networks", + journal = j-CACM, + volume = "14", + number = "5", + pages = "319--326", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "One of the suggested means for stimulating the spread of computing capabilities in institutions of higher learning is through the construction of regional computing networks. One such network has been constructed in the San Francisco Bay Area of Stanford University. This paper reports upon the lessons learned from the operation of that network over the past 2 yr.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C5600 (Data communication equipment and techniques); C7810C (Computer-aided instruction)", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; computer aided instruction; computer applications; computer sharing; computer utility; computers, digital, data proce; computing; cooperative networks; curriculum development; digital communication systems; education; educational computing; engineering education; R C; remote", +} + +@Article{Krolak:1971:MAT, + author = "P. Krolak and W. Felts and G. Marble", + title = "A Man-Machine Approach Toward Solving the Traveling Salesman Problem", + journal = j-CACM, + volume = "14", + number = "5", + pages = "327--334", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a computer aided heuristic technique which uses only a modest amount of computer time in real-time to solve large (100 to 200) point problems. This technique takes advantage of both the computer's and the human's problem-solving abilities. The computer is not asked to solve the problem in a brute force way as in many of today's heuristics, but it is asked to organize the data for the human so that the human can solve the problem easily. The technique used in this paper seems to point to new directions in the field of man-machine interaction and in the field of artificial intelligence.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C1270 (Man-machine systems)", + corpsource = "Vanderbilt Univ., Nashville, TN, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; assignment; CACMA; computer aided heuristic techniques; computer applications; cybernetics; heuristic procedure; heuristic programming; interaction process; man machine interaction; man-machine systems; operations research; optimisation; problem; production planning and control; rubber band tour generator; travelling salesman problem", + treatment = "T Theoretical or Mathematical", +} + +@Article{Montanari:1971:ODC, + author = "Ugo Montanari", + title = "On the optimal detection of curves in noisy pictures", + journal = j-CACM, + volume = "14", + number = "5", + pages = "335--345", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Istituto Elaborazione Informazione, Pisa, Italy", + keywords = "curve; description; dynamic programming; edge; global recognition; heuristic; heuristic programming; interaction graph; line; methods; noise; optimal detection; optimisation; optimisation problem; parallel processing; pattern recognition; picture; picture processing; picture recognition; secondary", + treatment = "T Theoretical or Mathematical", +} + +@Article{Richards:1971:HKA, + author = "D. L. Richards", + title = "How to Keep the Addresses Short", + journal = j-CACM, + volume = "14", + number = "5", + pages = "346--349", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "This paper demonstrates that a wide class of problems can be formulated as covering problems solvable by means of elementary arithmetic operations on the column vectors of a ternary matrix.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors)", + corpsource = "Leasco Systems Corp., Tustin, CA, USA", + journalabr = "Commun ACM", + keywords = "addressing; assembler; CACMA; compilers; computers, digital; covering problem; data handling; integer; integer programming; minimisation; program; program assemblers; programming; variable length addressing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fenichel:1971:ILV, + author = "R. R. Fenichel", + title = "On Implementation of Label Variables", + journal = j-CACM, + volume = "14", + number = "5", + pages = "349--350", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Variables of label mode are conventionally implemented with a technique which fails to trap certain programming errors. Fine-grained calender clocks have recently become available; these allow implementation of label variables via a new technique which traps all programming errors of this variety.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "CACMA; compiler; computers, digital; DS; fine grained calendar clocks; go; interpreter; label variables implementation; program compilers; program debugging; to; transfer", + treatment = "P Practical", +} + +@Article{Morris:1971:ARI, + author = "James H. {Morris, Jr.}", + title = "Another Recursion Induction Principle", + journal = j-CACM, + volume = "14", + number = "5", + pages = "351--354", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "02F25 (94A25)", + MRnumber = "45 57", + mrreviewer = "H. R. Strong", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An inductive method for proving things about recursively defined functions is described. It is shown to be useful for proving partial functions equivalent and thus applicable in proofs about interpreters for programming languages.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C4210 (Formal logic)", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "automata theory; CACMA; compiler correctness; compiler correctness proofs; computational linguistics; computers, digital, languages; computers, digital, programming; correctness; induction; interpreters; proofs; proving; recursion; recursion induction principle; recursive functions; theorem", + treatment = "T Theoretical or Mathematical", +} + +@Article{Schmitt:1971:AAD, + author = "H. Schmitt", + title = "{ACM} Algorithm 409: Discrete {Chebychev} Curve Fit", + journal = j-CACM, + volume = "14", + number = "5", + pages = "355--356", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Tech. Hochschule, Darmstadt, West Germany", + keywords = "ALGOL procedure; algorithm; Chebyshev approximation; discrete Chebychev curve fit; exchange; Remez algorithm; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chambers:1971:AAP, + author = "J. M. Chambers", + title = "{ACM} Algorithm 410: Partial Sorting [{M1}]", + journal = j-CACM, + volume = "14", + number = "5", + pages = "357--358", + month = may, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Bell Telephone Labs., Murray Hill, NJ, USA", + keywords = "FORTRAN routine; order statistics; partial sorting; sorting; subroutines", + keywords = "partial sorting order statistics; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Harada:1971:GRP, + author = "Kazuaki Harada", + title = "Generation of rosary permutations expressed in {Hamiltonian} circuits", + journal = j-CACM, + volume = "14", + number = "6", + pages = "373--379", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90.30 (05.00)", + MRnumber = "44\#3675", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Systematic generation of a specific class of permutations fundamental to scheduling problems is described. In a nonoriented complete graph with n vertices, Hamiltonian circuits equivalent to $.5(n - 1)!$ specific permutations of $n$ elements, termed rosary permutations, can be defined. Each of them corresponds to two circular permutations which mirror-image each other, and is generated successively by a number system covering $3*4*\ldots*(n-1)$ sets of edges. Every set of edges $\{E[k]\}, 1 <= E[k] <= k, 3 <= k <= (n-1)$ is determined recursively by constructing a Hamiltonian circuit with $k$ vertices from a Hamiltonian circuit with $k-1$ vertices, starting with the Hamiltonian circuit of 3 vertices. The basic operation consists of transposition of a pair of adjacent vertices where the position of the pair in the permutation is determined by $\{E[k]\}$. Two algorithms treating the same example for five vertices are presented. It is very easy to derive all possible n! permutations from the $.5(n - 1 )!$ rosary permutations be cycling the permutations and by taking them in the reverse order-procedures which can be performed fairly efficiently by computer.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics)", + corpsource = "Washington Univ., St. Louis, MO, USA", + keywords = "circuits; combinatorial algebra; graph theory; Hamiltonian; nonoriented complete graph; permutation; rosary permutations generation; scheduling", + treatment = "T Theoretical or Mathematical", +} + +@Article{Foley:1971:AOD, + author = "J. D. Foley", + title = "An approach to the optimum design of computer graphics systems", + journal = j-CACM, + volume = "14", + number = "6", + pages = "380--390", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Univ. North Carolina, Chapel Hill, NC, USA", + keywords = "average response time prediction; computer graphics; computer graphics systems; computer metatheory; mathematical; model; optimisation; optimum design", + treatment = "T Theoretical or Mathematical", +} + +@Article{Amarel:1971:CSC, + author = "S. Amarel", + title = "Computer Science: {A} Conceptual Framework for Curriculum Planning", + journal = j-CACM, + volume = "14", + number = "6", + pages = "391--401", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Two views of computer science are considered: a global view which attempts to capture broad characteristics of the field and its relationships to other fields, and a local view which focuses on the inner structure of the field. This structure is presented in terms of the kinds of knowledge, problems, and activities that exist within the discipline, as well as the relations between them. An approach to curriculum planning in computer science is presented which is guided by the structure of the field, by the fact that change is an important feature of the situation, and by the expectation that computer science will continue to increase its working contacts with other disciplines.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Rutgers Univ., New Brunswick, NJ, USA", + keywords = "computer science; curriculum planning; education", + treatment = "G General Review", +} + +@Article{Bosarge:1971:NPR, + author = "W. E. {Bosarge, Jr.} and O. G. Johnson", + title = "Numerical properties of the {Ritz-Trefftz} algorithm for optimal control", + journal = j-CACM, + volume = "14", + number = "6", + pages = "402--406", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.30", + MRnumber = "44\#7714", + mrreviewer = "A. Pasquali", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "In this paper the Ritz-Trefftz algorithm is applied to the computer solution of the state regulator problem. The algorithm represents a modification of the Ritz direct method and is designed to improve the speed of solution and the storage requirements to the point where real-time implementation becomes feasible. The modification is shown to be more stable computationally than the traditional Ritz approach. \par The first concern of the paper is to describe the algorithm and establish its properties as a valid and useful numerical technique. In particular such useful properties as definiteness and reasonableness of condition are established for the method. The second part of the paper is devoted to a comparison of the new techniques with the standard procedure of numerically integrating a matrix Riccati equation to determine a feedback matrix. The new technique is shown to be significantly faster for comparable accuracy.", + acknowledgement = ack-nhfb, + classcodes = "C1330 (Optimal control); C4190 (Other numerical methods)", + corpsource = "IBM Sci. Center, Houston, TX, USA", + keywords = "control theory; equation; feedback matrix; matrix Riccati; numerical; numerical analysis; numerical integration; numerical methods; optimal control; properties; regulator problem; Ritz Trefftz algorithm; splines; state regulator problem", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gladwin:1971:NCF, + author = "H. Tim Gladwin", + title = "A Note on Compiling Fixed Point Binary Multiplications", + journal = j-CACM, + volume = "14", + number = "6", + pages = "407--408", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "An algorithm is developed for compiling, as a sequence of shifts, additions,and subtractions, many fixed point binary multiplications involving a constant. The most significant characteristics of the algorithm are the simplicity of the test which determines if the algorithm should be applied and the degree to which it ``suggests'' efficient object code.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Washington, Seattle, WA, USA", + keywords = "additions; compiling fixed point binary multiplications; compiling multiplications; digital arithmetic; fixed point arithmetic; program compilers; shifts; subtractions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fraser:1971:MNP, + author = "A. G. Fraser", + title = "On the Meaning of Names in Programming Systems", + journal = j-CACM, + volume = "14", + number = "6", + pages = "409--416", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + keywords = "computational linguistics; context manipulation; data names; file; functional; lambda calculus; names; operating system; operating systems (computers); programming; programming systems; programming theory; theory", + treatment = "G General Review", +} + +@Article{Walker:1971:BS, + author = "R. J. Walker", + title = "Binary summation", + journal = j-CACM, + volume = "14", + number = "6", + pages = "417--417", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "binary summation; digital arithmetic; floating point; roundoff errors; space; storage", + treatment = "T Theoretical or Mathematical", +} + +@Article{Zelkowitz:1971:IDP, + author = "M. Zelkowitz", + title = "Interrupt driven programming", + journal = j-CACM, + volume = "14", + number = "6", + pages = "417--418", + month = jun, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "associative; control; debugging; interrupt drive programming; memories; microprogramming; parallel processing; program execution", + treatment = "P Practical", +} + +@Article{McKenney:1971:SCO, + author = "J. L. McKenney and F. M. Tonge", + title = "The State of Computer-Oriented Curricula in Business Schools 1970", + journal = j-CACM, + volume = "14", + number = "7", + pages = "443--448", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Harvard Univ., Cambridge, MA, USA", + keywords = "business schools; computer curricula; education; reviews", + treatment = "G General Review", +} + +@Article{Bernstein:1971:PTP, + author = "A. J. Bernstein", + title = "A programmer training project", + journal = j-CACM, + volume = "14", + number = "7", + pages = "449--452", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "General Electric Res. and Dev. Center, Schenectady, NY, USA", + keywords = "black; course organisation; curriculum; jobs; programmer training project; programming; residents; training", + treatment = "G General Review", +} + +@Article{DeRemer:1971:SLK, + author = "Franklin L. DeRemer", + title = "Simple {LR(k)} grammars", + journal = j-CACM, + volume = "14", + number = "7", + pages = "453--460", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "47 9893", + mrreviewer = "J. E. L. Peck", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A class of context-free grammars, called the ``Simple LR(k)'' or SLR(k) grammars is defined.\par This class has been shown to include weak precedence and simple precedence grammars as proper subsets. \par How to construct parsers for the SLR(k) grammars is also shown. These parser-construction techniques are extendible to cover all of the LR(k) grammars of Knuth; they have been implemented and by direct comparison proved to be superior to precedence techniques, not only in the range of grammars covered, but also in the speed of parser construction and in the size and speed of the resulting parsers.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. of California, Santa Cruz, CA, USA", + keywords = "context-free grammar; deterministic pushdown automaton; finite-state machine; LR(k) grammar; parser; parsing algorithm; precedence grammar; syntactic analysis", + keywords = "context free grammars; context-free grammars; grammars; parser construction; precedence; simple LR(K) grammars", + treatment = "T Theoretical or Mathematical", +} + +@Article{Pratt:1971:LEG, + author = "Terrence W. Pratt and Daniel P. Friedman", + title = "A Language Extension for Graph Processing, and Its Formal Semantics", + journal = j-CACM, + volume = "14", + number = "7", + pages = "460--467 (or 461--467??)", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "46 6657", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "data structure; directed graph; flowchart; formal semantics; graph processing; Graspe; language extension; Lisp; problem oriented languages; syntax", + treatment = "T Theoretical or Mathematical", +} + +@Article{Paton:1971:ABC, + author = "Keith Paton", + title = "An algorithm for the blocks and cut nodes of a graph", + journal = j-CACM, + volume = "14", + number = "7", + pages = "468--475", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "05-04", + MRnumber = "46 5135", + mrreviewer = "E. M. Reingold", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Paton:1971:CAB}.", + abstract = "An efficient method is presented for finding blocks and cutnodes of an arbitrary undirected graph. The graph may be represented either (i) as an ordered list of edges or (ii) as a packed adjacency matrix. If $w$ denotes the word length of the machine employed, the storage (in machine words) required for a graph with $n$ nodes and $m$ edges increases essentially as $2(m+n)$ in case (i), or $(n^2)/w$ in case (ii). A spanning tree with labeled edges is grown, two edges finally bearing different labels if and only if they belong to different blocks. For both representations the time required to analyze a graph on $n$ nodes increases as $n^G$ where $G$ depends on the type of graph, $1 <= G <= 2$, and both bounds are attained. \par Values of G are derived for each of several suitable families of test graphs, generated by an extension of the web grammar approach. The algorithm is compared in detail with that proposed by Read for which 1 <= G <= 3.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics)", + corpsource = "Medical Res. Council, London, UK", + keywords = "algorithm; block; block-cutpoint-tree; blocks; cut nodes; cutnode; fundamental cycle set; graph; graph theory; labelled edges; lobe; lobe decomposition; lobe decomposition graph; ordered list of edges; packed adjacency matrix; separable; spanning tree; undirected; web grammar", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ferguson:1971:BAM, + author = "D. E. Ferguson", + title = "Buffer Allocation in Merge-Sorting", + journal = j-CACM, + volume = "14", + number = "7", + pages = "476--478", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A fixed buffer allocation for merge-sorting is presented here which minimizes the number of input-output operations for a given order of merge. \par When sorting on movable arm disks, the number of seeks is equal to the number of input-output operations, and the seek time usually controls the sort time. First some standard terminology is introduced. Then the input buffer allocation method is described, followed by an analysis of the improvement to be expected over more conventional allocation. This analysis makes use of a particular distribution function. An analysis of a completely different distribution is given which yields similar results. This suggests that the results do not depend on a particular distribution function. An optimum output buffer size is also determined. It is concluded that this buffering allocation can significantly reduce the time of merge sorting on movable arm disks when the input data are not random, and that this output buffer allocation should be used whether the data is random or not.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Programmatics Inc., Los Angeles, CA, USA", + keywords = "file; fixed buffer allocation; gamma distribution function; input output operations; item; merge sort; movable arm disks; optimum; output buffer size; seek time; sorting; storage allocation; string", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ramamoorthy:1971:SOE, + author = "C. V. Ramamoorthy and M. J. Gonzalez", + title = "Subexpression ordering in the execution of arithmetic expressions", + journal = j-CACM, + volume = "14", + number = "7", + pages = "479--485", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "46 6650", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "An arithmetic expression can often be broken down into its component subexpressions. Depending on the hardware environment in which the expression is to be executed, these subexpressions can be evaluated in serials, in parallel, or in a combination of these modes. This paper shows that expression execution time can be minimized only if consideration is given to the ordering of the subexpressions. In particular, subexpressions should be executed in order of decreasing memory and processor time requirements. This observation is valid for configurations ranging from a uniprocessor with an unbuffered main memory to multiprocessor with a ``cache'' buffer memory. If the number of subexpressions which can be executed in parallel exceeds the number of available processors, then execution of some of these subexpressions must be postponed. A procedure is given which combines this requirement with the earlier ordering considerations to provide an optimal execution sequence.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "arithmetic expression; arithmetic expressions; cache; compilers; computational trees; data handling; digital arithmetic; execution time; parallel processing; subexpression ordering", + treatment = "T Theoretical or Mathematical", +} + +@Article{McVitie:1971:SMP, + author = "D. G. McVitie and L. B. Wilson", + title = "The Stable Marriage Problem", + journal = j-CACM, + volume = "14", + number = "7", + pages = "486--490", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B99 (68A10)", + MRnumber = "46 6808", + mrreviewer = "R. B. Potts", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The original work of Gale and Shapley on an assignment method using the stable marriage criterion has been extended to find all the stable marriage assignments.\par The algorithm derived for finding all the stable marriage assignments is proved to satisfy all the conditions of the problem. Algorithm 411 applies to this paper.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C7310 (Mathematics computing)", + corpsource = "Univ. Newcastle upon Tyne, UK", + keywords = "assignment; assignment problems; assignment procedures; combinatorial mathematics; combinatorics; discrete mathematics; operational research; operations research; stable marriage problem; university entrance", + treatment = "T Theoretical or Mathematical", +} + +@Article{McVitie:1971:AAT, + author = "D. G. McVitie and L. B. Wilson", + title = "{ACM} Algorithm 411: Three Procedures for the Stable Marriage Problem", + journal = j-CACM, + volume = "14", + number = "7", + pages = "491--492", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Newcastle upon Tyne, UK", + keywords = "ALGOL procedures; assignment; combinatorial mathematics; operations research; stable marriage problem; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cermak:1971:AAG, + author = "J. {\v{C}}erm{\'{a}}k", + title = "{ACM} Algorithm 412: Graph Plotter", + journal = j-CACM, + volume = "14", + number = "7", + pages = "492--493", + month = jul, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib", + acknowledgement = ack-nhfb, + classcodes = "C6150E (General utility programs)", + corpsource = "Univ. Chem. Technol., Pardubice, Czechoslovakia", + keywords = "ALGOL procedure; computer graphics; graph; line; multivalued function; plot; printer; subroutines; utility programs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Anonymous:1971:PSS, + author = "Anonymous", + title = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + journal = j-CACM, + volume = "14", + number = "8", + pages = "??--??", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0210 (Algebra); C1110 (Algebra)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + keywords = "algebra; algebraic expressions; equivalence; greatest common divisors; polynomial; polynomials; resultants; roots; subresultants; symbolic and algebraic manipulation; zero", + sponsororg = "Assoc. Computing Machinery", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hearn:1971:ASM, + author = "Anthony C. Hearn", + title = "Applications of Symbolic Manipulation in Theoretical Physics", + journal = j-CACM, + volume = "14", + number = "8", + pages = "511--516", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/reduce.bib", + abstract = "This paper surveys the applications of symbolic computation techniques to problems in theoretical physics. Particular emphasis is placed on applications in quantum electrodynamics where the most activity has occurred.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "Univ. Utah, Salt Lake City, UT, USA", + keywords = "algebraic; algebraic simplification; computational physics; data handling; physics; quantum electrodynamics; simplification; symbol manipulation; symbolic computation; symbolic manipulation; theoretical physics", + sponsororg = "Assoc. Computing Machinery", + treatment = "T Theoretical or Mathematical", + xxtitle = "Applications of symbol manipulation in theoretical physics", +} + +@Article{Hall:1971:ASR, + author = "A. D. {Hall, Jr.}", + title = "The {Altran} system for rational function manipulation --- a survey", + journal = j-CACM, + volume = "14", + number = "8", + pages = "517--521", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6140D (High level languages); C7310 (Mathematics computing)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + keywords = "algebra; Altran; coefficients; computation; data structures; integer; language; languages; polynomial manipulation; polynomials; problem oriented; rational function manipulation; run time data structures; symbolic", + sponsororg = "Assoc. Computing Machinery", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Fenichel:1971:LTS, + author = "Robert R. Fenichel", + title = "List Tracing in Systems Allowing Multiple Cell Types", + journal = j-CACM, + volume = "14", + number = "8", + pages = "522--526", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "configuration; list processing; list tracing; multiple cell types; size; storage allocation", + sponsororg = "Assoc. Computing Machinery", + treatment = "P Practical", +} + +@Article{Moses:1971:ASG, + author = "J. Moses", + title = "Algebraic Simplification: {A} Guide for the Perplexed", + journal = j-CACM, + volume = "14", + number = "8", + pages = "527--537", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A15", + MRnumber = "46 8465", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Comp.Alg.1.bib", + acknowledgement = ack-nhfb, + classcodes = "B0210 (Algebra); C1110 (Algebra)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "algebra; algebraic simplification; automatic; simplification capabilities; substitution", + sponsororg = "Assoc. Computing Machinery", + treatment = "T Theoretical or Mathematical", +} + +@Article{Jefferys:1971:AAM, + author = "W. H. Jefferys", + title = "Automatic algebraic manipulation in celestial mechanics", + journal = j-CACM, + volume = "14", + number = "8", + pages = "538--541", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7320 (Physics and chemistry computing)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "algebra; automated algebraic manipulation; celestial mechanics; integration; perturbation theory; physics; Poisson series; processors", + sponsororg = "Assoc. Computing Machinery", + treatment = "P Practical", +} + +@Article{Barton:1971:GRA, + author = "D. Barton and J. P. Fitch", + title = "General relativity and the application of algebraic manipulative systems", + journal = j-CACM, + volume = "14", + number = "8", + pages = "542--547", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "83.53", + MRnumber = "48 1640", + mrreviewer = "I. K. Marek", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The paper describes some applications of symbolic algebra systems to problems of general relativity including the derivation of the field equations, the Petrov classification of a metric, and the solution of the field equations in the presence of matter in a simple case. Attention is drawn to the strictly algebraic difficulties encountered in this work.", + acknowledgement = ack-nhfb, + classcodes = "B0210 (Algebra); C1110 (Algebra)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "Computer Lab., Cambridge, UK", + keywords = "algebra; algebraic manipulation; algebraic manipulative systems; equation manipulation; field equations; general relativity; nonnumerical mathematics; Petrov classification; symbolic; symbolic mathematics", + sponsororg = "Assoc. Computing Machinery", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Moses:1971:SIS, + author = "Joel Moses", + title = "Symbolic Integration: The Stormy Decade", + journal = j-CACM, + volume = "14", + number = "8", + pages = "548--560", + month = aug, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A15", + MRnumber = "46 8466", + mrreviewer = "D. B. Hunter", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Three approaches to symbolic integration in the 1960's are described. The first, from artificial intelligence, led to Slagle's SAINT and to a large degree to Moses' SIN. The second, from algebraic manipulation, led to Manove's implementation and to Horowitz' and Tobey's reexamination of the Hermite algorithm for integrating rational functions. The third, from mathematics, led to Richardson's proof of the unsolvability of the problem for a class of functions and for Risch's decision procedure for the elementary functions.Generalizations of Risch's algorithm to a class of special functions and programs for solving differential equations and for finding the definite integral are also described.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C4160 (Numerical integration and differentiation)", + conflocation = "Los Angeles, CA, USA; 23-25 March 1971", + conftitle = "Papers from the 2nd symposium on symbolic and algebraic manipulation", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "algorithm; artificial intelligence; definite; definite integrals; differential equations; Hermite; integral; integrating rational functions; integration; Manove's implementation; Moses' SIN; proof; rational functions; Richardson's; Risch's decision procedure; SAINT; Slagle's; symbolic integration; unsolvability", + sponsororg = "Assoc. Computing Machinery", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Teichroew:1971:ERU, + author = "Daniel Teichroew", + title = "Education Related to the Use of Computers in Organizations", + journal = j-CACM, + volume = "14", + number = "9", + pages = "573--588", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "Learn about data bases and management. Extensive bibliography.", + classcodes = "C0220 (Computing education and training)", + keywords = "colleges; computer education; curriculum development; education; information systems; management; management information systems; professional; societies; universities", + treatment = "G General Review", +} + +@Article{Isoda:1971:EBT, + author = "Sadahiro Isoda and Eiichi Goto and Izumi Kimura", + title = "An Efficient Bit Table Technique for Dynamic Storage Allocation of $2^n$-word Blocks", + journal = j-CACM, + volume = "14", + number = "9", + pages = "589--592", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "An efficient bit table technique for dynamic storage allocation of $2^n$-word blocks, which requires a minimized amount of memory for bookkeeping purposes, is described. The technique has been tested in an implementation of the list processing language $L^6$. A number of ideas incorporated in the processor are also described.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Tokyo Univ., Japan", + keywords = "$L^6$; 2/sup n/ word blocks; bit table; bit table technique; bookkeeping; buddy system; dynamic storage allocation; free storage; L/sup 6/; list processing; list processing language; minimum memory; storage allocation", + treatment = "P Practical", +} + +@Article{Paton:1971:CAB, + author = "Keith Paton", + title = "Corrigendum: ``{An algorithm for the blocks and cutnodes of a graph}''", + journal = j-CACM, + volume = "14", + number = "9", + pages = "592--592", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:33:19 1997", + note = "See \cite{Paton:1971:ABC}.", + acknowledgement = ack-nhfb, +} + +@Article{Wong:1971:CSA, + author = "Eugene Wong and T. C. Chiang", + title = "Canonical Structure in Attribute Based File Organization", + journal = j-CACM, + volume = "14", + number = "9", + pages = "593--597", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: PhD Th., UCB, EECS, 1973.", + acknowledgement = ack-nhfb, + annote = "Combinatorial retrieval of multi-attribute subsets, applicable when there are few keyword choices. Thisis of T. C. Chiang.", + classcodes = "C6120 (File organisation)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "arbitrary Boolean functions; atoms; attribute based; boolean algebra; canonical structure; file organisation; file organization; intersections; lists; queries", + treatment = "T Theoretical or Mathematical", +} + +@Article{Phillips:1971:NBO, + author = "David L. Phillips", + title = "A note on best one-sided approximations", + journal = j-CACM, + volume = "14", + number = "9", + pages = "598--600", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D15", + MRnumber = "45 6158", + mrreviewer = "H. L. Loeb", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Argonne Nat. Lab., IL, USA", + keywords = "best; best approximation; best approximations; error; function approximation; goodness of fit; logarithmic; multiplicative constant; one sided approximations; one-sided approximation; relationship; relative error; uniform norm", + treatment = "T Theoretical or Mathematical", +} + +@Article{Liniger:1971:SCN, + author = "W. Liniger", + title = "A stopping criterion for the {Newton-Raphson} method in implicit multistep integration algorithms for nonlinear systems of ordinary differential equations", + journal = j-CACM, + volume = "14", + number = "9", + pages = "600--601", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65.60", + MRnumber = "44\#7754", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "IBM, Yorktown Heights, NY, USA", + keywords = "implicit multistep integration; integration; linear multistep formulas; Newton-Raphson method; nonlinear differential equations; nonlinear systems; ordinary differential equations; stopping criterion", + treatment = "T Theoretical or Mathematical", +} + +@Article{Flores:1971:ABS, + author = "Ivan Flores and George Madpis", + title = "Average Binary Search Length for Dense Ordered Lists", + journal = j-CACM, + volume = "14", + number = "9", + pages = "602--603", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Flores:1972:CAB}.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "City Univ. New York, NY, USA", + keywords = "average length; binary search; dense ordered lists; information retrieval; list processing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fenichel:1971:CCL, + author = "R. R. Fenichel", + title = "Comment on Cheney's List-Compaction Algorithm", + journal = j-CACM, + volume = "14", + number = "9", + pages = "603--604", + month = sep, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:31:54 1997", + keywords = "garbage collector; LISP; list processing; storage allocation; virtual memory", +} + +@Article{Earley:1971:TUD, + author = "Jay Earley", + title = "Toward an Understanding of Data Structures", + journal = j-CACM, + volume = "14", + number = "10", + pages = "617--627", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "data structures; formalism; graph; implementation; programming language; semantic", + treatment = "P Practical", +} + +@Article{ANSI:1971:CFS, + author = "{ANSI Subcommittee X3J3}", + title = "Clarification of {Fortran} Standards --- Second Report", + journal = j-CACM, + volume = "14", + number = "10", + pages = "628--642", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{ANSI:1966:AF}.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C6140D (High level languages)", + keywords = "American National Standard; Basic Fortran; Fortran; FORTRAN; language; language standard; language standard interpretation; language standard maintenance; programming language; specification; standard clarification; standardization; standardization committee; standards", + treatment = "G General Review", +} + +@Article{Oldehoeft:1971:EAI, + author = "A. E. Oldehoeft and S. D. Conte", + title = "Experiments with an automated instructional system for numerical methods", + journal = j-CACM, + volume = "14", + number = "10", + pages = "643--650", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7810C (Computer-aided instruction)", + corpsource = "Iowa State Univ., Ames, IA, USA", + keywords = "computer aided; computer aided instruction; instruction; instructional systems; numerical methods", + treatment = "X Experimental", +} + +@Article{Newman:1971:DP, + author = "W. M. Newman", + title = "Display procedures", + journal = j-CACM, + volume = "14", + number = "10", + pages = "651--660", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays)", + corpsource = "Univ. Utah, Salt Lake City, UT, USA", + keywords = "computer graphics; display files; display systems; programming languages", + treatment = "G General Review", +} + +@Article{Nemeth:1971:UPM, + author = "A. G. Nemeth and P. D. Rovner", + title = "User program measurement in a time-shared environment", + journal = j-CACM, + volume = "14", + number = "10", + pages = "661--666", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1971.bib", + abstract = "A general discussion of the measurement of software systems is followed by a description of a hardware and software scheme for measuring user programs in a time-shared environment. The TX-2 computer at MIT Lincoln Laboratory was used for the implementation of such a system and the characteristics of this implementation are reported. Finally, it is shown how other time-sharing systems may provide similar measuring facilities.", + acknowledgement = ack-nhfb, + annote = "A general discussion of the measurement of software systems is followed by a description of a hardware and software scheme for measuring user programs in a time-shared environment.", + classcodes = "C6150J (Operating systems)", + corpsource = "MIT, Lexington, MA, USA", + country = "USA", + descriptors = "Performance evaluation; software monitor; time sharing; operating system; multiprogramming; measurement; technology; virtual computer; performance improvement;", + enum = "2252", + keywords = "computer software; measurement; multiprogramming systems; operating systems; performance improvement; sharing systems; software; technology; time; time-sharing systems; TX2 computer; user program measurement; virtual computers", + language = "English", + references = "11", + treatment = "G General Review", +} + +@Article{Courtois:1971:CC, + author = "P. J. Courtois and F. Heymans and D. L. Parnas", + title = "Concurrent Control with `Readers' and `Writers'", + journal = j-CACM, + volume = "14", + number = "10", + pages = "667--668", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib", + acknowledgement = ack-nhfb, + annote = "Algorithms for scheduler design for multi accessed database", + classcodes = "C6150J (Operating systems)", + corpsource = "MBLE Res. Lab., Brussels, Belgium", + keywords = "critical section; mutual exclusion; operating systems (computers); programs; resources; shared access to; supervisory and executive", + treatment = "P Practical", +} + +@Article{Lyness:1971:AAE, + author = "J. N. Lyness and G. Sande", + title = "{ACM} Algorithm 413: {ENTCAF} and {ENTCRE}: Evaluation of Normalized {Taylor} Coefficients of an Analytic Function ({C5})", + journal = j-CACM, + volume = "14", + number = "10", + pages = "669--675", + month = oct, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Argonne Nat. Lab., IL, USA", + keywords = "Cauchy integral; complex arithmetic; complex variables; fast; Fourier transform; interpolation; mathematics; numerical differentiation; numerical integration; subroutines; Taylor coefficients; Taylor series", + treatment = "T Theoretical or Mathematical", +} + +@Article{Branquart:1971:CSA, + author = "P. Branquart and J. Lewi and M. Sintzoff and P. L. Wodon", + title = "The composition of semantics in {Algol 68}", + journal = j-CACM, + volume = "14", + number = "11", + pages = "697--708", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "MBLE, Brussels, Belgium", + keywords = "ALGOL; Algol 68; data; design of programming languages; programming languages; programming primitives; recursive composition; semantics; structures", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hamblen:1971:UCH, + author = "J. W. Hamblen", + title = "Using computers in higher education: past recommendations, status, and needs", + journal = j-CACM, + volume = "14", + number = "11", + pages = "709--712", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Southern Regional Education Board, Atlanta, GA, USA", + keywords = "computer science; computers; data processing; degree programs; education; educational technology; higher education; laboratory; national goals; testing", + treatment = "G General Review", +} + +@Article{Shell:1971:OPS, + author = "D. L. Shell", + title = "Optimizing the Polyphase Sort", + journal = j-CACM, + volume = "14", + number = "11", + pages = "713--719", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Shell:1972:COP}.", + abstract = "Various dispersion algorithms for the polyphase sorting procedure are examined.The optimum algorithm based on minimizing the total number of unit strings read is displayed. The logic of this algorithm is rather complicated; hence, several other new dispersion algorithms with more straightforward logic are presented. Of the simple dispersion algorithms discussed, the Horizontal is best. It does approximately one-fourth to one and one-half percent less reading and writing than most algorithms in use today. An additional two and one-fourth to three percent improvement can be achieved by utilizing the Modified Optimum Algorithm. This algorithm is relatively straightforward, but it requires a fairly close estimate of the total number of unit strings before the dispersion begins.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "General Electric Co., Schenectady, NY, USA", + keywords = "dispersion algorithm; dispersion algorithms; minimizing; optimisation; optimum; optimum dispersion algorithm; polyphase sorting; repetition operator; sorting; unit strings", + treatment = "T Theoretical or Mathematical", +} + +@Article{Aramaki:1971:AEL, + author = "I. Aramaki and T. Kawabata and K. Arimoto", + title = "Automation of etching-pattern layout", + journal = j-CACM, + volume = "14", + number = "11", + pages = "720--730", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B1130B (Computer-aided circuit analysis and design); B2210 (Printed circuits); C7410D (Electronic engineering computing)", + corpsource = "Sumitomo Electric Industries Ltd., Osaka, Japan", + keywords = "computer-aided circuit design; etching; heuristic etching pattern layout; ICs; Lee's algorithm; maze running; printed circuit board; printed circuits; wiring design", + treatment = "P Practical", +} + +@Article{Malcolm:1971:AFP, + author = "Michael A. Malcolm", + title = "On Accurate Floating-Point Summation", + journal = j-CACM, + volume = "14", + number = "11", + pages = "731--736", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65G05 (68-XX)", + MRnumber = "47 4434", + mrreviewer = "P. Brock", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + acknowledgement = ack-nj, + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Stanford Univ., CA, USA", + keywords = "digital arithmetic; error analysis; floating point summation", + treatment = "P Practical", +} + +@Article{Golub:1971:AAC, + author = "G. H. Golub and L. B. Smith", + title = "{ACM} Algorithm 414: {Chebyshev} Approximation of Continuous Functions by a {Chebyshev} System of Functions", + journal = j-CACM, + volume = "14", + number = "11", + pages = "737--746", + month = nov, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/acm.bib", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Stanford Univ., CA, USA", + keywords = "ALGOL 60; approximation; Chebyshev approximation; critical points; minimax; numerical properties; orthogonal polynomials; Remez algorithm; subroutines", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Gordon:1971:RPT, + author = "R. Gordon and G. T. Herman", + title = "Reconstruction of Pictures from Their Projections", + journal = j-CACM, + volume = "14", + number = "12", + pages = "759--768", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Gordon:1972:CRP}.", + abstract = "There are situations in the natural sciences and medicine (e.g. in electron microscopy and X-ray photography) in which it is desirable to estimate the gray levels of a digital picture at the individual points from the sums of the gray levels along straight lines (projections) at a few angles. Usually, in such situations, the picture is far from determined and the problem is to find the ``most representative'' picture. Three algorithms are described (all using Monte Carlo methods) which were designed to solve this problem. The algorithms are applicable in a large and varied number of fields. The most important uses may be the reconstruction of possibly asymmetric particles from electron micrographs and three-dimensional X-ray analysis.", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "State Univ., New York, Buffalo, NY, USA", + keywords = "approximation; biomedical image processing; efficient encoding; electron microscopy; image; image processing; linear programming; mathematical programming; medicine; Monte Carlo; Monte Carlo methods; Monte Carlo techniques; natural sciences; optical information; optimization; physics; picture compression; picture description; picture processing; processing; projections; reconstruction of pictures; stereology; techniques; X-ray analysis; X-ray photography", + treatment = "P Practical", +} + +@Article{Amidon:1971:ASB, + author = "E. L. Amidon and G. S. Akin", + title = "Algorithmic Selection of the Best Method for Compressing Map Data Strings", + journal = j-CACM, + volume = "14", + number = "12", + pages = "769--774", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The best of a dozen different methods for compressing map data is illustrated. The choices are generated by encoding data strings-sequence of like codes-by three methods and in four directions. Relationships are developed between compression alternatives to avoid comparing all of them. The technique has been used to compress data from forest resource maps, but is widely applicable to map and photographic data reduction.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C7890 (Other special applications of computing)", + corpsource = "Pacific Southwest Forest and Range Experiment Station, Berkeley, CA, USA", + keywords = "data compression; data reduction; data reduction and analysis; data strings; forest resource maps; information retrieval; input/output; map; map storage; run coding; storage", + treatment = "P Practical", +} + +@Article{Mullin:1971:RUS, + author = "James K. Mullin", + title = "Retrieval-Update Speed Trade-offs Using Combined Indexes", + journal = j-CACM, + volume = "14", + number = "12", + pages = "775--776", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + corpsource = "Univ. Western Ontario, London, Ont., Canada", + keywords = "combined index files; file; file organisation; file update; indexing; information retrieval; information retrieval systems; inverted files; minimal cost; organisation; query; retrieval time; speed tradeoffs", + treatment = "P Practical", + xxtitle = "Retrieval-update speed tradeoffs using combined indices", +} + +@Article{Harrison:1971:IST, + author = "M. C. Harrison", + title = "Implementation of the Substring Test by Hashing", + journal = j-CACM, + volume = "14", + number = "12", + pages = "777--779", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Tharp:1982:PTS}.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "New York Univ., NY, USA", + keywords = "compression; data handling; hashing; information; information retrieval; programming; searching; signature; subset; substring test", + treatment = "P Practical", +} + +@Article{Wulf:1971:BLS, + author = "W. A. Wulf and D. B. Russell and A. N. Habermann", + title = "{BLISS}: {A} language for systems programming", + journal = j-CACM, + volume = "14", + number = "12", + pages = "780--790", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "46 8463", + mrreviewer = "P. Deussen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/Ai.misc.bib", + abstract = "A language, BLISS, is described. This language is designed so as to be especially suitable for use in writing production software systems for a specific machine (the PDP-10): compilers, operating systems, etc. Prime design goals of the design are the ability to produce highly efficient object code, to allow access to all relevant hardware features of the host machine, and to provide a rational means by which to cope with the evolutionary nature of systems programs. A major feature which contributes to the realization of these goals is a mechanism permitting the definition of the representation of all data structures in terms of the access algorithm for elements of the structure.", + acknowledgement = ack-nhfb, + classcodes = "C5420 (Mainframes and minicomputers); C6120 (File organisation); C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "data structures; implementation language; programming languages; systems programming", + keywords = "BLISS; compilers; data structures; language; minicomputers; operating systems; program processors; programming languages; software systems; supervisory and executive programs; systems programming", + treatment = "P Practical", +} + +@Article{Rochfeld:1971:NLT, + author = "A. Rochfeld", + title = "New {LISP} Techniques for a Paging Environment", + journal = j-CACM, + volume = "14", + number = "12", + pages = "791--795", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6140D (High level languages)", + corpsource = "Univ. Edinburgh, UK", + keywords = "block segment; collection; compact; core fragmentation; garbage; LISP; list processing; list structures; management; paging environment; procedure oriented languages; storage; virtual memory", + treatment = "P Practical", +} + +@Article{Blumberg:1971:NMN, + author = "J. W. Blumberg and C. R. Foulk", + title = "A note on `a modification of {Nordsieck}'s method using an ``off-step'' point'", + journal = j-CACM, + volume = "14", + number = "12", + pages = "796--796", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Ohio State Univ., Columbus, OH, USA", + keywords = "corrector; corrector methods; differential equations; modification; multistep methods; Nordsieck's method; numerical methods; off error; ordinary differential equations; predictor; predictor-; round", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gustafson:1971:RCG, + author = "Sven-{\AA}ke A. Gustafson", + title = "Rapid Computation of General Interpolation Formulas and Mechanical Quadrature Rules", + journal = j-CACM, + volume = "14", + number = "12", + pages = "797--801", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05", + MRnumber = "46 10167a", + mrreviewer = "V. Pereyra", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Royal Inst. Technol., Stockholm, Sweden", + keywords = "divided differences; formula; functionals; general interpolation formulas; Hermitian; interpolation; Lagrangian; linear; mechanical quadrature rules; Newton's interpolation; rapid computation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bourgeois:1971:EMA, + author = "Fran{\c{c}}ois Bourgeois and Jean-Claude Lassalle", + title = "An extension of the {Munkres} algorithm for the assignment problem to rectangular matrices", + journal = j-CACM, + volume = "14", + number = "12", + pages = "802--804", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90C05", + MRnumber = "47 4628", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The assignment problem, together with Munkres proposed algorithm for its solution in square matrices, is presented first. Then the authors develop an extension of this algorithm which permits a solution for rectangular matrices. Timing results obtained by using an adapted version of Silver's Algol procedure are discussed, and a relation between solution time and problem size is given.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "CERN, Geneva, Switzerland", + keywords = "algorithm; assignment problem; matrix algebra; Munkres algorithm; operations research; optimisation; optimization theory; rectangular matrices", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bourgeois:1971:AAA, + author = "F. Bourgeois and J. C. Lassalle", + title = "{ACM} Algorithm 415: Algorithm for the Assignment Problem (Rectangular Matrices)", + journal = j-CACM, + volume = "14", + number = "12", + pages = "805--806", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "CERN, Geneva, Switzerland", + keywords = "algorithm; assignment problem; matrix algebra; operations research; optimization; rectangular matrices; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gustafson:1971:AARa, + author = "Sven-{\AA}ke Gustafson", + title = "{ACM} Algorithm 416: Rapid Computation of Coefficients of Interpolation Formulas [{E1}]", + journal = j-CACM, + volume = "14", + number = "12", + pages = "806--807", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05", + MRnumber = "46 10167b", + mrreviewer = "V. Pereyra", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Stanford Univ., CA, USA", + keywords = "algorithm; coefficients; divided differences; interpolation; interpolation formula; rapid computation; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gustafson:1971:AARb, + author = "Sven-{\AA}ke Gustafson", + title = "{ACM} Algorithm 417: Rapid Computation of Weights of Interpolatory Quadrature Rules [{D1}]", + journal = j-CACM, + volume = "14", + number = "12", + pages = "807--807", + month = dec, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05", + MRnumber = "46 10167c", + mrreviewer = "V. Pereyra", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Stanford Univ., CA, USA", + keywords = "algorithm; divided differences; interpolation; interpolation formulae; mechanical quadrature rules; rapid computation; subroutines; weights", +} + +@Article{Aho:1971:POP, + author = "A. V. Aho and P. J. Denning and J. D. Ullman", + title = "Principles of optimal page replacement", + journal = j-CACM, + volume = "18", + number = "1", + pages = "80--93", + month = jan, + year = "1971", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib", +} + +@Article{Johnson:1972:RCA, + author = "S. C. Johnson and B. W. Kernighan", + title = "Remark on {``CACM Algorithm 397''}", + journal = j-CACM, + volume = "5", + number = "6", + pages = "469", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Dec 26 16:35:37 1995", + note = "Check volume/number/year??", + keywords = "acm cacm", +} + +@Article{Bartels:1972:ASM, + author = "R. H. Bartels and G. W. Stewart", + title = "Algorithm 432: The Solution of the Matrix Equation {$AX -+BX = C$}", + journal = j-CACM, + volume = "8", + number = "9", + pages = "820--826", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 11:19:15 1996", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + note = "Check volume/number/year??", + acknowledgement = ack-nhfb, + keywords = "linear algebra; linear equations; matrices", + kwds = "nla, Schur form, Sylvester equation, Lyapunov equation, matrix equation", +} + +@Article{Lesk:1972:PPR, + author = "A. M. Lesk", + title = "Pictorial pattern recognition and the phase problem of {X}-ray crystallography", + journal = j-CACM, + volume = "15", + number = "1", + pages = "3--6", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "A6100 (Structure of liquids and solids; crystallography); A6150 (Crystalline state); B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Princeton Univ., NJ, USA", + keywords = "calculation methods; cross correlation; crystallography; hypotheses; molecular model building; pattern recognition; phase problem; physics; pictorial pattern recognition; structural; X-ray; X-ray crystallography", + treatment = "T Theoretical or Mathematical", +} + +@Article{Levialdi:1972:SBP, + author = "S. Levialdi", + title = "On Shrinking Binary Picture Patterns", + journal = j-CACM, + volume = "15", + number = "1", + pages = "7--10", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A parallel processing algorithm for shrinking binary patterns to obtain single isolated elements, one for each pattern, is presented. This procedure may be used for counting patterns on a matrix, and a hardware implementation of the algorithm using large scale integrated technology is envisioned. The principal features of this method are the very small window employed (two-by-two elements), the parallel nature of the process, and the possibility of shrinking any pattern, regardless of the complexity of its configuration. Problems regarding merging and disconnection of patterns during the process as well as the determination of the maximum number of steps necessary to obtain a single isolated element from a pattern, are reviewed and discussed. An analogy with a neural network description, in terms of McCulloch-Pitts ``neurons'' is presented.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "CNR, Napoli, Italy", + keywords = "counting binary patterns; counting patterns; disconnection; isolated element; large scale integrated; matrix; merging; multiple connected; multiple connected pictures; neural network; parallel processing; pattern recognition; pictures; shrinking; shrinking binary picture patterns; single; small window; technology", + treatment = "T Theoretical or Mathematical", +} + +@Article{Duda:1972:UHT, + author = "R. O. Duda and P. E. Hart", + title = "Use of the Hough transformation to detect lines and curves in pictures", + journal = j-CACM, + volume = "15", + number = "1", + pages = "11--15", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib", + abstract = "Hough has proposed an interesting and computationally efficient procedure for detecting lines in pictures. This paper points out that the use of angle-radius rather than slope-intercept parameters simplifies the computation further. It also shows how the method can be used for more general curve fitting, and gives alternative interpretations that explain the source of its efficiency.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "Stanford Res. Inst., Menlo Park, CA, USA", + keywords = "angle radius; colinear points; curve detection; curves; detecting lines; Hough transformation; line detection; pattern recognition; picture processing; pictures; point-line transformation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Irons:1972:CES, + author = "E. T. Irons and F. M. Djorup", + title = "A {CRT} editing system", + journal = j-CACM, + volume = "15", + number = "1", + pages = "16--20", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Inst. Defense Analyses, Princeton, NJ, USA", + keywords = "CRT editing system; entry display; manipulation program; text; text editing; time sharing", + treatment = "A Application; E Economic; P Practical", +} + +@Article{Dwyer:1972:TSA, + author = "T. A. Dwyer", + title = "Teacher\slash student authored {CAI} using the {NEWBASIC} system", + journal = j-CACM, + volume = "15", + number = "1", + pages = "21--28", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7810C (Computer-aided instruction)", + corpsource = "Univ. Pittsburgh, PA, USA", + keywords = "CAI; capability; CATALYST; computer aided instruction; flexible CAI scan; interactive; NEWBASIC system; secondary school", + treatment = "A Application; P Practical", +} + +@Article{Shell:1972:COP, + author = "Donald L. Shell", + title = "Corrigendum: {``Optimizing the Polyphase Sort''}", + journal = j-CACM, + volume = "15", + number = "1", + pages = "28--28", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:37:36 1997", + note = "See \cite{Shell:1971:OPS}.", +} + +@Article{McCalla:1972:MMU, + author = "G. I. McCalla and J. R. Sampson", + title = "{MUSE}: {A Model to Understand Simple English}", + journal = j-CACM, + volume = "15", + number = "1", + pages = "29--40", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Univ. Alberta, Edmonton, Alta., Canada", + keywords = "ambiguity; computer model; English sentences; generalization; information addition to memory; interpretation; intersection procedure; language translation and linguistics; MUSE; natural language processing; network; resolution; semantic memory; syntactic analysis; text", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Shrager:1972:QPN, + author = "R. I. Shrager", + title = "Quadratic programming for nonlinear regression", + journal = j-CACM, + volume = "15", + number = "1", + pages = "41--45", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + corpsource = "Dept. Health and Education, Bethesda, MD, USA", + keywords = "diagonal method; linear constraints; magnified; nonlinear regression; quadratic programming", + treatment = "T Theoretical or Mathematical", +} + +@Article{Salzer:1972:OOW, + author = "H. E. Salzer", + title = "Ordering +or-f(+or-f(+or-f(\ldots{}+or-f(x)\ldots{}))) when f(x) is positive monotonic", + journal = j-CACM, + volume = "15", + number = "1", + pages = "45--46", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4190 (Other numerical methods)", + keywords = "combination; numerical methods; ordering; positive monotonic; real arguments; signs", +} + +@Article{Einarsson:1972:AAC, + author = "B. Einarsson", + title = "{ACM} Algorithm 418: Calculation of {Fourier} Integrals", + journal = j-CACM, + volume = "15", + number = "1", + pages = "47--48", + month = jan, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Res. Inst. Nat. Defense, Tumba, Sweden", + keywords = "calculation; FORTRAN routine; Fourier integrals; integration; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Pager:1972:PCB, + author = "David Pager", + title = "A Proposal for a Computer-Based Interactive Scientific Community", + journal = j-CACM, + volume = "15", + number = "2", + pages = "71--75", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Because of the problems created by the explosion of papers in the mathematical sciences and the drawbacks that this places on research, it is suggested that a tree of all mathematical results and terminology be maintained in a multiterminal computer system.\par Users of the system can store in the computer an updated file of their current knowledge, and on selecting a paper to read, they can obtain from the computer the minimum subtree of theorems required to bring them from what they already know to the background knowledge which the paper assumes. Under certain conditions, means are also provided for the contribution of useful comments by the readers of a work and for interaction between commentators and with the author. \par This paper describes how the system can be organized and the role required of readers, writers, and commentators.", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + corpsource = "Univ. Hawaii, Honolulu, HI, USA", + keywords = "commentators; computer utility; data structures; information retrieval; interactive system; organization of scientific community; readers; trees; writers", + keywords = "commentators; computer utility; data structures; information retrieval; information retrieval systems; interactive system; organization of scientific community; readers; trees; trees (mathematics); writers", + treatment = "G General Review", +} + +@Article{Eastman:1972:PRS, + author = "C. M. Eastman", + title = "Preliminary report on a system for general space planning", + journal = j-CACM, + volume = "15", + number = "2", + pages = "76--87", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C7400 (Engineering computing)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "ALGOL; architects; CAD; computer language; computer-aided design; engineering; extension of ALGOL; general space planning; heuristic programming; orthographic drawings; set of programs; urban designers", + treatment = "G General Review; P Practical", +} + +@Article{Martin:1972:OBT, + author = "W. A. Martin and D. N. Ness", + title = "Optimizing Binary Trees Grown with a Storing Algorithm", + journal = j-CACM, + volume = "15", + number = "2", + pages = "88--93", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "algorithm; binary trees; data handling; optimisation; optimization; recursion; retrieving information; sorting; trees (mathematics)", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Oldehoeft:1972:MCP, + author = "A. E. Oldehoeft and M. H. Halstead", + title = "Maximum computing power and cost factors in the centralization problem", + journal = j-CACM, + volume = "15", + number = "2", + pages = "94--96", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + corpsource = "Iowa State Univ., Ames, IA, USA", + keywords = "centralisation; computer management; cost factors; decentralisation; economics; economies of scale; installations; large single machine installations; management; maximum computing power; multimachine", + treatment = "E Economic", +} + +@Article{Jenkins:1972:AAZ, + author = "M. A. Jenkins and J. F. Traub", + title = "{ACM} Algorithm 419: Zeros of a Complex Polynomial", + journal = j-CACM, + volume = "15", + number = "2", + pages = "97--99", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4150 (Nonlinear and functional equations); C7310 (Mathematics computing)", + corpsource = "Queen's Univ., Kingston, Ont., Canada", + keywords = "complex polynomial; FORTRAN; poles and zeros; polynomials; roots; subroutine; subroutines; zeros", + treatment = "P Practical", +} + +@Article{Williamson:1972:AAH, + author = "H. Williamson", + title = "{ACM} Algorithm 420: Hidden-Line Plotting Program", + journal = j-CACM, + volume = "15", + number = "2", + pages = "100--103", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Tracor Computing Corp., Austin, TX, USA", + descriptors = "Fortran; graphics; iterative method; application; method; human factors; diagram manipulation; hidden line algorithm;", + keywords = "computer graphics; data handling; FORTRAN; hidden line plotting; subroutine; subroutines; surface plot", + treatment = "P Practical", +} + +@Article{Moorer:1972:MCC, + author = "J. A. Moorer", + title = "Music and computer composition", + journal = j-CACM, + volume = "15", + number = "2", + pages = "104--113", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7820 (Humanities computing)", + corpsource = "Stanford Univ., CA, USA", + keywords = "artificial intelligence; composition; computer music; harmony; heuristic; humanities; models of cognitive processes; music theory; program; programming", + treatment = "G General Review", +} + +@Article{Flores:1972:CAB, + author = "Ivan Flores and George Madpis", + title = "Corrigendum: {``Average Binary Search Length for Dense Ordered Lists''}", + journal = j-CACM, + volume = "15", + number = "2", + pages = "113--113", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:37:46 1997", + note = "See \cite{Flores:1971:ABS}.", +} + +@Article{Gordon:1972:CRP, + author = "Richard Gordon and Gabor T. Herman", + title = "Corrigendum: {``Reconstruction of Pictures from Their Projections''}", + journal = j-CACM, + volume = "15", + number = "2", + pages = "113--113", + month = feb, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Fri Jan 17 18:38:30 1997", + note = "See \cite{Gordon:1971:RPT}.", +} + +@Article{Anonymous:1972:PAS, + author = "Anonymous", + title = "Papers from the 3rd {ACM} symposium on operating systems principles", + journal = j-CACM, + volume = "15", + number = "3", + pages = "??--??", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + keywords = "access; computer; operating systems; operating systems (computers); parallel processing supervisory; partitioning; storage; time sharing systems", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Bobrow:1972:TPT, + author = "D. G. Bobrow and J. D. Burchfiel and D. L. Murphy and R. S. Tomlinson", + title = "{TENEX}, {A} Paged Time-Sharing System for the {PDP-10}", + journal = j-CACM, + volume = "15", + number = "3", + pages = "135--143", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "Includes description of file system aspects and protection.", + classcodes = "C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Computer Sci. Div., Cambridge, UK", + keywords = "minicomputers; paged time sharing system; PDP 10; TENEX; time-sharing programs", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical", +} + +@Article{Liskov:1972:DVO, + author = "B. H. Liskov", + title = "The Design of the {Venus} Operating System", + journal = j-CACM, + volume = "15", + number = "3", + pages = "144--149", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "MITRE Corporation. Bedford, MA, USA", + keywords = "architecture; computer architecture; operating systems (computers); small computer; software; Venus operating system", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical", +} + +@Article{Gains:1972:OSB, + author = "R. Stockton Gains", + title = "An operating system based on the concept of a supervisory computer", + journal = j-CACM, + volume = "15", + number = "3", + pages = "150--156", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Inst. Defense Analyses, von Neumann Hall, Princeton, NJ, USA", + keywords = "independent; operating system; operating systems (computers); processes; supervisory computer", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Schroeder:1972:HAI, + author = "Michael D. Schroeder and Jerome H. Saltzer", + title = "A Hardware Architecture for Implementing Protection Rings", + journal = j-CACM, + volume = "15", + number = "3", + pages = "157--170", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "access control; access privileges; architecture; computer architecture; digital storage; Multics; protection rings; system", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical", +} + +@Article{Habermann:1972:SCP, + author = "A. Nico Habermann", + title = "Synchronization of Communicating Processes", + journal = j-CACM, + volume = "15", + number = "3", + pages = "171--176", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Carnegie-Mellon Univ., Pittsburg, PA, USA", + keywords = "buffer store; communication; concurrency; operating systems (computers); parallel processes; parallel processing; synchronisation; synchronization", + sponsororg = "Assoc. Computing machinery", +} + +@Article{Teorey:1972:CAD, + author = "Toby J. Teorey and Tad B. Pinkerton", + title = "A Comparative Analysis of Disk Scheduling Policies", + journal = j-CACM, + volume = "15", + number = "3", + pages = "177--184", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/is.bib", + acknowledgement = ack-nhfb, + annote = "Analysis, design of hardware. Minimizing seeks and latencies.", + classcodes = "C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "criteria; disk scheduling policies; magnetic storage systems; multiprogramming; performance; seek time; waiting time", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical", +} + +@Article{Coffman:1972:SSP, + author = "E. G. {Coffman, Jr.} and T. A. {Ryan, Jr.}", + title = "A study of storage partitioning using a mathematical model of locality", + journal = j-CACM, + volume = "15", + number = "3", + pages = "185--190", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib", + acknowledgement = ack-nhfb, + classcodes = "C1220 (Simulation, modelling and identification); C6150J (Operating systems)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Pennsylvania State Univ., University Park, PA, USA", + keywords = "dynamic; fixed; mathematical model of locality; modelling; multiprogramming; storage allocation; storage partitioning", + sponsororg = "Assoc. Computing machinery", + treatment = "P Practical", +} + +@Article{Denning:1972:PWS, + author = "Peter J. Denning and Stuart C. Schwartz", + title = "Properties of the working-set model", + journal = j-CACM, + volume = "15", + number = "3", + pages = "191--198", + month = mar, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "47 6119", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Denning:1973:CWM}.", + abstract = "A program's working set $W(t,T)$ at time $t$ is the set of distinct pages among the T most recently referenced pages. Relations between the average working-set size, the missing-page rate, and the interreference-interval distribution may be derived both from time-average definitions and from ensemble-average (statistical) definitions. An efficient algorithm for estimating these quantities is given. The relation to LRU (least recently used) paging is characterized. The independent-reference model, in which page references are statistically independent, is used to assess the effects to interpage dependencies on working-set size observations. Under general assumptions, working-set size is shown to be normally distributed.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + conflocation = "Palo Alto, CA, USA; 18-20 Oct. 1971", + conftitle = "Papers from the 3rd ACM symposium on operating systems principles", + corpsource = "Princeton Univ., NJ, USA", + keywords = "paging; paging algorithms; program behavior; program modeling; working-set model", + keywords = "model; modelling; paging; programming theory; supervisory programs; working set", + sponsororg = "Assoc. Computing machinery", + treatment = "T Theoretical or Mathematical", +} + +@Article{Conway:1972:ISM, + author = "R. W. Conway and W. L. Maxwell and H. L. Morgan", + title = "On the Implementation of Security Measures in Information Systems", + journal = j-CACM, + volume = "15", + number = "4", + pages = "211--220", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "access control confidentiality; access management; data banks; information systems; management; model; modelling; operating systems; privacy; security; security of data", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Walden:1972:SIC, + author = "D. C. Walden", + title = "A system for interprocess communication in a resource sharing computer network", + journal = j-CACM, + volume = "15", + number = "4", + pages = "221--230", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib", + note = "Reproduced in ``Advances in Computer Communications'', W. W. Chu, (Ed.), (1974), 340--349.", + abstract = "A system of communication between processes in a time-sharing system is described and the communication system is extended so that it may be used between processes distributed throughout a computer network. \par The hypothetical application of the system to an existing network is discussed.", + acknowledgement = ack-nhfb, + annote = "A system of communication between processes in a time-sharing system is described and the communication is extended so that it may be used between processes distributed throughout a computer network. The hypothetical application of the system to an existing network is discussed.", + classcodes = "C5490 (Other aspects of analogue and digital computers); C5620 (Computer networks and techniques)", + corpsource = "Bolt Beranek and Newman Inc., Cambridge, MA, USA", + country = "USA", + descriptors = "Resource management; computer network; time sharing; interprocess communication;", + enum = "3213", + keywords = "computer networks; digital communication systems; hypothetical application; interprocess communication; resource sharing; time sharing; time-sharing; time-sharing systems", + language = "English", + references = "10", + treatment = "T Theoretical or Mathematical", +} + +@Article{Herbst:1972:ELP, + author = "N. M. Herbst and P. M. Will", + title = "An experimental laboratory for pattern recognition and signal processing", + journal = j-CACM, + volume = "15", + number = "4", + pages = "231--244", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5490 (Other aspects of analogue and digital computers)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + keywords = "analogue input and output facilities; computer; design; display systems; image; interactive terminal; pattern recognition; process control digital; processing; programming support; pseudorandom displays; scanner control; scanners; signal processing; system; TV camera", + treatment = "A Application; X Experimental", +} + +@Article{Matsushita:1972:HLE, + author = "Yutaka Matsushita", + title = "Hidden lines elimination for a rotating object", + journal = j-CACM, + volume = "15", + number = "4", + pages = "245--252", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "47 7945", + mrreviewer = "Rani Siromoney", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A method is presented of determining which parts of three-dimensional objects are visible and which are invisible when the objects are rotated about some axis. This paper describes a polygon comparison scheme in which the relationships of two polygons can be classified into tree types, and also discusses how the relationship is changed for each pair of polygons under rotation about some axis. A rotation table is defined for each pair of polygons, which remains fixed as long as rotation is about one axis and provides a means of rapidly determining the visible and hidden line relationship between two polygons. \par Additional work must be done to extend this approach to simultaneous rotation about several axes.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + keywords = "computer drawn picture; computer graphics; data handling; display programming; displays; graphics; hidden line; hidden line problem; polygon comparison scheme; problem; rotating object", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Chase:1972:IGA, + author = "S. M. Chase", + title = "An implemented graph algorithm for winning {Shannon Switching Games}", + journal = j-CACM, + volume = "15", + number = "4", + pages = "253--256", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + keywords = "artificial intelligence; computer; game playing; graph algorithm; programme; Shannon Switching Games; winning strategy", + treatment = "P Practical", +} + +@Article{Horowitz:1972:CSP, + author = "E. Horowitz and H. L. Morgan and A. C. Shaw", + title = "Computers and Society: {A} Proposed Course for Computer Scientists", + journal = j-CACM, + volume = "15", + number = "4", + pages = "257--261", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The purpose of this paper is to describe a course concerned with both the effects of computers on society and the responsibilities of computer scientists to society. The impact of computers is divided into five components: political, economic, cultural, social, and moral; the main part of the paper defines each component and presents examples of the relevant issues. In the remaining portions the possible formats for such a course are discussed, a topic by topic outline is given, and a selected set of references is listed. It is hoped that the proposal will make it easier to initiate courses on this subject.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "computer scientists; computers and society; course; course proposal; cultural; economic; economic and sociological effects; education; moral; political; social; social implications", + treatment = "P Practical", +} + +@Article{Kuki:1972:CGF, + author = "H. Kuki", + title = "Complex gamma function with error control", + journal = j-CACM, + volume = "15", + number = "4", + pages = "262--267", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "algorithm; complex; complex gamma function; error control; function approximation; loggamma function", + treatment = "T Theoretical or Mathematical", +} + +@Article{Moler:1972:MCF, + author = "C. B. Moler", + title = "Matrix Computations with {Fortran} and Paging", + journal = j-CACM, + volume = "15", + number = "4", + pages = "268--270", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C6140D (High level languages)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "FORTRAN; Fortran; linear equations; matrix algebra; matrix computations; memory hierarchy; nested loops; nla; paged memory; virtual memory", + treatment = "P Practical", +} + +@Article{Kuki:1972:AAC, + author = "Hirondo Kuki", + title = "{ACM} Algorithm 421: Complex Gamma Function with Error Control", + journal = j-CACM, + volume = "15", + number = "4", + pages = "271--272", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D20", + MRnumber = "47 1249", + mrreviewer = "L. Fox", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "complex gamma function; complex loggamma; error control; FORTRAN; function; function approximation; programme; subroutines", +} + +@Article{Whitney:1972:AAM, + author = "V. K. M. Whitney", + title = "{ACM} Algorithm 422: Minimal Spanning Tree", + journal = j-CACM, + volume = "15", + number = "4", + pages = "273--274", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See remark \cite{Kernighan:1973:RAM}.", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "algorithm; FORTRAN; maximal spanning tree; minimal spanning tree; spanning tree; subroutines; trees (mathematics); undirected graph", +} + +@Article{Moler:1972:AAL, + author = "C. B. Moler", + title = "{ACM} Algorithm 423: Linear Equation Solver", + journal = j-CACM, + volume = "15", + number = "4", + pages = "274--274", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "array processing; Fortran; linear algebra; linear equation solver; memory; paged memory; subroutines; virtual", +} + +@Article{Walden:1972:NCN, + author = "D. C. Walden", + title = "A Note on {Cheney}'s Nonrecursive List-Compacting Algorithm", + journal = j-CACM, + volume = "15", + number = "4", + pages = "275--275", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "A/S Norsk Data-Elektronikk, Oslo, Norway", + keywords = "algorithm; garbage collection; list compacting; list processing; nonrecursive; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hu:1972:CDC, + author = "T. C. Hu", + key = "file searching, double-chained tree, binary search tree", + title = "A Comment on the Double-Chained Tree", + journal = j-CACM, + volume = "15", + number = "4", + pages = "276--276", + month = apr, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "binary search tree; double chained tree; file organisation; file searching; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mullin:1972:IIS, + author = "James K. Mullin", + title = "An Improved Indexed-Sequential Access Method Using Hashed Overflow", + journal = j-CACM, + volume = "15", + number = "5", + pages = "301--307", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/hash.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Western Ontario, Ont., Canada", + keywords = "cylinder; file management systems; file organisation; hashed overflow; improved index sequential access method; long overflow chains; movable head disc devices; overflow records; record keys; scatter; space allocation; storage; storage allocation; storage management; treating", + treatment = "P Practical", +} + +@Article{Bensoussan:1972:MVM, + author = "A. Bensoussan and C. T. Clingen and R. C. Daley", + title = "The {Multics} Virtual Memory: Concepts and Design", + journal = j-CACM, + volume = "15", + number = "5", + pages = "308--318", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Honeywell Information Systems Inc., Cambridge, MA, USA", + keywords = "concepts; design; hierarchy; information sharing; memory; memory management; Multics virtual memory; online operating systems; Operating segments paging sharing management CACM; operating systems (computers); paging; segmentation", + treatment = "P Practical", +} + +@Article{Christman:1972:MSA, + author = "R. D. Christman", + title = "{MUX}, a simple approach to on-line computing", + journal = j-CACM, + volume = "15", + number = "5", + pages = "319--329", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Univ. California, Los Alamos, NM, USA", + keywords = "batch system; CDC 6600 computer; cost; design criteria; economics; implementation; input; modify files; multi-access systems; multiplexer; MUX; online computing; online operation; operating; overhead; systems (computers); user reactions", + treatment = "E Economic; P Practical", +} + +@Article{Parnas:1972:TSM, + author = "David L. Parnas", + title = "A technique for software module specification with examples", + journal = j-CACM, + volume = "15", + number = "5", + pages = "330--336", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "programming; software design; software module specification; technique", + treatment = "P Practical", +} + +@Article{Gentleman:1972:ICCa, + author = "W. Morven Gentleman", + title = "Implementing {Clenshaw-Curtis} quadrature. {I}. Methodology and experience", + journal = j-CACM, + volume = "15", + number = "5", + pages = "337--342", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D30", + MRnumber = "48 5343", + mrreviewer = "D. F. Mayers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Comp.Alg.1.bib", + abstract = "Clenshaw-Curtis quadrature is a particularly important automatic quadrature scheme for a variety of reasons, especially the high accuracy obtained from relatively few integrand values. However, it has received little use because it requires the computation of a cosine transformation and the arithmetic cost of this has been prohibitive. This paper is in two parts; a companion paper, ``II Computing the Cosine Transformation,'' shows that this objection can be overcome by computing the cosine transformation by a modification of the fast Fourier transform algorithm. \par This first part discusses the strategy and various error estimates, and summarizes experience with a particular implementation of the scheme.", + acknowledgement = ack-nhfb, + classcodes = "C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "automatic quadrature; Chebyshev series; Clenshaw Curtis; Clenshaw-Curtis quadrature; error analysis; error estimates; experience; implementation; integration; numerical integration; numerical methods; strategy", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gentleman:1972:ICCb, + author = "W. Morvin Gentleman", + title = "Implementing {Clenshaw-Curtis} quadrature. {II}. Computing the cosine transformation", + journal = j-CACM, + volume = "15", + number = "5", + pages = "343--346", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D30", + MRnumber = "48 5344", + mrreviewer = "D. F. Mayers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "In a companion paper to this, ``I Methodology and Experiences,'' the automatic Clenshaw-Curtis quadrature scheme was described and how each quadrature formula used in the scheme requires a cosine transformation of the integrand values was shown. The high cost of these cosine transformations has been a serious drawback in using Clenshaw-Curtis quadrature. \par Two other problems related to the cosine transformation have also been trouble some. First, the conventional computation of the cosine transformation by recurrence relation is numerically unstable, particularly at the low frequencies which have the largest effect upon the integral. Second, in case the automatic scheme should require refinement of the sampling, storage is required to save the integrand values after the cosine transformation is computed. This second part of the paper shows how the cosine transformation can be computed by a modification of the fast Fourier transform and all three problems overcome. The modification is also applicable in other circumstances requiring cosine or sine transformations, such as polynomial interpolation through the Chebyshev points.", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "Chebyshev series; Clenshaw Curtis quadrature; Clenshaw-Curtis quadrature; cosine; cosine transformation; fast Fourier transformation; fast Fourier transforms; FFT; implementation; integration; numerical methods; polynomial interpolation; transformation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Greenspan:1972:FFD, + author = "D. Greenspan and D. Schultz", + title = "Fast finite-difference solution of biharmonic problems", + journal = j-CACM, + volume = "15", + number = "5", + pages = "347--350", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65N05", + MRnumber = "47 2829", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "Setting the Reynolds number equal to zero, in a method for solving the Navier-Strokes equations numerically, results in a fast numerical method for biharmonic problems. The equation is treated as a system of two second order equations and a simple smoothing process is essential for convergence. An application is made to a crack-type problem.", + acknowledgement = ack-nhfb, + classcodes = "C4170 (Differential equations)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "biharmonic equation; boundary value problem; numerical analysis; partial differential equations", + keywords = "biharmonic problems; boundary value problem; boundary-value problems; convergence; convergence of numerical methods; crack type problem; difference equations; fast finite difference solution; Navier Stokes equations; partial differential equations; process; smoothing; two second order equations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Dunham:1972:MNA, + author = "C. B. Dunham", + title = "Minimax nonlinear approximation by approximation on subsets", + journal = j-CACM, + volume = "15", + number = "5", + pages = "351--351", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4130 (Interpolation and function approximation)", + corpsource = "Univ. Western Ontario, Ont., Canada", + keywords = "function approximation; minimax nonlinear approximation; optimisation; subsets", + treatment = "T Theoretical or Mathematical", +} + +@Article{Harter:1972:OWF, + author = "Richard Harter", + title = "The Optimality of {Winograd}'s Formula", + journal = j-CACM, + volume = "15", + number = "5", + pages = "352--352", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "352.65F05", + MRnumber = "47 2801", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + keywords = "inner product; linear algebra; numerical analysis; optimality; vectors; Winograd's formula", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gentleman:1972:AAC, + author = "W. M. Gentleman", + title = "{ACM} Algorithm 424: {Clenshaw-Curtis} Quadrature", + journal = j-CACM, + volume = "15", + number = "5", + pages = "353--355", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Geddes:1979:RCC}.", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "Chebyshev series; Clenshaw Curtis quadrature; cosine transform; FFT; FORTRAN subroutine; integration; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hurst:1972:AAG, + author = "R. L. Hurst and R. E. Knop", + title = "{ACM} Algorithm 425: Generation of Random Correlated Normal Variables", + journal = j-CACM, + volume = "15", + number = "5", + pages = "355--357", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Utah State Univ., Logan, UT, USA", + keywords = "algorithms; FORTRAN subroutine; generation; multivariate normal density; random correlated normal variables; statistics; subroutines; timing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bron:1972:AAM, + author = "C. Bron", + title = "{ACM} Algorithm 426: Merge Sort Algorithm", + journal = j-CACM, + volume = "15", + number = "5", + pages = "357--358", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Technol. Univ., Eindhoven, Netherlands", + keywords = "ALGOL 60 procedure; merge sort algorithm; merging; recursion; sorting; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Linz:1972:AAF, + author = "P. Linz", + title = "{ACM} Algorithm 427: {Fourier Cosine} Integral", + journal = j-CACM, + volume = "15", + number = "5", + pages = "358--360", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. California, Davis, CA, USA", + keywords = "FORTRAN procedure; Fourier cosine integral; integration; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Yohe:1972:AAH, + author = "J. M. Yohe", + title = "{ACM} Algorithm 428: {Hu-Tucker} Minimum Redundancy Alphabetic Coding Method", + journal = j-CACM, + volume = "15", + number = "5", + pages = "360--362", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B6120B (Codes); C1260 (Information theory)", + corpsource = "Univ. Wisconsin, Madison, WI, USA", + keywords = "codes; encoding; FORTRAN subroutine; Hu Tucker minimum redundancy alphabetic binary coding; method; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ashenhurst:1972:RAC, + author = "R. L. Ashenhurst", + title = "A report of the {ACM} curriculum committee on computer education for management. Curriculum recommendations for graduate professional programs in information systems", + journal = j-CACM, + volume = "15", + number = "5", + pages = "363--398", + month = may, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + keywords = "course descriptions; curriculum recommendations; education; implementation; information systems; systems analysis", + treatment = "G General Review", +} + +@Article{Blatny:1972:OPT, + author = "J. Blatny and S. R. Clark and T. A. Rourke", + title = "On the optimization of performance of time-sharing systems by simulation", + journal = j-CACM, + volume = "15", + number = "6", + pages = "411--420", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6150J (Operating systems)", + corpsource = "Univ. Manitoba, Winnipeg, Man., Canada", + keywords = "computation theory; finite; infinite auxiliary store; job scheduling algorithm; noncontiguous store; number of jobs allowed to execute simultaneously; optimisation; optimization of performance; optimum round robin cycle time selection; programs; sharing systems; simulation; slice techniques; store size; time; time-sharing; variable time", + treatment = "T Theoretical or Mathematical", +} + +@Article{Spacek:1972:PEP, + author = "T. R. Spacek", + title = "A proposal to establish a pseudo virtual memory via writable overlays", + journal = j-CACM, + volume = "15", + number = "6", + pages = "421--426", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "CIA, Washington, DC, USA", + keywords = "collector; display; establishment; executable storage size problems; folding; graphic; linkage editor; loader; overlay structure; paging; pseudovirtual memory; segmentation; storage allocation; writable overlays", +} + +@Article{Gilbert:1972:IBC, + author = "P. Gilbert and W. J. Chandler", + title = "Interference between Communicating Parallel Processes", + journal = j-CACM, + volume = "15", + number = "6", + pages = "427--437", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6150J (Operating systems)", + corpsource = "Univ. Southern California, Los Angeles, CA, USA", + keywords = "computation theory; concurrent programming control; cooperating processes; formal programs; inclusion; interference between communicating parallel processes; mutual exclusion; operating systems; parallel processing; problem; sequences of states; transition rule", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gimpel:1972:BND, + author = "J. F. Gimpel", + title = "Blocks-a new datatype for {SNOBOL} 4", + journal = j-CACM, + volume = "15", + number = "6", + pages = "438--447", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + corpsource = "Bell Telephone Labs. Inc., Holmdel, NJ, USA", + keywords = "blocks; character; composing printable output; datatype; dimensional aggregate of characters; manipulation; overstriking; problem oriented languages; right parallelepiped; SNOBOL 4; string processing; text editing; text processing; three", + treatment = "P Practical", +} + +@Article{Martin:1972:BMM, + author = "David F. Martin", + title = "A {Boolean} matrix method for the computation of linear precedence functions", + journal = j-CACM, + volume = "15", + number = "6", + pages = "448--454", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "54 9175", + mrreviewer = "Daniel J. Rosenkrantz", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Univ. California, Los Angeles, CA, USA", + keywords = "analysis; Boolean functions; boolean matrix method; conflict free matrix; context; context-free grammars; free parsing; linear precedence functions; matrix algebra; precedence grammars; syntax", + treatment = "T Theoretical or Mathematical", +} + +@Article{OReagan:1972:CAC, + author = "Robert T. O'Reagan", + title = "Computer Assigned Codes from Verbal Responses", + journal = j-CACM, + volume = "15", + number = "6", + pages = "455--459", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "US Bureau of the Census, Washington, DC, USA", + keywords = "codes; computer coding; concept; data handling; historical response patterns; reference list; translation; verbal responses; word coding; word strings", + treatment = "T Theoretical or Mathematical", +} + +@Article{Iguchi:1972:SMS, + author = "K. Iguchi", + title = "A starting method for solving nonlinear {Volterra} integral equations of the second kind", + journal = j-CACM, + volume = "15", + number = "6", + pages = "460--461", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation)", + corpsource = "Nagoya Univ., Japan", + keywords = "algorithm; fourth order method; integral equations; nonlinear Volterra integral equations; numerical methods; starting method", + treatment = "T Theoretical or Mathematical", +} + +@Article{Pohl:1972:SPC, + author = "I. Pohl", + title = "A Sorting Problem and Its Complexity", + journal = j-CACM, + volume = "15", + number = "6", + pages = "462--464", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "A technique for proving min-max norms of sorting algorithms is given. One new algorithm for finding the minimum and maximum elements of a set with fewest comparisons is proved optimal with this technique.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. California, Santa Cruz, CA, USA", + keywords = "complexity; computational; computational combinatorics; computational combinatories; computational complexity; minimax norms; minimum and maximum elements; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Kolbig:1972:CAC, + author = "K. S. Kolbig", + title = "Certification of algorithm 363 (complex error function)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "465--466", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "CERN, Geneva, Switzerland", + keywords = "complex error function; function evaluation; special functions; subroutines; Voigt function", + treatment = "T Theoretical or Mathematical", +} + +@Article{Niessner:1972:RAE, + author = "H. Niessner", + title = "Remark on algorithm 343 (Eigenvalues and eigenvectors of a real general matrix)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "466--466", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Brown, Boveri and Co., Baden, Switzerland", + keywords = "eigenvalues; eigenvalues and eigenfunctions; eigenvectors; FORTRAN; general; matrices; matrix algebra; nonsymmetric matrices; QR algorithm; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Proll:1972:RAA, + author = "L. G. Proll", + title = "Remark on ``{ACM Algorithm 370 (General random number generator) [G5]''}", + journal = j-CACM, + volume = "15", + number = "6", + pages = "467--468", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Univ. Southampton, UK", + country = "USA", + descriptors = "RVG;", + enum = "7783", + keywords = "cumulative distribution function; probability density function; random number generation; random number generator; subroutines; transformation", + language = "English", + references = "0", + treatment = "G General Review", +} + +@Article{Schrack:1972:RAR, + author = "G. F. Schrack", + title = "Remark on algorithm 381 (Random vectors uniform in solid angle)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "468--468", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Univ. British Columbia, Vancouver, BC, Canada", + keywords = "points uniform on; random number generation; random vector generator; solid angle; sphere; spherically symmetric probability distribution; subroutines", + treatment = "A Application", +} + +@Article{Sale:1972:RAS, + author = "A. H. J. Sale", + title = "Remark on algorithm 393 (Special series summation with arbitrary precision)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "468--469", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Univ. Sydney, NSW, Australia", + keywords = "approximation; function evaluation; harmonic series; series summation; subroutines", + treatment = "A Application", +} + +@Article{Einarsson:1972:RAC, + author = "B. Einarsson", + title = "Remark on algorithm 418 (Calculation of {Fourier} integrals)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "469--469", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Res. Inst. Nat. Defense, Tumba, Sweden", + keywords = "approximation; coefficients; Filon integration; Filon quadrature; Fourier; Fourier integrals; Fourier series; integration; numerical methods; quadrature; Richardson extrapolation; spline; splines (mathematics); subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Johnson:1972:RAI, + author = "S. C. Johnson and B. W. Kernighan", + title = "Remark on algorithm 397 (An integer programming problem)", + journal = j-CACM, + volume = "15", + number = "6", + pages = "469--469", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + keywords = "change making problem; integer programming; subroutines", + treatment = "A Application", +} + +@Article{Kandel:1972:CSV, + author = "Abraham Kandel", + title = "Computer Science --- {A} Vicious Circle", + journal = j-CACM, + volume = "15", + number = "6", + pages = "470--471", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "New Mexico Inst. Mining and Technol., Socorro, NM, USA", + keywords = "computer engineering; computer personnel; computer science curriculum; education; personnel; systems design", + treatment = "G General Review", +} + +@Article{Koffman:1972:IIG, + author = "E. B. Koffman", + title = "Individualizing instruction in a generative {CAI} tutor", + journal = j-CACM, + volume = "15", + number = "6", + pages = "472--473", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C7810C (Computer-aided instruction)", + corpsource = "Univ. Connecticut, Storrs, CT, USA", + keywords = "adaptive instruction; and sequential design; combinational; computer aided instruction; computer assisted instructions; education; generative CAI tutor; machine language programming", + treatment = "A Application; P Practical", +} + +@Article{Houstis:1972:AAP, + author = "E. N. Houstis and W. F. Mitchell and J. R. Rice", + title = "{ACM} Algorithm 438: Product Type Two-point {Gauss-Legendre-Simpson}'s Integration", + journal = j-CACM, + volume = "15", + number = "6", + pages = "1071", + month = jun, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:34:02 1994", +} + +@Article{Revens:1972:FTF, + author = "Lee Revens", + title = "The first twenty-five years {ACM} 1947--1962", + journal = j-CACM, + volume = "15", + number = "7", + pages = "485--490", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68-03", + MRnumber = "52 16081", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, +} + +@Article{Weiss:1972:PCI, + author = "Eric A. Weiss", + title = "Publications in computing: an informal review", + journal = j-CACM, + volume = "15", + number = "7", + pages = "491--497", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68-03", + MRnumber = "52 16083", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + keywords = "digital computers; publications in computing; review", + treatment = "B Bibliography", +} + +@Article{Ershov:1972:AHF, + author = "A. P. Ershov", + title = "Aesthetics and the Human Factor in Programming", + journal = j-CACM, + volume = "15", + number = "7", + pages = "501--505", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{Ershov:1972:CAH}.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Novosibirsk Univ., USSR", + keywords = "aesthetics; human factor; human factors; programming", + treatment = "G General Review", +} + +@Article{Anonymous:1972:ISI, + author = "Anonymous", + title = "As the industry sees it", + journal = j-CACM, + volume = "15", + number = "7", + pages = "506--517", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + keywords = "digital computers; future of computers; industry", + treatment = "G General Review", +} + +@Article{Arbib:1972:TAT, + author = "Michael A. Arbib", + title = "Toward an Automata Theory of Brains", + journal = j-CACM, + volume = "15", + number = "7", + pages = "521--527", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A25 (92A05)", + MRnumber = "53 7131", + mrreviewer = "Jill Humphries", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C4220 (Automata theory)", + corpsource = "Univ. Massachusetts, Amherst, MA, USA", + keywords = "automata theory; brain models; brains", + treatment = "T Theoretical or Mathematical", +} + +@Article{Manna:1972:FAT, + author = "Zohar Manna and Jean Vuillemin", + title = "Fixpoint Approach to the Theory of Computation", + journal = j-CACM, + volume = "15", + number = "7", + pages = "528--536", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "55 13859", + mrreviewer = "Andrea Maggiolo-Schettini", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + abstract = "Following the fix point theory of Scott, the semantics of computer programs are defined in terms of the least fix points of recursive programs. This allows not only the justification of all existing verification techniques, but also their extension to the handling, in a uniform manner of various properties of computer programs, including correctness, termination, and equivalence.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + corpsource = "Stanford Univ., CA, USA", + keywords = "computation; computational induction; computational linguistics; correctness; equivalence; fixpoints; least; least fix points; program diagnostics; programming; recursive programs; semantics of computer programs; semantics of programming languages; termination; theory; verification techniques", + treatment = "T Theoretical or Mathematical", +} + +@Article{Traub:1972:NMC, + author = "J. F. Traub", + title = "Numerical Mathematics and Computer Science", + journal = j-CACM, + volume = "15", + number = "7", + pages = "537--541", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65-03", + MRnumber = "54 4031", + mrreviewer = "R. H. Bartels", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C4100 (Numerical analysis)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "algorithms; computer science; foundations; numerical mathematics; numerical methods; reviews; synthesis and analysis", + treatment = "G General Review", +} + +@Article{Shanno:1972:MSV, + author = "David F. Shanno and Roman L. Weil", + title = "Management science: a view from nonlinear programming", + journal = j-CACM, + volume = "15", + number = "7", + pages = "542--549", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90C10 (90C30)", + MRnumber = "55 9970", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + corpsource = "Univ. Toronto, Ont., Canada", + keywords = "integer; management science; mathematical programming; nonlinear programming; reviews", + treatment = "B Bibliography; G General Review", +} + +@Article{Moses:1972:TGT, + author = "Joel Moses", + title = "Toward a General Theory of Special Functions", + journal = j-CACM, + volume = "15", + number = "7", + pages = "550--556 (or 550--554??)", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "34-02 12H05", + MRnumber = "53 3384", + mrreviewer = "K. Okugawa", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C1100 (Mathematical techniques)", + keywords = "general theory; mathematics; special functions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Foster:1972:VCA, + author = "C. C. Foster", + title = "A view of computer architecture", + journal = j-CACM, + volume = "15", + number = "7", + pages = "557--565", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture)", + corpsource = "Univ. Massachusetts, Amherst, MA, USA", + keywords = "computer architecture; microcomputers; predict; reviews", + treatment = "G General Review", +} + +@Article{Fraser:1972:IBC, + author = "A. G. Fraser", + title = "On the interface between computers and data communications systems", + journal = j-CACM, + volume = "15", + number = "7", + pages = "566--573", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib", + abstract = "Reproduced in Advances in Computer Commun., Chu,W.W (Ed.), (1974), 246-253.", + acknowledgement = ack-nhfb, + classcodes = "C5610 (Computer interfaces)", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + keywords = "computer interfaces; computers; data communication systems; data communications; interface; specifying", + treatment = "P Practical", +} + +@Article{BrinchHansen:1972:SM, + author = "Per {Brinch Hansen}", + title = "Structured Multiprogramming", + journal = j-CACM, + volume = "15", + number = "7", + pages = "574--578", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib", + acknowledgement = ack-nhfb, + annote = "This paper presents a proposal for structured representation of multiprogramming in a high level language. Shared variables are introduced, and their role in `critical regions (denoted by the structured statement region var do Statement') is discussed. A synchronization primitive `await Boolean' delays a process until the components of a shared variable satisfy the boolean expression. For explicit control of the scheduling of resources, an event queue is associated with a shared variable, and two procedures await (event) (leave a critical region associated with the shared variable and join the event queue) and cause (event) (enable all processes in the event queue to reenter their critical regions) are provided, which can control process scheduling to any degree desired.", + classcodes = "C6150J (Operating systems)", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + keywords = "concurrency", + keywords = "critical regions; event variables; high level; language; multiprogramming; operating systems; structured multiprogramming", + treatment = "P Practical", +} + +@Article{Lynch:1972:OSP, + author = "W. C. Lynch", + title = "Operating system performance", + journal = j-CACM, + volume = "15", + number = "7", + pages = "579--585", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Case Western Res. Univ., Cleveland, OH, USA", + keywords = "computer; model; operating system performance; operating systems (computers); reviews; systems; total system", + treatment = "G General Review", +} + +@Article{Kimbleton:1972:RCS, + author = "S. R. Kimbleton", + title = "The role of computer system models in performance evaluation", + journal = j-CACM, + volume = "15", + number = "7", + pages = "586--590", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C1220 (Simulation, modelling and identification); C6150J (Operating systems)", + corpsource = "UNIV. Michigan, Ann Arbor, MI, USA", + keywords = "computer selection and evaluation; computer system models; evaluation; modelling; operating; operating systems; performance; systems (computers)", + treatment = "P Practical", +} + +@Article{Rosen:1972:PSL, + author = "Saul Rosen", + title = "Programming Systems and Languages (1965--1975)", + journal = j-CACM, + volume = "15", + number = "7", + pages = "591--600", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "In spite of impressive gains by PL/I, Fortran and Cobol remain the languages in which most of the world's production programs are written and will remain so into the foreseeable future. There is a great deal of theoretical interest in Algol 68 and in extensible languages, but so far at least they have had little practical impact. Problem-oriented languages may very well become the most important language development area in the next five to ten years.\par In the operating system area all major computer manufacturers set out to produce very ambitious multiprogramming systems, and they all ran into similar problems. A number of university projects,though not directly comparable to those of the manufacturers, have contributed greatly to a better understanding of operating system principles. Important trends include the increased interest in the development of system measurement and evaluation techniques,and increased use of microprogramming for some programming system functions.", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages); C6150J (Operating systems)", + corpsource = "Purdue Univ., Lafayette, IN, USA", + keywords = "history; languages; microprogramming; multiprogramming; operating system; operating systems; operating systems (computers); problem oriented languages; programming; programming systems; reviews", + treatment = "G General Review", +} + +@Article{Sammet:1972:PLH, + author = "Jean E. Sammet", + title = "Programming Languages: History and Future", + journal = j-CACM, + volume = "15", + number = "7", + pages = "601--610", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "This paper discusses both the history and future of programming languages (= higher level languages). \par Some of the difficulties in writing such a history are indicated. A key part of the paper is a tree showing the chronological development of languages and their interrelationships. Reasons for the proliferation of languages are given. The major languages are listed with the reasons for their importance. A section on chronology indicates the happenings of the significant previous time periods and the major topics of 1972. Key concepts other than specific languages are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages)", + corpsource = "IBM Corp., Cambridge, MA, USA", + keywords = "chronological; development; future; future directions; higher level languages; history; language interrelationships; languages; programming language future; programming language history; programming language tree; programming languages; reviews", + treatment = "G General Review", +} + +@Article{Fosdick:1972:PBM, + author = "L. D. Fosdick", + title = "The production of better mathematical software", + journal = j-CACM, + volume = "15", + number = "7", + pages = "611--617", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Univ. Colorado, Boulder, CO, USA", + keywords = "computer software; mathematical software; mathematics; production; programming", + treatment = "G General Review", +} + +@Article{Bobrow:1972:RAP, + author = "D. G. Bobrow", + title = "Requirements for Advanced Programming Systems for List Processing", + journal = j-CACM, + volume = "15", + number = "7", + pages = "618--627", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Xerox, Palo Alto, CA, USA", + keywords = "advanced programming systems; list processing; requirements", +} + +@Article{Bachman:1972:ESS, + author = "Charles W. Bachman", + title = "The Evolution of Storage Structures", + journal = j-CACM, + volume = "15", + number = "7", + pages = "628--634", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "Good overview of basic definitions and their relationships", + classcodes = "C6120 (File organisation)", + corpsource = "Honeywell Information Systems, Billerica, MA, USA", + keywords = "data base management systems; Data Structure Diagram graphic technique; data structures; evolution; storage management; storage structures", + treatment = "P Practical", +} + +@Article{Rice:1972:PFS, + author = "J. R. Rice", + title = "On the present and future of scientific computation", + journal = j-CACM, + volume = "15", + number = "7", + pages = "637--639", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7320 (Physics and chemistry computing); C7490 (Computing in other engineering fields)", + corpsource = "Purdue Univ., Lafayette, IN, USA", + keywords = "engineering applications of computers; future; natural sciences; physical sciences; physics; present; scientific computation", + treatment = "G General Review", +} + +@Article{Benjamin:1972:GPI, + author = "Robert I. Benjamin", + title = "A generational perspective of information system development", + journal = j-CACM, + volume = "15", + number = "7", + pages = "640--643", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C7100 (Business and administration)", + corpsource = "Xerox Corp., Rochester, NY, USA", + keywords = "computing milieu; generational perspective; information system development; management data processing; management information systems", + treatment = "G General Review", +} + +@Article{Sedelow:1972:LAH, + author = "S. Y. Sedelow", + title = "Language analysis in the humanities", + journal = j-CACM, + volume = "15", + number = "7", + pages = "644--647", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Univ. Kansas, Lawrence, KS, USA", + keywords = "concordances; humanities; indices; language analysis; language translation and linguistics; pattern generation; pattern recognition", + treatment = "P Practical", +} + +@Article{Zinn:1972:CIP, + author = "K. L. Zinn", + title = "Computers in the instructional process: directions for research and development", + journal = j-CACM, + volume = "15", + number = "7", + pages = "648--651", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7810C (Computer-aided instruction)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "computer aided instruction; computers; development; directions; education; instructional process; research and", + treatment = "G General Review", +} + +@Article{Sturman:1972:CUS, + author = "G. M. Sturman", + title = "Computers and urban society", + journal = j-CACM, + volume = "15", + number = "7", + pages = "652--657", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7000 (Computer applications); C7130 (Public administration)", + corpsource = "Parsons Brinckerhoff Quade and Douglas Inc., NY, USA", + keywords = "administrative data processing; brief survey; computers; engineering analysis; engineering applications of computers; government; information systems; sciences; social and behavioural; urban society; urban systems", + treatment = "P Practical", +} + +@Article{Salton:1972:DDP, + author = "G. Salton", + title = "Dynamic document processing", + journal = j-CACM, + volume = "15", + number = "7", + pages = "658--668", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "automatic; automatic indexing; automatic search and; clustered files; collection growth; dynamic document; indexing; information; information retrieval; interactive user controlled search process; iterative searching; library automation; library mechanisation; processing; query modification; retrieval", + treatment = "P Practical", +} + +@Article{Knuth:1972:ABA, + author = "Donald E. Knuth", + title = "Ancient {Babylonian} algorithms", + journal = j-CACM, + volume = "15", + number = "7", + pages = "671--677", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRnumber = "52 13132", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery. See errata \cite{Knuth:1976:EAB}.", + acknowledgement = ack-nhfb, + classcodes = "C1100 (Mathematical techniques)", + corpsource = "Stanford Univ., CA, USA", + keywords = "ancient Babylonian algorithms; Babylonian; computer science; history of computation; mathematics; origins of mathematics; sexagesimal number system; tablets", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bauer:1972:PKZ, + author = "F. L. Bauer and H. W{\"o}ssner and Konrad Zuse", + title = "The ``Plankalk{\"u}l'' of {Konrad Zuse}: a forerunner of today's programming languages.", + journal = j-CACM, + volume = "15", + number = "7", + pages = "678--685", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (68-03)", + MRnumber = "52 16093", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages)", + corpsource = "Tech. Univ. M{\"u}nchen, West Germany", + keywords = "history of; Konrad Zuse; languages; notational and conceptual system; Plankalkul; programming; programming languages; programming theory", + treatment = "G General Review", +} + +@Article{Sprague:1972:WVC, + author = "Richard E. Sprague", + title = "A {Western} View of Computer History", + journal = j-CACM, + volume = "15", + number = "7", + pages = "686--692", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68-03", + MRnumber = "52 16082", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Litton ARS, Morristown, NJ, USA", + keywords = "1945 to 1955; computer history; digital computers", + treatment = "G General Review", +} + +@Article{Alt:1972:ACR, + author = "Franz L. Alt", + title = "Archaeology of computers --- reminiscences, 1945--1947", + journal = j-CACM, + volume = "15", + number = "7", + pages = "693--694", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68-03", + MRnumber = "52 16079", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Twenty-fifth anniversary of the Association for Computing Machinery", + acknowledgement = ack-nhfb, + classcodes = "C5420 (Mainframes and minicomputers)", + corpsource = "American Inst. Phys., NY, USA", + keywords = "1945 to 1947; digital computers; ENIAC; history of computers; reminiscences; special purpose computers", + treatment = "G General Review", +} + +@Article{Borodin:1972:CE, + author = "A. Borodin and C. C. Gotlieb", + title = "Computers and employment", + journal = j-CACM, + volume = "15", + number = "7", + pages = "695--702", + month = jul, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Univ. Toronto, Ont., Canada", + keywords = "computers; economic and sociological effects; employment; social implications; unemployment", + treatment = "G General Review", +} + +@Article{Herriot:1972:MGF, + author = "John G. Herriot", + title = "In memory of {George E. Forsythe}", + journal = j-CACM, + volume = "15", + number = "8", + pages = "719--720", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "01A70", + MRnumber = "52 7801", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).", + acknowledgement = ack-nhfb, +} + +@Article{Knuth:1972:GFD, + author = "Donald E. Knuth", + title = "{George Forsythe} and the development of Computer Science", + journal = j-CACM, + volume = "15", + number = "8", + pages = "721--726", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "01A70 (68-03)", + MRnumber = "52 7802", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).", + acknowledgement = ack-nhfb, +} + +@Article{Crowe:1972:GPA, + author = "David Crowe", + title = "Generating parsers for affix grammars. Collection of articles in honor of {George E. Forsythe (ACM Student Competition Award Papers)}", + journal = j-CACM, + volume = "15", + number = "8", + pages = "728--734", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "53 4635", + mrreviewer = "Ole Lehrmann Madsen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Koster, the inventor of affix grammars, suggests a top-down scheme for parsing them, based on recursive procedures. This paper presents a bottom-up scheme for parsing them, based on an extension of Floyd Production Language (FPL). Included is an algorithm, similar to that of DeRemer's, for covering a large class of affix grammars into FPL. The paper discusses the applicabilities of the conversion algorithm and affix grammars in general, and some possible extensions to Koster's definition of affix grammars.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "721; 723", + corpsource = "Univ. British Columbia, Vancouver, BC, Canada", + journalabr = "Commun ACM", + keywords = "affix grammars; algorithmic language processing; algorithmic languages; automata theory --- Grammars; bottom up; computer metatheory; grammars; parsers; syntax directed compiling; translator writing systems; two level grammars", + treatment = "T Theoretical or Mathematical", +} + +@Article{Helbig:1972:PRC, + author = "Robert E. Helbig and Patrick K. Orr and Robert R. Roediger", + title = "Political Redistricting by Computer", + journal = j-CACM, + volume = "15", + number = "8", + pages = "735--741", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Criteria for acceptable redistricting are discussed, including population equality, compactness, contiguity, and preservation of natural and\slash or political boundaries. Only nonpartisan criteria are considered. Using 1970 Bureau of Census population data, specific results are given for the ten Congressional Districts in the state of Missouri and for the seven St. Louis county Council seats. Results from the use of the algorithm indicate the feasibility of political redistricting with the aid of a computer.", + acknowledgement = ack-nhfb, + classcodes = "C7810 (Social and behavioural sciences computing)", + classification = "723", + corpsource = "Washington Univ., St. Louis, MO, USA", + journalabr = "Commun ACM", + keywords = "algorithm; compactness; computer; contiguity; data processing, business; equal population; legislative districts; political redistricting; reapportionment; social and behavioural sciences; transportation", + treatment = "A Application", +} + +@Article{Benjamin:1972:EES, + author = "Arthur J. Benjamin", + title = "Extensible Editor for a Small Machine with Disk Storage", + journal = j-CACM, + volume = "15", + number = "8", + pages = "742--747", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A design philosophy for developing a sophisticated utility program is illustrated by the actual design and implementation of a text editor. A versatile data structure is employed so that only a small number of programmed subroutines are necessary for all types of data manipulation. Such a data structure is described, and its merits are illustrated by the ease with which powerful extensions can be implemented in terms of a few basic editing functions.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques); C6150E (General utility programs)", + classification = "723", + corpsource = "Brandeis Univ., Waltham, MA, USA", + journalabr = "Commun ACM", + keywords = "collection; command; computer programming --- Macros; computer systems programming --- Supervisory and Executive Programs; context searching; data processing; data storage, magnetic --- Disk Storage; data structures; design; disc storage; executive program; extensible editor; garbage; interpreter; list processing; macro language; paging; parameter substitution; philosophy; processing; programs; recursion; small machine; state table; storage allocation; string manipulation; text editing; text editor; utility; utility program; virtual memory", + treatment = "P Practical", +} + +@Article{Rosin:1972:ERM, + author = "Robert F. Rosin and Gideon Frieder and Richard H. {Eckhouse, Jr.}", + title = "Environment for Research in Microprogramming and Emulation", + journal = j-CACM, + volume = "15", + number = "8", + pages = "748--760", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The development of the research project in microprogramming and emulation at State University of New York at Buffalo consisted of three phases: the evaluation of various possible machines to support this research; the decision to purchase one such machine, which appears to be superior to the others considered; and the organization and definition of goals for each group in the project. Each of these phases is reported, with emphasis placed on the early results achieved in this research.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C7430 (Computer engineering)", + classification = "722; 723", + corpsource = "State Univ. New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "computer architecture; computer systems; computer systems, digital; emulation; engineering applications of computers; environment for research; hardware evaluation; language processors; management; microprogramming; nanoprogram; project; simulation", + treatment = "X Experimental", +} + +@Article{Oden:1972:MMC, + author = "P. H. Oden and G. S. Shedler", + title = "A Model of Memory Contention in a Paging Machine", + journal = j-CACM, + volume = "15", + number = "8", + pages = "761--771", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 13903", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).", + abstract = "In the model presented, the number of page-frames of main memory allocated to a problem program varies in time. These changes in memory configuration are represented explicitly in the model, CPU requirements and page exception characteristics of program material being described statistically. Expressions for the distribution of the number of page-frames allocated to an executing program, the long run expected fraction of a program's execution time in a given number of page-frames, and the average execution interval of the multiprogrammed load are obtained. It is pointed out heuristically and demonstrated numerically that an increase is obtainable in the average execution interval of the multiprogrammed load over that resulting from equal fixed partitioning of main memory.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; demand paging; file organisation; management; memory; memory contention; modelling; multiprogrammed; operating; paging machines; probability --- Queueing Theory; queuing analysis; storage; storage allocation; systems studies", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bernstein:1972:CFM, + author = "H. J. Bernstein and H. T. Gladwin", + title = "Compiling fixed-point multiplications", + journal = j-CACM, + volume = "15", + number = "8", + pages = "772--772", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods); C6110 (Systems analysis and programming)", + corpsource = "Brookhaven Nat. Lab., Upton, NY, USA", + keywords = "compiling multiplications; digital arithmetic; fixed point arithmetic; programming", + treatment = "P Practical", +} + +@Article{vanderPoel:1972:CCS, + author = "W. L. {van der Poel}", + title = "Comment on the composition of semantics in {Algol 68}", + journal = j-CACM, + volume = "15", + number = "8", + pages = "772--772", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. Technol. Delft, Netherlands", + keywords = "ALGOL; ALGOL 68; composition of semantics; data; design; programming languages; programming primitives; recursive composition; structures", + treatment = "T Theoretical or Mathematical", +} + +@Article{Morris:1972:BVW, + author = "James H. {Morris, Jr.}", + title = "A Bonus from {van Wijngaarden}'s Device", + journal = j-CACM, + volume = "15", + number = "8", + pages = "773--773", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "ALGOL; ALGOL 60 programs; eliminate all labels; nonlocal transfers; procedure returns", + treatment = "P Practical", +} + +@Article{Jones:1972:CAB, + author = "P. R. Jones", + title = "Comment on average binary search length", + journal = j-CACM, + volume = "15", + number = "8", + pages = "774--774", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + keywords = "binary searching; data handling; record retrieval; search length", + treatment = "P Practical", +} + +@Article{Read:1972:NGR, + author = "Ronald C. Read and K. Harada", + title = "A note on the generation of rosary permutations. With a response by {K. Harada}", + journal = j-CACM, + volume = "15", + number = "8", + pages = "775--775", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "53 9706", + mrreviewer = "Dennis White", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Collection of articles in honor of {George E. Forsythe} ({ACM} Student Competition Award Papers).", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "associating an integer; combinatorial mathematics; generation; rosary permutations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Squire:1972:AAL, + author = "W. Squire", + title = "{ACM} Algorithm 429: Localization of the Roots of a Polynomial", + journal = j-CACM, + volume = "15", + number = "8", + pages = "776--777", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:34:06 1994", +} + +@Article{PurdomJr:1972:AAI, + author = "P. W. {Purdom Jr.} and E. F. Moore", + title = "{ACM} Algorithm 430: Immediate Predominators in a Directed Graph", + journal = j-CACM, + volume = "15", + number = "8", + pages = "777--778", + month = aug, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:34:05 1994", +} + +@Article{Levitt:1972:CAS, + author = "K. N. Levitt and W. H. Kautz", + title = "Cellular Arrays for the Solution of Graph Problems", + journal = j-CACM, + volume = "15", + number = "9", + pages = "789--801", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Several parallelized algorithms are presented for the solution of certain spanning tree, distance, and path problems, with direct applications to wire routing, PERT chart analysis, and the analysis of many types of networks. These algorithms exhibit a computation time that in many cases grows at a rate not exceeding log//2 n, where n is the number of nodes in the graph. Straightforward cellular implementations of the well-known serial algorithms for these problems require about n steps, and noncellular implementations require from n**2 to n**3 steps.", + acknowledgement = ack-nhfb, + classcodes = "C5420 (Mainframes and minicomputers); C7310 (Mathematics computing)", + classification = "722; 723", + corpsource = "Stanford Res. Inst., Menlo Park, CA, USA", + journalabr = "Commun ACM", + keywords = "cellular arrays; data storage, digital; graph problems; graph theory; mathematical techniques --- Graph Theory; special purpose computers", + treatment = "A Application", +} + +@Article{Ghosh:1972:FOC, + author = "Sakti P. Ghosh", + title = "File Organization --- The Consecutive Retrieval Property", + journal = j-CACM, + volume = "15", + number = "9", + pages = "802--808", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Some important theorems on the consecutive retrieval property are proved. Conditions under which the consecutive retrieval property exists and remain invariant have been established. An outline for designing an information retrieval system based on the consecutive retrieval property is discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "721; 723", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "consecutive; consecutive retrieval; data processing; file organisation; file organization; information retrieval; information retrieval system; information retrieval systems; minimum access; query structure; record; storage; storage on tapes; storage space; structure; time", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mor:1972:NAA, + author = "M. Mor and T. Lamdan", + title = "A New Approach to Automatic Scanning of Contour Maps", + journal = j-CACM, + volume = "15", + number = "9", + pages = "809--812", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib", + abstract = "The structure of a general contour map is analyzed, and its topological properties are utilized in developing a new scanning algorithm. The problem of detection and recognition of contour lines is solved by a two color labeling method. It is shown that for maps containing normal contour lines only, it suffices to distinguish between so-called ``even'' and ``odd'' lines. The ``tangency problem'' involved in practical scanning is discussed, and a solution base on minimizing computer memory space and simplifying control program is suggested.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C7890 (Other special applications of computing)", + classification = "723", + corpsource = "Israeli Min. Defense, Tel-Aviv, Israel", + journalabr = "Commun ACM", + keywords = "automatic scanning; cartography; computer graphics; contour maps; data handling; digitizing; image processing; topology", + treatment = "P Practical", +} + +@Article{Richman:1972:AEA, + author = "Paul L. Richman", + title = "Automatic Error Analysis for Determining Precision", + journal = j-CACM, + volume = "15", + number = "9", + pages = "813--817", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65G05", + MRnumber = "47 2808", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The problem considered is that of evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision floating-point arithmetic operations. An automatic error analysis technique is given for determining, directly from the results of a trial low-precision interval arithmetic calculation, just how much precision and data accuracy are required to achieve a desired final accuracy. The technique given generalize easily to the evaluation of many nonrational expressions.", + acknowledgement = ack-nhfb, + classcodes = "B0290B (Error analysis in numerical methods); C4110 (Error analysis in numerical methods); C5230 (Digital arithmetic methods)", + classification = "921", + corpsource = "Bell Telephone Labs. Inc., Denver, CO, USA", + journalabr = "Commun ACM", + keywords = "automatic error analysis; control; digital arithmetic; error analysis; floating point arithmetic; interval arithmetic; mathematical techniques; precision; precision control", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ravindran:1972:AAC, + author = "A. Ravindran", + title = "{ACM} Algorithm 431: {A} Computer Routine for Quadratic and Linear Programming Problems", + journal = j-CACM, + volume = "15", + number = "9", + pages = "818--820", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Mon Feb 12 14:34:00 1996", +} + +@Article{Bartels:1972:AAS, + author = "R. H. Bartels and G. W. Stewart", + title = "{ACM} Algorithm 432: Solution of the Matrix Equation ${\bf{A}}x+x{\bf{B}}={\bf{C}}$", + journal = j-CACM, + volume = "15", + number = "9", + pages = "820--826", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:33:59 1994", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.lin.alg.bib", + keywords = "linear algebra; linear equations; matrices", +} + +@Article{Deutsch:1972:TAR, + author = "E. S. Deutsch", + title = "Thinning Algorithms on Rectangular, Hexagonal, and Triangular Arrays", + journal = j-CACM, + volume = "15", + number = "9", + pages = "827--837", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Three thinning algorithms are developed: one each for use with rectangular, hexagonal, and triangular arrays. The approach to the development of each algorithm is the same. Pictorial results produced by each of the algorithms are presented and the relative performances of the algorithms are compared. It is found that the algorithm operating with the triangular array is the most sensitive to image irregularities and noise, yet it will yield a thinned image with an overall reduced number of points. It is concluded that the algorithm operating in conjunction with the hexagonal array has features which strike a balance between those of the other two arrays.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + classification = "723", + corpsource = "Univ. Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "arrays; computation theory; computer programming --- Subroutines; data handling; image processing; pattern recognition systems; rectangular, hexagonal, triangular; skeleton; thinning algorithms", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gregory:1972:CFP, + author = "J. Gregory", + title = "A Comparison of Floating Point Summation Methods", + journal = j-CACM, + volume = "15", + number = "9", + pages = "838--838", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + acknowledgement = ack-nj # " and " # ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Argonne Nat. Lab., IL, USA", + descriptors = "Simulation; statistics; numeric calculation;", + keywords = "comparison; digital arithmetic; error; error propagation; floating point summation methods; truncation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Khalil:1972:EBT, + author = "Hatem M. Khalil", + title = "The eigenproblem of block tridiagonal matrices", + journal = j-CACM, + volume = "15", + number = "9", + pages = "839--839", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "839.65F15", + MRnumber = "47 2802", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + corpsource = "Univ. Delaware, Newark, DE, USA", + keywords = "block tridiagonal matrices; eigenvalues; eigenvalues and eigenfunctions; eigenvalues and eigenvectors; eigenvectors; linear algebra; matrix algebra; partial differential equations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Parnas:1972:CDP, + author = "D. L. Parnas and A. N. Habermann and R. C. Holt", + title = "Comment on Deadlock Prevention Method", + journal = j-CACM, + volume = "15", + number = "9", + pages = "840--841", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "deadlock; deadlock prevention method; deadly embrace; interlock; knotting; lockout; multiprogramming; resource allocation; scheduling; time sharing; time-sharing; time-sharing systems", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Rubinstein:1972:CBT, + author = "R. Rubinstein and J. Feldman", + title = "A controller for a {Braille} terminal", + journal = j-CACM, + volume = "15", + number = "9", + pages = "841--842", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C5610 (Computer interfaces)", + corpsource = "Univ. California, Irvine, CA, USA", + keywords = "blind programming aid; braille; computer interfaces; computer peripheral equipment; computer terminal; controller; tactile terminal; terminal", + treatment = "P Practical", +} + +@Article{Tan:1972:FIS, + author = "K. C. Tan", + title = "On {Foster}'s Information Storage and Retrieval Using {AVL} Trees", + journal = j-CACM, + volume = "15", + number = "9", + pages = "843--843", + month = sep, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See \cite{Foster:1972:VCA}.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Northwestern Univ., Evanston, IL, USA", + keywords = "(mathematical); AVL trees; binary trees; file organisation; information retrieval; information storage; search trees; trees", + treatment = "T Theoretical or Mathematical", + xxnote = "Check cross-reference??", +} + +@Article{Dijkstra:1972:HP, + author = "E. W. Dijkstra", + title = "The Humble Programmer", + journal = j-CACM, + volume = "15", + number = "10", + pages = "859--866", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 14:08:21 1997", + note = "1972 ACM Turing Award Lecture.", + abstract = "We shall do a much better programming job, provided that we approach the task with a full appreciation if its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.", +} + +@Article{Morris:1972:DPT, + author = "James B. Morris", + title = "Demand Paging Through Utilization of Working Sets on the {Maniac II}", + journal = j-CACM, + volume = "15", + number = "10", + pages = "867--872", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A hardware implementation on the Maniac II computer of the working set model for demand paging, as introduced by Denning, is discussed. characteristics of the Maniac II are given, along with a description of the basic demand paging scheme and the associative memory which has been added to the Maniac II hardware. A description of the hardware design for implementation of the working set model is discussed and a specification of the actions taken under various conditions which may arise during the operation of the full working set model, demand paging system is given.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6120 (File organisation)", + classification = "723", + corpsource = "Univ. California, Los Alamos, NM, USA", + journalabr = "Commun ACM", + keywords = "associative memory; associative storage; computer architecture; computer operating systems; data storage, digital; demand paging; dynamic storage allocation; file; hardware implementation; MANIAC II; model; organisation; storage allocation; storage management; utilization of working sets; virtual memory; working set", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ahrens:1972:CMS, + author = "J. H. Ahrens and U. Dieter", + title = "Computer Methods for Sampling from the Exponential and Normal Distributions", + journal = j-CACM, + volume = "15", + number = "10", + pages = "873--882", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "49 1728", + mrreviewer = "V. Dupac", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib", + abstract = "Various methods are known for transforming uniformly distributed random numbers into exponentially and normally distributed quantities. The most efficient ones are compared, in terms of memory requirements and speed, with some new algorithms. A number of procedures convert Taylor series expansions directly into sampling steps, an approach which may be used for sampling from any continuous distribution. For the exponential distribution a definite recommendation can be made, whereas in the case of the normal distribution there remains a choice between slower and shorter algorithms and faster but space consuming methods.", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + classification = "913; 922", + corpsource = "Nova Scotia Tech. Coll., Halifax, NS, Canada", + country = "USA", + descriptors = "RVG;", + enum = "6926", + journalabr = "Commun ACM", + keywords = "computer aided sampling; computer methods; distributed random numbers; distributions; exponential; normal distributions; random number generation; sampled data systems; sampling; sampling steps; uniformly", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hanson:1972:IEI, + author = "Richard J. Hanson", + title = "Integral Equations of Immunology", + journal = j-CACM, + volume = "15", + number = "10", + pages = "883--890", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65R05", + MRnumber = "48 10166", + mrreviewer = "S. Malon", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The inversion of a particular integral equation of the first (Fredholm) kind is the basic problem considered. The strategy which yielded success consisted of three essential points: (1) fit the known experimental data by a curve with properties which derive from properties of the (as yet unknown) function; (2) stabilize the computation for the unknown function by using singular value decomposition; (3) constrain the unknown function approximation (since it represents a probability distribution) to be nonnegative. \par A number of test cases are presented. One set of actual experimental data is analyzed with the procedures presented.", + acknowledgement = ack-nhfb, + classcodes = "B0290R (Integral equations); C4180 (Integral equations)", + classification = "461; 921", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + journalabr = "Commun ACM", + keywords = "biomedical engineering; curve fitting; decomposition; experimental data; first kind; immunology; integral equation of; integral equations; integral equations of the first kind; inversion; mathematical techniques; medicine; nonnegative constraints; numerical methods; singular value; singular value analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Simmons:1972:GED, + author = "Robert F. Simmons and Jonathan Slocum", + title = "Generating {English} Discourse from Semantic Networks", + journal = j-CACM, + volume = "15", + number = "10", + pages = "891--905", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + abstract = "A system is described for generating English sentences from a form of semantic nets in which the nodes are word-sense meanings and the paths are primarily deep case relations. The grammar used by the system is in the form of a network that imposes an ordering on a set of syntactic transformations that are expressed as LISP functions. The generation algorithm uses the information in the semantic network to select appropriate generation paths through the grammar. The system is designed for use as a computational tool that allows a linguist to develop and study methods for generating surface strings from an underlying semantic structure. Initial findings with regard to form determiners such as voice, form, tense, and mood, some rules for embedding sentences, and some attention to pronominal substitution are reported. The system is programmed in LISP 1.5 and is available from the authors.", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + classification = "721; 723; 901", + corpsource = "Univ. Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "automata theory; computer applications; computer programming languages --- lisp; data processing --- Humanities Applications; deep case relations; English sentence generation; information science --- Language Translation and Linguistics; language translation and linguistics; LISP functions; semantic generation; semantic networks", + treatment = "P Practical", +} + +@Article{Dathe:1972:CDT, + author = "Gert Dathe", + title = "Conversion of Decision Tables by Rule Mask Method without Rule Mask", + journal = j-CACM, + volume = "15", + number = "10", + pages = "906--909", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Two algorithms for generating computer programs from decision tables are described. The algorithms allow handling limited entry, extended entry, and mixed entry tables. The algorithms are based on the rule mask method but need not have the masks at execution time. They perform the logical operations immediately rather than at the end of the interpreting process. Execution time can be considerably reduced by instantly marking rules which are not applicable or conditions which are already tested. The new algorithms combine to a certain degree the advantages of mask methods with those of tree methods.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Software AG, Darmstadt, West Germany", + journalabr = "Commun ACM", + keywords = "computer programming; conversion; decision tables; mask; program generation; program processors; rule mask method without rule", + treatment = "T Theoretical or Mathematical", +} + +@Article{Frazer:1972:SNS, + author = "W. D. Frazer and C. K. Wong", + title = "Sorting by Natural Selection", + journal = j-CACM, + volume = "15", + number = "10", + pages = "910--913", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "A family of sorting algorithms is proposed, the members of which make fuller use of the memory space and thus yield longer sorted strings. Extensive simulation results are presented, and various implications and further applications are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "IBM Thomas J.Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "CACM; computer programming --- Subroutines; computer systems programming; natural selection; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ershov:1972:CAH, + author = "A. P. Ershov", + title = "Corrigendum: {``Aesthetics and the Human Factor in Programming''}", + journal = j-CACM, + volume = "15", + number = "10", + pages = "913--913", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 14:08:57 1997", + note = "See \cite{Ershov:1972:AHF}.", +} + +@Article{Akima:1972:AAI, + author = "H. Akima", + title = "{ACM} Algorithm 433: Interpolation and Smooth Curve Fitting Based on Local Procedures", + journal = j-CACM, + volume = "15", + number = "10", + pages = "914--918", + month = oct, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:55 1994", + note = "See also \cite{Anderson:1976:RIS}.", +} + +@Article{Fox:1972:CSC, + author = "Phyllis Fox", + title = "Comparative Study of Computer Programs for Integrating Differential Equations", + journal = j-CACM, + volume = "15", + number = "11", + pages = "941--948", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The integration methods represented include multistep methods (predictor-correctors), single-step methods (Runge-Kutta) and extrapolation methods (both polynomial and rational). The testing procedure is described together with the evaluation criteria applied. A set of test problems on which the programs were tested is included in appendix. For the particular problems and criteria used in the investigation it was found that a program based on rational extrapolation showed the best performance.", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations)", + classification = "723; 921", + corpsource = "Newark Coll. Engng., NJ, USA", + journalabr = "Commun ACM", + keywords = "comparative study; computer programming; computer programs; differential; differential equations; equations; extrapolation methods; integration methods; mathematical techniques --- Differential Equations; mathematical techniques --- Integration; predictor-corrector methods", + treatment = "T Theoretical or Mathematical", +} + +@Article{Malcolm:1972:ARP, + author = "Michael A. Malcolm", + title = "Algorithms to Reveal Properties of Floating-Point Arithmetic", + journal = j-CACM, + volume = "15", + number = "11", + pages = "949--951", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "See also \cite{Gentleman:1974:MAR}.", + abstract = "Two algorithms are presented in the form of Fortran subroutines. Each subroutine computes the radix and number of digits of the floating-point numbers and whether rounding or chopping is done by the machine on which it is run. The methods are shown to work on any ``reasonable'' floating-point computer.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "chopping; computer programming; computer programming languages --- Fortran; digital arithmetic; digits; floating point arithmetic; Fortran subroutines; mathematical techniques --- Digital Arithmetic; number of; properties; radix; rounding", + treatment = "T Theoretical or Mathematical", +} + +@Article{Patrick:1972:HPA, + author = "Merrell L. Patrick", + title = "A Highly Parallel Algorithm for Approximating All Zeros of a Polynomial with Only Real Zeros", + journal = j-CACM, + volume = "15", + number = "11", + pages = "952--955", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65H05", + MRnumber = "48 1455", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm is described based on Newton's method which simultaneously approximates all zeros of a polynomial with only real zeros. The algorithm, which is conceptually suitable for parallel computation, determines its own starting values so that convergence to the zeros is guaranteed. Multiple zeros and their multiplicity are readily determined. At no point in the method is polynomial deflation used.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + classification = "723; 921", + corpsource = "Duke Univ., Durham, NC, USA", + journalabr = "Commun ACM", + keywords = "approximation with real zeros; computer programming; function approximation; guaranteed convergence; highly; mathematical techniques --- Poles and Zeros; mathematical techniques --- Polynomials; multiple zeros; Newton's method; parallel algorithm; parallel numerical algorithms; poles and zeros; polynomial zeros; polynomials; real polynomials; real zeros; starting values", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ledgard:1972:MTC, + author = "Henry F. Ledgard", + title = "Model for Type Checking --- with an Application to {Algol 60}", + journal = j-CACM, + volume = "15", + number = "11", + pages = "956--966", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper attempts to isolate the notion of type checking and presents a partial solution to the type checking problem based on the notions of abstraction and application of functions. A program is mapped into an expression within a decidable subset of the lambda-calculus, which characterizes the type relations within the program and eliminates all other information. The determination of the type-wise correctness or incorrectness of the program is resolved by reducing its corresponding lambda-calculus expression to one of two normal forms, the constant ``correct'' for a type-wise correct program or the constant ``error.'' An application to type checking in Algol 60 is made, and the attendant problems faced for any notion of type checking are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Johns Hopkins Univ., Baltimore, MD, USA", + journalabr = "Commun ACM", + keywords = "abstraction; ALGOL; ALGOL 60; application of functions; compilation; computer programming languages; execution; lambda calculus; model; program compilers; type checking", + treatment = "T Theoretical or Mathematical", +} + +@Article{Henderson:1972:DSS, + author = "Peter Henderson", + title = "Derived Semantics for Some Programming Language Constructs", + journal = j-CACM, + volume = "15", + number = "11", + pages = "967--973", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The constructs of a simple programming language are introduced and described informally in terms of values and side-effects. a translator is defined which translates the language into flowcharts for a simple machine. The action of the machine in executing a flowchart is defined. A proof is constructed that the effect of translating and executing any program can be expressed solely in terms of the value and side-effect of the program. during the course of constructing the proof, formal definitions of the concepts of value and side-effect are derived in order to make the proof rigorous. Correctness of the implementation involves checking that the definitions derived in the step above are an acceptable formalization of the informal description given in the first step.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. Newcastle upon Tyne, UK", + journalabr = "Commun ACM", + keywords = "computer programming languages; constructs; derived semantics; flowcharts; lambda calculus; programming language; programming theory; side effects; translator; values", + treatment = "T Theoretical or Mathematical", +} + +@Article{Verhelst:1972:CLD, + author = "M. Verhelst", + title = "Conversion of Limited-Entry Decision Tables to Optimal and Near-Optimal Flowcharts: Two New Algorithms", + journal = j-CACM, + volume = "15", + number = "11", + pages = "974--980", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The algorithms are first derived for treating decision tables not containing an ELSE-rule, but the optimum-approaching algorithm is shown to be equally valid for tables including such a rule. Both algorithms are compared with existing ones and are applied to a somewhat large decision table derived from a real case.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. Louvain, Belgium", + journalabr = "Commun ACM", + keywords = "algorithm; computer programming --- Subroutines; computer programming languages; conversion; decision tables; flowcharting; limited entry decision tables; minimum execution time; near; optimal flowcharts; optimisation; optimum approaching algorithm; optimum finding", + treatment = "T Theoretical or Mathematical", +} + +@Article{Baecker:1972:GCV, + author = "H. D. Baecker", + title = "Garbage Collection for Virtual Memory Computer Systems", + journal = j-CACM, + volume = "15", + number = "11", + pages = "981--986", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "In list processing there is typically a growing demand for space during program execution. This paper examines the practical implications of this growth within a virtual memory computer system, proposes two new garbage collection techniques for virtual memory systems, and compares them with traditional methods by discussion and by simulation.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. Calgary, Alta., Canada", + journalabr = "Commun ACM", + keywords = "computer operating systems --- Storage Allocation; computer programming languages; data storage, digital; file organisation; garbage collection; list; paging; processing; segmentation; storage allocation; storage management; virtual memory; virtual memory computer systems", + treatment = "P Practical", +} + +@Article{Ramberg:1972:AMG, + author = "John S. Ramberg and Bruce W. Schmeiser", + title = "Approximate Method for Generating Symmetric Random Variables", + journal = j-CACM, + volume = "15", + number = "11", + pages = "987--990", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method for generating values of continuous symmetric random variables that is relatively fast, requires essentially no computer memory, and is easy to use is developed. The method, which uses a uniform zero-one random number source, is based on the inverse function of the lambda distribution of Tukey. Since it approximates many of the continuous theoretical distributions and empirical distributions frequently used in simulations, the method should be useful to simulation practitioners.", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + classification = "922", + corpsource = "Univ. Iowa, Iowa City, IA, USA", + journalabr = "Commun ACM", + keywords = "approximate method; inverse function; lambda distribution of Tukey; mathematical models; mathematical statistics; random number generation; random number source; simulation; symmetric random variable generation; uniform zero one", + treatment = "T Theoretical or Mathematical", +} + +@Article{March:1972:AAE, + author = "D. L. March", + title = "{ACM} Algorithm 434: Exact Probabilities for ${R\times{C}}$ Contingency Tables", + journal = j-CACM, + volume = "15", + number = "11", + pages = "991--992", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Sep 20 19:26:04 1994", + note = "See also \cite{Boulton:1976:REP}.", +} + +@Article{Fullerton:1972:AAM, + author = "W. Fullerton", + title = "{ACM} Algorithm 435: Modified Incomplete Gamma Function", + journal = j-CACM, + volume = "15", + number = "11", + pages = "993--995", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:47:55 1994", + note = "See also \cite{Schoene:1978:RMI}.", +} + +@Article{Lum:1972:ARK, + author = "V. Y. Lum and P. S. T. Yuen", + title = "Additional results on key-to-address transform techniques: a fundamental performance study on large existing formatted files", + journal = j-CACM, + volume = "15", + number = "11", + pages = "996--997", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + keywords = "file; file organisation; fundamental performance; hash coding; key to address transform techniques; large existing formatted files; organization; study", + treatment = "P Practical", +} + +@Article{Kennedy:1972:NOD, + author = "S. Kennedy", + title = "A note on optimal doubly-chained trees", + journal = j-CACM, + volume = "15", + number = "11", + pages = "997--998", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + keywords = "binary search; file organisation; file searching; optimal doubly chained trees; tree; trees (mathematical)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Eisenberg:1972:FCD, + author = "Murray A. Eisenberg and Michael R. McGuire", + title = "Further comments on {Dijkstra}'s concurrent programming control problem", + journal = j-CACM, + volume = "15", + number = "11", + pages = "999--999", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + keywords = "critical; Dijkstra's concurrent programming control problem; multiprocessing; multiprocessing programs; section", + treatment = "T Theoretical or Mathematical", + xxtitle = "Further Comments on {Dijkstra}'s Concurrent Programming Control Problems", +} + +@Article{Smoliar:1972:CMM, + author = "S. W. Smoliar", + title = "Comments on {Moorer's Music} and computer composition", + journal = j-CACM, + volume = "15", + number = "11", + pages = "1000--1001", + month = nov, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Tech. Israel Inst. Technol., Haifa, Israel", + keywords = "artificial intelligence; computer composition; computer music; heuristic; humanities; programming", + treatment = "P Practical", +} + +@Article{Phillips:1972:DPA, + author = "J. Richard Phillips and H. C. Adams", + title = "Dynamic Partitioning for Array Languages", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1023--1032", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The classical process of partitioning an array into subarrays is extended to a more useful array language operation. Various modes of partitioning are defined for different types of arrays, so that subarrays may vary over the original array in a nearly arbitrary manner. These definitions are motivated with several realistic examples to illustrate the value of partitioning for array languages. Of general interest is the data structure for partitioning. This consists of dynamic tree structures which are used to derive and maintain the array control information. These are described in sufficient detail to be of value in the design of other array languages. The description presented in this paper is implemented in a new array language, OL/2, currently under development at the University of Illinois.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6140D (High level languages)", + classification = "723", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "array languages; array partitioning; computer programming languages; data processing --- Data Structures; data structure; data structures; dynamic partitioning; dynamic tree structures; OL/2; programming languages", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bayer:1972:IRM, + author = "R. Bayer and C. Witzgall", + title = "Index Ranges for Matrix Calculi", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1033--1039", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper describes a scheme for symbolic manipulation of index expressions which arise as a by-product of the symbolic manipulation of expressions in the matrix calculi described by the authors in a previous paper. This scheme attempts program optimization by transforming the original algorithm rather than the machine code. The goal is to automatically generate code for handling the tedious address calculations necessitated by complicated data structures. The paper is therefore preoccupied with ``indexing by position.'' The relationship of ``indexing by name'' and ``indexing by position'' is discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Boeing Sci. Res. Labs., Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "address calculations; algorithm; computer programming languages; data handling; data processing; data structures; expressions; index; index ranges; indexing by name; indexing by position; matrix algebra; matrix calculi; program optimization; symbolic manipulation; transformation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Earley:1972:MIC, + author = "Jay Earley and Paul Caizergues", + title = "Method for Incrementally Compiling Languages with Nested Statement Structure", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1040--1044", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The method permits editing of the source language using a general purpose text editor, and incremental processing of changes without frequent recompilation of entire routines. The essential points of the method are: the syntax of the language is restricted insofar as which constructs may occur on lines; an internal data structure (called the skeleton) is maintained to represent the statement structure; the recompilation is partially batched in the sense that recompilation of modified lines does not occur until the last of a set of editing commands has been received; and the parsing and compilation are factored into two parts, that done on individual lines and that done globally to handle the relationships between the lines.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "ALGOL; computer operating systems --- Program Compilers; computer programming languages; data processing --- Data Structures; editor; general purpose text; incremental compilation; nested statement structure; PL/I; program compilers; programming languages; source language", + treatment = "T Theoretical or Mathematical", +} + +@Article{Luccio:1972:WIL, + author = "Fabrizio Luccio", + title = "Weighted Increment Linear Search for Scatter Tables", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1045--1047", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A new linear search for hash tables whose increment step is a function of the key being addressed is presented. Comparisons with known methods are given, in terms of efficiency and computation complexity. In particular, the new method applies to tables of size n equals 2**r. It allows full table searching, and practically eliminates primary clustering at a very low cost.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. Pisa, Italy", + journalabr = "Commun ACM", + keywords = "clustering; computer programming; hash; information retrieval systems; information searching techniques; scatter tables; table lookup; tables; weighted increment linear search", + treatment = "T Theoretical or Mathematical", +} + +@Article{Barr:1972:CMN, + author = "D. R. Barr and N. L. Slezak", + title = "A comparison of multivariate normal generators", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1048--1049", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Naval Postgraduate School, Monterey, CA, USA", + keywords = "comparison; covariance matrix; Gaussian random number generator; multivariate; multivariate normal generators; normal random vectors; random number generation; simulation; triangular factorization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Moore:1972:NMS, + author = "John Moore and Prentiss Robinson", + title = "New Method for the Solution of the {Cauchy} Problem for Parabolic Equations", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1050--1052", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An integral equation representation is given for parabolic partial differential equations. When the equations are defined in unbounded domains, as in the initial value (Cauchy) problem, the solution of the integral equation by the method of successive approximation has inherent advantages over other methods. Error bounds for the method are of order h**3**/**2 and h**7**/**2 (h is the increment size) depending on the finite difference approximations involved.", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations)", + classification = "921", + corpsource = "Univ. Newcastle, UK", + journalabr = "Commun ACM", + keywords = "Cauchy problem; initial value problem; integral equation representation; mathematical techniques; parabolic; partial differential equations; successive approximation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Parnas:1972:CBU, + author = "D. L. Parnas", + title = "On the Criteria to Be Used in Decomposing Systems into Modules", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1053--1058", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib", + abstract = "This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a ``modularization'' is dependent upon the criteria used in dividing the system into modules. A system design problem presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not this effect is sketched.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "comprehensibility; computer programming; criteria; decomposition; flexibility; modularization; modules; programming; software engineering; systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brown:1972:LLP, + author = "P. J. Brown", + title = "Levels of Language for Portable Software", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1059--1062", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An increasing amount of software is being implemented in a portable form. A popular way of accomplishing this is to encode the software in a specially designed machine-independent language and then to map this language, often using a macro processor, into the assembly language of each desired object machine. The design of the machine-independent language is the key factor in this operation. This paper discusses the relative merits of pitching this language at a high level or a low level, and presents some comparative results.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Univ. Kent, Canterbury, UK", + journalabr = "Commun ACM", + keywords = "assembly language; computer programming; levels of language; machine independent language; macro processor; portable software; procedure oriented languages", + treatment = "T Theoretical or Mathematical", +} + +@Article{Sherman:1972:TMA, + author = "Stephen Sherman and Forest {Baskett, III} and J. C. Browne", + title = "Trace-Driven Modeling and Analysis of {CPU} Scheduling in a Multiprogramming System", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1063--1069", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The scheduling methods tested included the best possible and worst possible methods, the traditional methods of multiprogramming theory, round-robin, first-come-first-served, and dynamic predictors. The relative and absolute performances of these scheduling methods are given. It is concluded that a successful CPU scheduling method must be preemptive and must prevent a given job from holding the CPU for too long a period.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "analysis; computer systems programming; CPU scheduling; first come first served; microscopic level job stream data; modelling; multiprogramming; multiprogramming system; round robin; trace driven modelling", + treatment = "T Theoretical or Mathematical", +} + +@Article{Boland:1972:AAPa, + author = "W. R. Boland", + title = "{ACM} Algorithm 436: Product Type Trapezoidal Integration", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1070--1070", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:34:00 1994", +} + +@Article{Boland:1972:AAPb, + author = "W. R. Boland", + title = "{ACM} Algorithm 437: Product Type {Simpson}'s Integration", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1070--1071", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:33:59 1994", +} + +@Article{Boland:1972:AAPc, + author = "W. R. Boland", + title = "{ACM} Algorithm 439: Product Type Three-point {Gauss-Legendre-Simpson}'s Integration", + journal = j-CACM, + volume = "15", + number = "12", + pages = "1072", + month = dec, + year = "1972", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Sep 08 09:34:00 1994", +} + +@Article{Denning:1973:CWM, + author = "Peter J. Denning and Stuart C. Schwartz", + title = "Corrigendum: ``{Properties of the working-set model}''", + journal = j-CACM, + volume = "15", + number = "2", + pages = "191--198", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 11:37:15 1996", + note = "See \cite{Denning:1972:PWS}.", +} + +@Article{Shedler:1973:QMM, + author = "G. S. Shedler", + title = "A Queuing Model of a Multiprogrammed Computer with a Two-Level Storage System", + journal = j-CACM, + volume = "16", + number = "1", + pages = "3--10", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "51 14680", + mrreviewer = "K. Vairaran", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The results are presented of an analysis of a probabilistic model of a multiprogrammed computer system with a two-level storage system in which there is sequential dependency of accesses between the devices. Expressions are obtained for the long-run probability that both the CPU and each of the storage devices are busy. Some numerical results are given which quantify the gains in CPU utilization obtainable by multiprogramming in the presence of this type of storage system.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory)", + classification = "723; 922", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming --- Multiprogramming; data storage, digital; dependency of accesses; hierarchical index ses; hierarchical index sets; modelling; multiprogrammed computer; multiprogrammed computer system; multiprogramming; probability; queueing theory; queuing model; sequential; storage system; two level", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bays:1973:RHC, + author = "Carter Bays", + title = "The Reallocation of Hash-Coded Tables", + journal = j-CACM, + volume = "16", + number = "1", + pages = "11--14", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "When the space allocation for a hash-coded table is altered, the table entries must be rescattered over the new space. A technique for accomplishing this rescattering is presented. The technique is independent of both the length of the table and the hashing function used, and can be utilized in conjunction with a linear reallocation of the table being rescattered. Moreover, it can be used to eliminate previously flagged deletions from any hash-coded table, or to change from one hashing method to another. The efficiency of the technique is discussed and theoretical statistics are given.", + acknowledgement = ack-nhfb, + annote = "Algorithm to handle increase or decrease within a direct access table containing entries.", + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation)", + classification = "723", + corpsource = "Univ. South Carolina, Columbia, SC, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; data storage, digital; dynamic storage; hash code; reallocation; scatter storage", + keywords = "deletions; dynamic storage; hash code; programming; reallocation; scatter storage; storage allocation", + treatment = "P Practical", +} + +@Article{Morris:1973:PPL, + author = "James H. {Morris, Jr.}", + title = "Protection in Programming Languages", + journal = j-CACM, + volume = "16", + number = "1", + pages = "15--21", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Linguistic mechanisms which can be used to protect one subprogram from another's malfunctioning are described. Function-producing functions and various type-tagging schemes are considered. An attempt is made to distinguish between access limitation and authentication.", + acknowledgement = ack-nhfb, + classcodes = "C6100 (Software techniques and systems)", + classification = "723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "access control; access keys; authentication; computer programming languages; environments; programming languages; protection; seals; secrecy; security of data; trademarks; types", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Muraoka:1973:TRS, + author = "Yoichi Muraoka and David J. Kuck", + title = "On the Time Required for a Sequence of Matrix Products", + journal = j-CACM, + volume = "16", + number = "1", + pages = "22--26", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "51 2347", + mrreviewer = "M. Tetruasvili", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "This paper discusses the multiplication of conformable sequences of row vectors, column vectors, and square matrices. The minimum time required to evaluate such products on ordinary serial computers as well as parallel computers is discussed. Algorithms are presented which properly parse such matrix sequences subject to the constraints of the machine organization.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "computer programming; computer programming languages; computers; digital arithmetic; matrix algebra; matrix expressions; matrix multiplication; operation minimization; parallel computers; parallel machine; parallel processing; sequence of matrix products; serial; time required", + treatment = "T Theoretical or Mathematical", +} + +@Article{James:1973:ACP, + author = "E. B. James and D. P. Partridge", + title = "Adaptive Correction of Program Statements", + journal = j-CACM, + volume = "16", + number = "1", + pages = "27--37", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method of analyzing statements in a programming language which can tolerate a considerable inaccuracy in their specification is proposed. This method involves principles at present mainly confined to studies in the area of artificial intelligence such as feature extraction, approximate tree matching, and strategy improvement by feedback from the matching process. A pilot program incorporating the principles is described and preliminary operating results are presented. A final section surveys further principles which are currently being investigated.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Imperial Coll. Sci. and Technol., London, UK", + journalabr = "Commun ACM", + keywords = "adaptive correction; artificial intelligence; automatic parsing; compiler; computer metatheory; computer programming languages; linguistic pattern matching; program statements; programming; programming languages; syntax analysis; theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Richman:1973:VE, + author = "P. L. Richman", + title = "Variable-Precision Exponentiation", + journal = j-CACM, + volume = "16", + number = "1", + pages = "38--40", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D20", + MRnumber = "51 4631", + mrreviewer = "V. V. Ivanov", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A previous paper presented an efficient algorithm, called the Recomputation Algorithm, for evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision arithmetic operations. The Recomputation Algorithm can be applied to expressions involving any variable-precision operations having $O(10^(-p) + \sum_i|E_i|)$ error bounds, where $p$ denotes the operation's precision and $E_i$ denotes the error in the operation's $i$-th argument. \par This paper presents an efficient variable-precision exponential operation with an error bound of the above order. Other operations such as log, sin, and cos, which have simple series expansions, can be handled similarly.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723; 921", + corpsource = "Bell Telephone Labs. Inc., Denver, CO, USA", + journalabr = "Commun ACM", + keywords = "computer programming; digital arithmetic; error analysis; exponential function; exponentiation; interval arithmetic; mathematical programming; variable precision; variable-precision", + treatment = "T Theoretical or Mathematical", +} + +@Article{Crawford:1973:RBS, + author = "C. R. Crawford", + title = "Reduction of a Band-Symmetric Generalized Eigenvalue Problem", + journal = j-CACM, + volume = "16", + number = "1", + pages = "41--44", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F15", + MRnumber = "51 7266", + mrreviewer = "W. Niethammer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "An algorithm is described for reducing a generalized eigenvalue problem to an ordinary problem, in case A and B are symmetric band matrices with B positive definite. If n is the order of the matrix and m the bandwidth, the matrices A and B are partitioned into m-by-m blocks; and the algorithm is described in terms of these blocks. The algorithm reduces the generalized problem to an ordinary eigenvalue problem for a symmetric band matrix C whose bandwidth is the same as A and B. The algorithm is similar to those of Rutishauser and Schwartz for the reduction of symmetric matrices to band form. The calculation of C requires order N**2m operation. The round-off error in the calculation of C is of the same order as the sum of the errors at each of the n/m steps of the algorithm, the latter errors being largely determined by the condition of B with respect to inversion.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "723; 921", + corpsource = "Univ. Toronto, Ont., Canada", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; generalized eigenvalues; mathematical techniques; symmetric band matrices", + keywords = "eigenvalues and eigenfunctions; generalized eigenvalues; matrix algebra; reduction; symmetric band matrices", + kwds = "nla, geig, band matrix, symmetric matrix", + treatment = "T Theoretical or Mathematical", +} + +@Article{Blount:1973:PAC, + author = "S. E. Blount and L. Fein", + title = "The practical aspect of computer science education --- discussion", + journal = j-CACM, + volume = "16", + number = "1", + pages = "45--46", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Digital Equipment Corp., Acton, MA, USA", + keywords = "computer engineering; computer science; curriculum; digital computers; education; systems design", + treatment = "G General Review", +} + +@Article{Bays:1973:NWC, + author = "C. Bays", + title = "A note on when to chain overflow items within a direct-access table", + journal = j-CACM, + volume = "16", + number = "1", + pages = "46--47", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. South Carolina, Columbia, SC, USA", + keywords = "chaining; collision; data handling; direct access table; hash code; information; open hash; overflow items; retrieval", + treatment = "T Theoretical or Mathematical", +} + +@Article{Atkins:1973:MRA, + author = "M. S. Atkins", + title = "Mutual recursion in {Algol 60} using restricted compilers", + journal = j-CACM, + volume = "16", + number = "1", + pages = "47--48", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + corpsource = "Univ. Warwick, Coventry, UK", + keywords = "ALGOL; ALGOL 60; mutual recursion; program compilers; restricted compilers", + treatment = "P Practical", +} + +@Article{Gallaher:1973:AAM, + author = "L. J. Gallaher", + title = "{ACM} Algorithm 440: {A} Multidimensional {Monte} {Carlo} Quadrature with Adaptive Stratified Sampling", + journal = j-CACM, + volume = "16", + number = "1", + pages = "49--50", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Georgia Inst. Technol., Atlanta, GA, USA", + keywords = "adaptive quadrature; ALGOL; integral; integration; Monte Carlo methods; Monte Carlo Quadrature; multidimensional; sampling; sequential stratification; stratified; subroutines", + treatment = "P Practical", +} + +@Article{Knop:1973:AAR, + author = "R. E. Knop", + title = "{ACM} Algorithm 441: Random samples from the dipole distribution [{G5}]", + journal = j-CACM, + volume = "16", + number = "1", + pages = "51--51", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Florida State Univ., Tallahassee, FL, USA", + country = "USA", + descriptors = "RVG;", + enum = "7514", + keywords = "dipole distribution; FORTRAN; probability density; random deviates; random number; statistics; subroutines", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Hill:1973:AAN, + author = "G. W. Hill and A. W. Davis", + title = "{ACM} Algorithm 442: Normal deviate [{S14}]", + journal = j-CACM, + volume = "16", + number = "1", + pages = "51--52", + month = jan, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "CSIRO, Glen Osmond, Australia", + country = "USA", + descriptors = "RVG;", + enum = "7393", + keywords = "ALGOL; normal deviate; normal distribution inverse; probit; statistics; subroutines; Taylor series approximation; transform", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Merrill:1973:RCR, + author = "R. D. Merrill", + title = "Representation of Contours and Regions for Efficient Computer Search", + journal = j-CACM, + volume = "16", + number = "2", + pages = "69--82", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "51 7362", + mrreviewer = "Arnold Griffith", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib", + abstract = "A novel computer-searchable representation for the three basic pictorial features, contour maps, region coverage, and line structures, is described. The representation, which has practical storage requirements, provides a rapid means of searching large files for data associated with geometric position as well as with attribute value. An application of this representation to handling terrain information illustrates its utility. The algebraic properties of the data structure make it computationally easy to determine whether a point lies within a closed boundary; compute the area contained by a closed boundary; generate the closed boundary representing the union or intersection of two closed boundaries; and determine the neighboring boundaries to a point and the minimum distances between them and the point. Pertinent to mapping.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C7400 (Engineering computing)", + classification = "405; 723", + corpsource = "Lockheed Palo Alto Res. Laboratory, CA, USA", + journalabr = "Commun ACM", + keywords = "applications of computers; cartography; computer graphics; computer searchable structure; contour map representation; data handling; data processing --- Data Handling; data processing --- Data Structures; engineering; graphic data retrieval; maps and mapping; region boundary representation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Crespi-Reghizzi:1973:UGI, + author = "S. Crespi-Reghizzi and M. A. Melkanoff and L. Lichten", + title = "The Use of Grammatical Inference for Designing Programming Languages", + journal = j-CACM, + volume = "16", + number = "2", + pages = "83--90", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "50 15446", + mrreviewer = "Leon Levy", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/colt.bib", + abstract = "Both in designing a new programming language and in extending an existing language, the designer is faced with the problem of deriving a ``natural'' grammar for the language. We are proposing an interactive approach to the grammar design problem wherein the designer presents a sample of sentences and structures as input to a grammatical inference algorithm. The algorithm then constructs a grammar which is a reasonable generalization of the examples submitted by the designer. \par The implementation is presently restricted to a subclass of operator precedence grammars, but a second algorithm is outlined which applies to a larger class of context-free grammars.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6140 (Programming languages)", + classification = "723", + corpsource = "Univ. California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; context; context-free grammars; extensible languages; free grammars; grammar design; grammatical inference; identification in the limit; inference; language definition; operator; precedence grammars; programming languages", + treatment = "P Practical", +} + +@Article{Gimpel:1973:TDP, + author = "J. F. Gimpel", + title = "A Theory of Discrete Patterns and Their Implementation in {SNOBOL4}", + journal = j-CACM, + volume = "16", + number = "2", + pages = "91--100", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A15 (68A45)", + MRnumber = "52 7198", + mrreviewer = "John K. Debenham", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The notion of a discrete pattern is formalized and certain properties deduced. A pattern is shown to be a generalization of a formal language. Algorithms for implementing the kinds of patterns in SNOBOL4 are given. The general approach is to create, in-so-far as possible, a bottom-up parse from a top-down specification.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6140 (Programming languages)", + classification = "723", + corpsource = "Bell Telephone Labs., Holmdel, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; data processing --- Data Structures; discrete patterns; formal language; formal languages; parsing; pattern implementation; pattern matching; pattern recognition systems; pattern theory; patterns; programming languages; SNOBOL4; string processing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Rokne:1973:AES, + author = "J. Rokne", + title = "Automatic Errorbounds for Simple Zeros of Analytic Functions", + journal = j-CACM, + volume = "16", + number = "2", + pages = "101--104", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65E05", + MRnumber = "51 4638", + mrreviewer = "E. Maliszewski", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The Cauchy-Ostrowski theorem on convergence of Newton iterates for an analytic function in one variable is extended to include computational errors using complex interval arithmetic. Several numerical examples are given for polynomials with real and complex roots and one example for the Bessel function of the first kind.", + acknowledgement = ack-nhfb, + classcodes = "B0290B (Error analysis in numerical methods); B0290D (Functional analysis); B0290K (Nonlinear and functional equations); C4110 (Error analysis in numerical methods); C4120 (Functional analysis); C4150 (Nonlinear and functional equations)", + classification = "723", + corpsource = "Univ. Calgary, Alta., Canada", + journalabr = "Commun ACM", + keywords = "analysis; analytic functions; automatic errorbounds; Bessel functions; Cauchy-Ostrowski theorem; complex interval arithmetic; complex intervals; convergence of numerical methods; data processing --- Data Handling; data processing --- Data Structures; error; interval arithmetic; iterative methods; mathematical techniques; Newton's method; poles and zeros; polynomials; real interval arithmetic; real intervals; simple zeros; zeros of Bessel functions; zeros of polynomials", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brent:1973:RRT, + author = "Richard P. Brent", + title = "Reducing the Retrieval Time of Scatter Storage Techniques", + journal = j-CACM, + volume = "16", + number = "2", + pages = "105--109", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Modification of open addressing with double hashing to reduce the average number of probes for a successful search.", + abstract = "A new method for entering and retrieving information in a hash table is described. The method is intended to be efficient if most entries are looked up several times. The expected number of probes to look up an entry, predicted theoretically and verified by Monte Carlo experiments, is considerably less than for other comparable methods if the table is nearly full. An example of a possible Fortran implementation is given.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + journalabr = "Commun ACM", + keywords = "address; address calculation; addressing; calculation; computer programming languages --- Fortran; content addressing; data storage, digital --- Random Access; file organisation; file searching; has; has code; hash addressing; information retrieval systems; linear probing; linear quotient; linear quotient method; method; retrieval time; scatter storage techniques; storage management; symbol table", + treatment = "P Practical", +} + +@Article{Graham:1973:SDE, + author = "Robert M. Graham and Gerald J. {Clancy, Jr.} and David B. DeVaney", + title = "A software design and evaluation system", + journal = j-CACM, + volume = "16", + number = "2", + pages = "110--116", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A critical failure of current software system design and implementation methodology is that the performance of a proposed design is not evaluated before it is actually implemented. In this paper the reasons for this failure are explored, and a new methodology which overcomes many of the difficulties is proposed. A system which integrates performance evaluation with design and implementation is described. This system is based on a simple, high level language which is used to describe the evolving system at all stages of its development. The source language description is used as direct input to performance analysis and simulation routines. using the performance information obtained from these routines as feedback, the problems which adversely affect performance are detected early enough so that they can be corrected without costly major reimplementation of the proposed system.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "compilers; computer programming languages; computer software; computer systems programming; computer systems programming --- Supervisory and Executive Programs; data processing --- Data Structures; debugging; des language; evaluation; executive programs; high level language; performance analysis; program maintenance; program processors; simulation; software design; supervisory and; supervisory systems; system programming", + treatment = "P Practical", +} + +@Article{Balzer:1973:OIC, + author = "R. M. Balzer", + title = "An overview of the {ISPL} computer system design", + journal = j-CACM, + volume = "16", + number = "2", + pages = "117--122", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper explores the advantages of the concurrent design of the language, operating system, and machine (via microcode) to create an interactive programming laboratory. It describes the synergistic effect that the freedom to move and alter features from one of these domains to another has had on the design of this system (which has not been implemented). This freedom simplified both incremental compilation and the system's addressing structure, and centralized the communication mechanisms enabling the construction of hierarchical subsystems. It also suggested an important new concept for operating systems: separation of the scheduling from the maintenance functions in resource allocation. This separation enables incorporation of new scheduling algorithms (decision of what to do) without endangering the system integration (correctly performing the scheduling decisions).", + acknowledgement = ack-nhfb, + classcodes = "C6100 (Software techniques and systems); C6150J (Operating systems)", + classification = "723", + journalabr = "Commun ACM", + keywords = "computer programming languages; computer system design; computer systems, digital --- Time Sharing; computers --- Data Communication Systems; hierarchical subsystems; incremental compilation; interactive programming laboratory; interprogram communication; ISPL; language; machine; operating system; operating systems (computers); programming", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Fritsch:1973:AAS, + author = "F. N. Fritsch and R. E. Shafer and W. P. Crowley", + title = "{ACM} Algorithm 443: Solution of the Transcendental Equation $w e^w = x$", + journal = j-CACM, + volume = "16", + number = "2", + pages = "123--124", + month = feb, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Univ. California, Livermore, CA, USA", + keywords = "FORTRAN; function evaluation; iteration; iterative methods; subroutines; transcendental equation", + treatment = "T Theoretical or Mathematical", + xxauthor = "F. N. Fritsch and R. E. Shafer and W. P. Gowley", +} + +@Article{Austing:1973:CSC, + author = "Richard H. Austing and Gerald L. Engel", + title = "A Computer Science Course Program for Small Colleges", + journal = j-CACM, + volume = "16", + number = "3", + pages = "139--147", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This report gives recommendations for the content, implementation, and operation of a program of computer science courses specifically directed to small colleges. Implementation problems are discussed, specifically within the constraints of limited faculty and for the purposes of satisfying a wide variety of objectives. Detailed descriptions of four courses are given; suggestions are made for more advanced work; and an extensive library list is included.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901", + corpsource = "Univ. Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "computer science education; data processing", + keywords = "computer organization course; computer science course; education; file organization course; programming course; reviews; small colleges; social implications course; universities", + treatment = "B Bibliography; G General Review", +} + +@Article{Wagner:1973:CPM, + author = "Robert A. Wagner", + title = "Common Phrases and Minimum-Space Text Storage", + journal = j-CACM, + volume = "16", + number = "3", + pages = "148--152", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method for saving storage space for text strings, such as compiler diagnostic messages, is described. The method relies on hand selection of a set of text strings which are common to one or more messages. These phrases are then stored only once. The storage technique gives rise to a mathematical optimization problem: determine how each message should use the available phrases to minimize its storage requirement. This problem is nontrivial when phrases which overlap exist. However, a dynamic programming algorithm is presented which solves the problem in time which grows linearly with the number of characters in the text. Algorithm 444 applies to this paper.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Cornell Univ., NY, USA", + journalabr = "Commun ACM", + keywords = "common phrases; computer operating systems --- Program Compilers; computer programming; diagnostic messages; dynamic programming; error messages; file organisation; minimum space; optimization; program diagnostics; text storage", + treatment = "P Practical", +} + +@Article{Feinroth:1973:TUF, + author = "Y. Feinroth and E. Franceschini and M. Goldstein", + title = "Telecommunications Using a Front-End Minicomputer", + journal = j-CACM, + volume = "16", + number = "3", + pages = "153--160", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The use of a front-end minicomputer to provide varied remote terminal access to a large scale computer is considered. The problems of embedding telecommunications I/O within an operating system are discussed, and it is shown how the decentralization of intelligence acquired by front-end processing vastly simplifies the problem. A specific implementation is discussed with emphasis on the main processor-minicomputer link, the hardware-software implementation, the effect on the main processor operating system, and an assessment of the advantages over a hardwired line controller.", + acknowledgement = ack-nhfb, + classcodes = "C5600 (Data communication equipment and techniques)", + classification = "718; 723", + corpsource = "New York Univ., NY, USA", + journalabr = "Commun ACM", + keywords = "computers; computers, miniature; digital communication systems; front end processor; front-end processor; large scale computer; minicomputer; minicomputers; operating; operating system; remote; remote job entry; systems (computers); telecommunication systems; telecommunications; terminals", + treatment = "P Practical", +} + +@Article{Pack:1973:EMC, + author = "Charles D. Pack", + title = "The Effects of Multiplexing on a Computer-Communications System", + journal = j-CACM, + volume = "16", + number = "3", + pages = "161--168", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/network.bib", + abstract = "A study is made of the way in which asynchronous time division multiplexing changes the stochastic nature of the arrival process from a user to the computer and, consequently, affects the performance of a time-shared computer-communications system. It is concluded that while, for certain values of system parameters, there is noticeable improvement in the performance of the computer (model), in the sense that time-shared scheduling delays are reduced, these improvements are offset by the transmission delays imposed by multiplexing so that there may be little or no change in the computer-communications system performance. Analytical and simulation results are based on the model of the computer-communications system being an M/D/I queue (the multiplexor) in tandem with a single exponential server (the computer). Analytical results include a general description of the output process of an M/D/1 queue and the conditions under which this output process is approximately Poisson.", + acknowledgement = ack-nhfb, + classcodes = "C5600 (Data communication equipment and techniques)", + classification = "718; 722; 723", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + journalabr = "Commun ACm", + keywords = "computer communications; computer programming --- Subroutines; computers; digital communication systems; multiplexing; operating systems; scheduling algorithms; systems; time sharing; time-sharing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Conway:1973:DID, + author = "Richard W. Conway and Thomas R. Wilcox", + title = "Design and Implementation of Diagnostic Compiler for {PL/I}", + journal = j-CACM, + volume = "16", + number = "3", + pages = "169--179", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "PL/C is a compiler for a dialect for PL/I. The design objective was to provide a maximum degree of diagnostic assistance in a batch processing environment. For the most part this assistance is implicit and is provided automatically by the compilers. The most remarkable characteristic of PL/C is its perseverance --- it completes translation of every program submitted and continues execution until a user-established error limit is reached. This requires that the compiler repair errors encountered during both translation and execution, and the design of PL/C is dominated by this consideration. PL/C also introduces several explicit user-controlled facilities for program testing. To accommodate these extensions to PL/I without abandoning compatibility with the IBM compiler, PL/C permits ``pseudo comments'' --- constructions whose contents can optionally be considered either source text or comment. In spite of the diagnostic effort PL/C is a fast and efficient processor. It effectively demonstrates that compilers can provide better diagnostic assistance than is customarily offered, even when a sophisticated source language is employed, and that this assistance need not be prohibitively costly.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Cornell Univ., NY, USA", + journalabr = "Commun ACM", + keywords = "batch processing environment; batch-processing; computer operating systems; computer programming languages --- Program Debugging; computer programming languages --- Program Diagnostics; design; diagnostic compiler; diagnostics; implementation; PL/1; PL/C; PL/I; program; program compilers", + treatment = "P Practical", + xxtitle = "Design and implementation of a diagnostic compiler for {PL/I}", +} + +@Article{Salzer:1973:GCO, + author = "H. E. Salzer", + title = "{Gray} code and the +or-sign sequence when +or-f(+or-f(+or-f( . . +or-f(x) . . .))) is ordered", + journal = j-CACM, + volume = "16", + number = "3", + pages = "180--180", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Check title??", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + keywords = "binary sequences; binary system; codes; functions; Galois sum; Gray code; ordering; positive monotonic; sign sequences", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bookstein:1973:HST, + author = "Abraham Bookstein", + title = "On {Harrison}'s Substring Testing Technique", + journal = j-CACM, + volume = "16", + number = "3", + pages = "180--181", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "data handling; hashing; information storage; retrieval; substring testing technique", + treatment = "P Practical", +} + +@Article{Payne:1973:GEP, + author = "W. H. Payne", + title = "Graduate Education: The {Ph.D.} Glut", + journal = j-CACM, + volume = "16", + number = "3", + pages = "181--182", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See response and rebuttal \cite{Freeman:1974:GEP}.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + keywords = "accreditation; education; graduate education; Ph.D. glut; Ph.D. production", + treatment = "G General Review", +} + +@Article{Wagner:1973:AAA, + author = "R. A. Wagner", + title = "{ACM} Algorithm 444: An Algorithm for Extracting Phrases in a Space-Optimal Fashion", + journal = j-CACM, + volume = "16", + number = "3", + pages = "183--185", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Vanderbilt Univ., Nashville, TN, USA", + keywords = "algorithm; coding; data handling; extracting phrases; information retrieval; PARSE; PL/I; subroutines; text compression", + treatment = "P Practical", +} + +@Article{Chang:1973:AAB, + author = "Shi-Kuo Chang", + title = "{ACM} Algorithm 445: Binary Pattern Reconstruction from Projections", + journal = j-CACM, + volume = "16", + number = "3", + pages = "185--186", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7800 (Other computer applications)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "ALGOL; binary pattern; compression; data; picture processing; projections; reconstruction; subroutines", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Lau:1973:BPR, + author = "J. Lau", + title = "Binary pattern reconstruction from projections", + journal = j-CACM, + volume = "16", + number = "3", + pages = "186--186", + month = mar, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7800 (Other computer applications)", + corpsource = "Univ. British Columbia, Vancouver, BC, Canada", + keywords = "ALGOL; binary pattern reconstruction; compression; data; picture processing; projections; subroutines", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Hassitt:1973:IHL, + author = "A. Hassitt and J. W. Lageschulte and L. E. Lyon", + title = "Implementation of a High Level Language Machine", + journal = j-CACM, + volume = "16", + number = "4", + pages = "199--212", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Computing machines which directly execute the statements of a high level language have been proposed in the past. This report describes the actual implementation of such a machine: it is a computer whose ``machine language'' is APL. The machine is fully operational and correctly executes almost all of the APL operations on scalars, vectors, and arrays. The machine automatically allocates memory, executes statements, calls functions, converts numbers from one type to another, checks subscripts, and automatically detects many types of programmer errors.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6140D (High level languages)", + classification = "723", + corpsource = "IBM Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "APL; computer architecture; computer operating systems --- Program Compilers; computer programming languages; computing machines; emulators; high level language; high level language machine; implementation; interpreters; microprogramming; procedure oriented languages", + treatment = "P Practical", +} + +@Article{Williams:1973:AMH, + author = "John G. Williams", + title = "Asymmetric Memory Hierarchies", + journal = j-CACM, + volume = "16", + number = "4", + pages = "213--222", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "51 2378", + mrreviewer = "I. Kaufmann", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + abstract = "A study is presented of some of the system implications of memory hierarchies in which the backing or secondary store has a very small read time, relative of both the time required for writing and to the read time of conventional backing storage devices. Several analytic models are introduced, and it is shown that such hierarchies may operate in ways which differ from those of more conventional hierarchies. In particular, it is shown that it may not be necessary to multiprogram in such a situation. \par In the past, backing storage devices have been roughly symmetric with respect to their read and write times. This situation may not continue, as several devices are currently under development which may have a very small read-time/write-time ratio. This study places particular emphasis on one such system-the RCA read/write holographic optical memory.", + acknowledgement = ack-nhfb, + classcodes = "C5320Z (Other digital storage); C6120 (File organisation)", + classification = "722; 723; 741", + corpsource = "RCA, Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "asymmetric memory; asymmetric memory hierarchies; asymmetric memory hierarchy; computer systems programming --- Multiprogramming; data storage, optical; demand paging; file organisation; holographic; holographic optical memory; holography; memory device; memory hierarchy; optical memory; optical stores; paging; Performance Evaluation: Analytic; storage device; storage hierarchy; virtual memory", + treatment = "P Practical", +} + +@Article{Kuki:1973:SSA, + author = "H. Kuki and W. J. Cody", + title = "A Statistical Study of the Accuracy of Floating Point Number Systems", + journal = j-CACM, + volume = "16", + number = "4", + pages = "223--230", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (65G05)", + MRnumber = "51 2344", + mrreviewer = "I. Kaufmann", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + abstract = "This paper presents the statistical results of tests of the accuracy of certain arithmetic systems in evaluating sums, products and inner products, and analytic error estimates for some of the computations. The arithmetic systems studied are 6-digit hexadecimal and 22-digit binary floating point number representations combined with the usual chop and round modes of arithmetic with various numbers of guard digits, and with a modified round mode with guard digits. In a certain sense, arithmetic systems differing only in their use of binary or hexadecimal number representations are shown to be approximately statistically equivalent in accuracy. Further, the usual round mode with guard digits is shown to be statistically superior in accuracy to the usual chop mode in all cases save one. The modified round mode is found to be superior to the chop mode in all cases.", + acknowledgement = ack-nhfb # " and " # ack-nj, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723", + corpsource = "Univ. Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "accuracy; arithmetic; computer programming; digital arithmetic; error analysis; floating point arithmetic; floating point number systems; guard digits; number representation; rounding; statistical study", + treatment = "T Theoretical or Mathematical", +} + +@Article{Burkhard:1973:SAB, + author = "W. A. Burkhard and R. M. Keller", + title = "Some Approaches to Best-Match File Searching", + journal = j-CACM, + volume = "16", + number = "4", + pages = "230--236", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib", + abstract = "The problem of searching the set of keys in a file to find a key which is closest to a given query key is discussed. After ``closest'', in terms of a metric on the key space, is suitably defined, three file structures are presented together with their corresponding search algorithms, which are intended to reduce the number of comparisons required to achieve the desired result. These methods are derived using certain inequalities satisfied by metrics and by graph-theoretic concepts. Some empirical results are presented which compare the efficiency of the methods.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "Univ. California, San Diego, CA, USA", + journalabr = "Commun ACM", + keywords = "best match; data processing; file organisation; file searching; file structuring; heuristics; information retrieval systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Strong:1973:RCT, + author = "James P. {Strong, III} and Azriel Rosenfeld", + title = "A region coloring technique for scene analysis", + journal = j-CACM, + volume = "16", + number = "4", + pages = "237--246", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method of converting a picture into a ``cartoon'' or ``map'' whose regions correspond to differently textured regions is described. Texture edges in the picture are detected, and solid regions surrounded by these (usually broken) edges are ``colored in'' using a propagation process. The resulting map is cleaned by comparing the region colors with the textures of the corresponding regions in the picture, and also by merging some regions with others according to criteria based on topology and size. The method has been applied to the construction of could cover maps from cloud cover pictures obtained by satellites.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays)", + classification = "405; 723; 741", + corpsource = "NASA, Greenbelt, MD, USA", + journalabr = "Commun ACM", + keywords = "computer graphics; data processing --- Natural Sciences Applications; edge detection; maps and mapping; pattern recognition systems; picture; picture processing; processing; region colouring technique; scene analysis", + treatment = "P Practical", +} + +@Article{Rodriguez-Rosell:1973:DIE, + author = "Juan Rodriguez-Rosell and Jean-Pierre Dupuy", + title = "The design, implementation, and evaluation of a working set dispatcher", + journal = j-CACM, + volume = "16", + number = "4", + pages = "247--253", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The behavior of a computer system is largely dependent upon the algorithm employed to allocate the system resources to the processes competing for them. Recent research in time-sharing paging systems has developed the working set model for program behavior, and a resource allocation strategy based on this model has been proposed. Two implementations along these principles have been reported, but it seems that in neither case have further results been announced. This report discusses the design and implementation of a dispatcher based on the working set principle, presents data to permit analysis of its behavior, and indicates future directions of research on methods of controlling a computer system.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Royal Inst. Technol., Stockholm, Sweden", + journalabr = "Commun ACM", + keywords = "computer systems, digital; computers --- Operating Procedures; design; evaluation; implementation; operating systems; resource allocation; scheduler; software evaluation; supervisory and executive programs; supervisory systems; time sharing; time-sharing systems; working set; working set dispatcher", + treatment = "T Theoretical or Mathematical", + xxtitle = "Design, Implementation, and Evaluation of Working Set Dispatcher", +} + +@Article{Broucke:1973:AAT, + author = "R. Broucke", + title = "{ACM} Algorithm 446: Ten Subroutines for the Manipulation of {Chebyshev} Series", + journal = j-CACM, + volume = "16", + number = "4", + pages = "254--256", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. California, Los Angeles, CA, USA", + keywords = "approximations; Chebyshev approximation; Chebyshev series; curve fitting; Manipulation; negative powers; series (mathematics); subroutines", +} + +@Article{Ragland:1973:GCD, + author = "L. C. Ragland and D. I. Good", + title = "Greatest common divisor of $n$ integers and multipliers", + journal = j-CACM, + volume = "16", + number = "4", + pages = "257--257", + month = apr, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "Euclidean algorithm; greatest common divisor; inductive assertion method; integers; multipliers; number theory; proof of algorithms", + treatment = "P Practical", +} + +@Article{Pager:1973:PCC, + author = "David Pager", + title = "On the Problem of Communicating Complex Information", + journal = j-CACM, + volume = "16", + number = "5", + pages = "275--281", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The nature of the difficulty involved in communicating mathematical results between scientists using a computer based information retrieval system is examined. The problem is analyzed in terms of psychological and information-processing processes, and what turns out to be a vicious circle of effects is described. The paper then considers how the presentation of information by a computer-based information retrieval system, or by other media, can be improved. Some trade-offs which affect the design of the presentation are mentioned, and a number of ideas for improvement are described. These include ways of augmenting written language by various notational and linguistic devices, the exhibition of the structure inherent in the information the authors are communicating, and a sophisticated interactive system controlled by computer.", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "Univ. Hawaii, Honolulu, HI, USA", + journalabr = "Commun ACM", + keywords = "communication; complex information; computer based information retrieval; computers --- Data Communication Systems; information; information retrieval systems; information science --- Information Retrieval; interactive system; language; mathematics; proof; psychology; system", + treatment = "P Practical", +} + +@Article{Low:1973:PQE, + author = "David W. Low", + title = "Programming by Questionnaire: an Effective Way to Use Decision Tables", + journal = j-CACM, + volume = "16", + number = "5", + pages = "282--286", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Programming by questionnaire combines aspects of decision table programming and general purpose programming by using decision tables to construct an application program through the selection of certain source statements from a predefined file. It is proposed that programming by questionnaire is a useful compromise between general and special purpose programming for a significant class of large scale problems. The elements of the approach are discussed and an existing application is described.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "IBM Corp., Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "automatic program; automatic program generation; computer systems programming; decision tables; generation; productivity; programmer; programming; questionnaire; simulator generation", + treatment = "P Practical", +} + +@Article{King:1973:SCU, + author = "P. J. H. King and R. G. Johnson", + title = "Some Comments on the Use of Ambiguous Decision Tables and Their Conversion to Computer Programs", + journal = j-CACM, + volume = "16", + number = "5", + pages = "287--290", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper comments upon recently published work on decision table translation using methods similar to rule-mask technique. The applicability of these methods under various possible conventions on overall table meaning is discussed, and it is argued that there is a place both for the multi-rule and the single-rule (or action set) convention in decision table usage.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Birbeck Coll., Univ. London, UK", + journalabr = "Commun ACM", + keywords = "computer programs; computer systems programming; conversion; decision tables", + treatment = "P Practical", +} + +@Article{Salasin:1973:HSI, + author = "John Salasin", + title = "Hierarchical Storage in Information Retrieval", + journal = j-CACM, + volume = "16", + number = "5", + pages = "291--295", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A probabilistic analysis is employed to determine the effect of hierarchical storage organizations on information retrieval operations. The data storage hardware is assumed to consist of n-levels of linearly connected memory hardware with increasing data access times and increasing data storage capabilities. A system might, for example, consist of fast semiconductor memory, computer core memory, extended core storage, disk memory, and data cells. Equations are derived to predict the effect of such a system on data access times using sequential files, random access files, and structured files employing multiple-hierarchical linked lists.", + acknowledgement = ack-nhfb, + annote = "Simple evaluation of record fetch costs using various accessing sequences.", + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "Univ. Minneapolis, MN, USA", + journalabr = "Commun ACM", + keywords = "analysis; analytic; computer operating systems --- Storage Allocation; data access times; file organisation; files; hierarchical storage; information retrieval; information retrieval systems; linked lists; memory hierarchy; performance evaluation; probabilistic; random access; sequential files; structured files", + treatment = "T Theoretical or Mathematical", +} + +@Article{Corneil:1973:MEN, + author = "D. G. Corneil and C. C. Gotlieb and Y. M. Lee", + title = "Minimal Event-Node Network of Project Precedence Relations", + journal = j-CACM, + volume = "16", + number = "5", + pages = "296--298", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A procedure for constructing a minimal event-node network to represent a set of precedence relations without parallel activities is presented. A minimal even-node network is an event-node network in which both the number of nodes and the number of arcs are the minima to preserve the given precedence relations. Counterexamples are given to show that the algorithm presented by A. C. Fisher, J. S. Liebman, and G. L. Nemhauser (1968) produces event-node networks which are not minimal. Since our procedure includes the set-covering problem, the time required may grow exponentially with the number of given activities.", + acknowledgement = ack-nhfb, + classcodes = "C7100 (Business and administration)", + classification = "912", + corpsource = "Univ. Toronto, Ont., Canada", + journalabr = "Commun ACM", + keywords = "event node network; event-node network; management science; management sciences; minimal; minimal event-node network; network analysis; operations research; project precedence relations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mercer:1973:AGP, + author = "Andrew Mercer and Azriel Rosenfeld", + title = "An array grammar programming system", + journal = j-CACM, + volume = "16", + number = "5", + pages = "299--305", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A package of Fortran programs has been developed that permits a user to interactively design and test array grammars. The user can control the rule selection procedure in a derivation or parse, using weighted programming matrices; he also has a choice of instance selection schemes (raster, random, parallel). Examples are given involving array languages consisting of simple geometrical patterns, as well as a language of ``neuron pictures.''", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C7430 (Computer engineering)", + classification = "721; 723", + corpsource = "Kappa Systems Inc., Arlington, VA, USA", + journalabr = "Commun ACM", + keywords = "array grammar; array grammars; automata theory --- Grammars; automatic testing; CAD; computer graphics; computer programming languages; computer-aided design; Fortran programs; grammars; interactively; picture grammars; programming system; test", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Reingold:1973:NLM, + author = "Edward M. Reingold", + title = "A Nonrecursive List Moving Algorithm", + journal = j-CACM, + volume = "16", + number = "5", + pages = "305--307", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "An efficient, nonrecursive algorithm is given for moving any LIST-type list. In particular, the algorithm requires no storage other than the new nodes into which the list is to be moved, and no additional bits per node for marking; the algorithm runs in time proportional to the number of nodes in the list. The original list structure is destroyed as it is moved.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; computer programming languages; computer programming languages --- lisp; garbage collection; LISP; list moving; list processing; nonrecursive algorithm; storage management", + treatment = "P Practical", +} + +@Article{Vos:1973:CWF, + author = "H. Vos", + title = "Coulomb wave functions", + journal = j-CACM, + volume = "16", + number = "5", + pages = "308--309", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Vrije Univ., Amsterdam, Netherlands", + keywords = "Coulomb wave functions; function evaluation; mathematics; wave functions", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Bayer:1973:M, + author = "G. Bayer", + title = "Maxflow", + journal = j-CACM, + volume = "16", + number = "5", + pages = "309--309", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7300 (Natural sciences computing)", + corpsource = "Tech. Univ., Braunschweig, West Germany", + keywords = "arcs; flows; input parameters; maxflow; network; network analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Holmgren:1973:MAL, + author = "B. Holmgren and A. Kolm and D. Obradovic", + title = "Minit algorithm for linear programming", + journal = j-CACM, + volume = "16", + number = "5", + pages = "310--310", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "ASEA, Vasteras, Sweden", + keywords = "linear programming; minit algorithm", + treatment = "T Theoretical or Mathematical", +} + +@Article{Obradovic:1973:MAL, + author = "D. Obradovic", + title = "Minit algorithm for linear programming", + journal = j-CACM, + volume = "16", + number = "5", + pages = "310--310", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Boris Kidric Inst. Nuclear Sci., Beograd, Yugoslavia", + keywords = "linear programming; mini algorithm", + treatment = "P Practical", +} + +@Article{Howell:1973:ESL, + author = "J. A. Howell", + title = "Exact solution of linear equations using residue arithmetic", + journal = j-CACM, + volume = "16", + number = "5", + pages = "311--311", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods); C7310 (Mathematics computing)", + corpsource = "Yale Univ., New Haven, CT, USA", + keywords = "digital arithmetic; exact solution; inversion; linear algebra; linear equations; matrix; mixed radix conversion; modulus; prime number; residue arithmetic", + treatment = "P Practical", +} + +@Article{Sale:1973:SMP, + author = "A. H. J. Sale", + title = "A sparse matrix package", + journal = j-CACM, + volume = "16", + number = "5", + pages = "311--311", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Univ. Sydney, NSW, Australia", + keywords = "algorithm; matrix algebra; sparse matrix package", + treatment = "P Practical", +} + +@Article{Wheeler:1973:IEQ, + author = "R. E. Wheeler", + title = "Increasing the efficiency of quicksort", + journal = j-CACM, + volume = "16", + number = "5", + pages = "311--311", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "E. I. du Pont Nemours and Co., Wilmington, DE, USA", + keywords = "efficiency; quicksort; sorting", + treatment = "P Practical", +} + +@Article{Roy:1973:RPR, + author = "M. K. Roy", + title = "Reflection-free permutations, rosary permutations and adjacent transposition algorithms", + journal = j-CACM, + volume = "16", + number = "5", + pages = "312--312", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", + corpsource = "Jadavpur Univ., Calcutta, India", + keywords = "adjacent transposition algorithms; combinatorial analysis; combinatorial mathematics; permutation; reflection free; rosary", + treatment = "T Theoretical or Mathematical", +} + +@Article{McMorrow:1973:CMC, + author = "C. H. McMorrow", + title = "Concerning music and computer composition in computational linguistics", + journal = j-CACM, + volume = "16", + number = "5", + pages = "313--313", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Eagle Signal Corp., Davenport, IA, USA", + keywords = "computational linguistics; computer composition; humanities; music", + treatment = "G General Review", +} + +@Article{Wexelblat:1973:ACC, + author = "R. L. Wexelblat", + title = "Another comment on computer music", + journal = j-CACM, + volume = "16", + number = "5", + pages = "313--314", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7820 (Humanities computing)", + corpsource = "Bell Labs., Holmdel, NJ, USA", + keywords = "composer; computer music; humanities; musical taste; value judgment", + treatment = "G General Review", +} + +@Article{Estell:1973:CPA, + author = "R. G. Estell", + title = "A comment on the practical aspects of computer science education", + journal = j-CACM, + volume = "16", + number = "5", + pages = "314--315", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + keywords = "computer science education; curriculum; digital computers; education", + treatment = "G General Review; P Practical", +} + +@Article{Fajman:1973:WIT, + author = "Roger Fajman and John Borgelt", + title = "{WYLBUR}, An Interactive Text Editing and Remote Job Entry System", + journal = j-CACM, + volume = "16", + number = "5", + pages = "314--322", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + abstract = "WYLBUR is a comprehensive system for manipulating all kinds of text, such as computer programs, letters, and manuscripts, using typewriter terminals connected to a computer. It has facilities for remote job entry and retrieval as well as facilities for text alignment and justification. A powerful method for addressing text by content is provided. This paper describes the external appearance of WYLBUR as well as its internal structure. A short description of the major features of ORVYL, a general purpose time-sharing system which operates in conjunction with WYLBUR, is also included.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "723", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "addressing; computer systems programming; content; content addressing; data entry; data handling; data processing; document preparation; interactive text editing; ORVYL; remote; remote job entry; remote job retrieval; terminal; text editing", + treatment = "P Practical", +} + +@Article{Frailey:1973:PAM, + author = "Dennis J. Frailey", + title = "A Practical Approach to Managing Resources and Avoiding Deadlocks", + journal = j-CACM, + volume = "16", + number = "5", + pages = "323--329", + month = may, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Resource scheduling and allocation can be expensive with regard to time and space in multiprogramming or time-sharing environments involving large numbers of tasks and resources with conflicting requirements. \par Detection and\slash or prevention of deadlocks can require massive amounts of additional overhead if efficient usage of resources is to be maintained. A resource management program is described which uses linked lists along with other techniques to overcome a large portion of this overhead. The program, which is currently running as part of a large scale general purpose operating system, keeps resources relatively active but does not detect or prevent all deadlocks in its implemented state. Certain changes, which would permit more comprehensive levels of deadlock prevention\slash detection at additional cost, have not been incorporated in the running system due to the infrequency of deadlock situations.", + acknowledgement = ack-nhfb, + annote = "Description of a limited implementation and good overview.", + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Southern Methodist Univ., Dallas, TX, USA", + journalabr = "Commun ACM", + keywords = "(computers); allocation; computer systems programming; deadlock; deadly embrace; file organisation; multiprocessing; multiprogramming; operating systems; resource; resource allocation; resource management; resource scheduling; scheduling; storage allocation; time sharing; time-sharing; time-sharing programs", + treatment = "P Practical", +} + +@Article{Hamlet:1973:EMR, + author = "R. G. Hamlet", + title = "Efficient multiprogramming resource allocation and accounting", + journal = j-CACM, + volume = "16", + number = "6", + pages = "337--342", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + corpsource = "Univ. Maryland, Baltimore, MD, USA", + keywords = "accounting; efficient; executive; memory; monitor; multiprogramming; resource allocation; storage allocation", + treatment = "P Practical", +} + +@Article{Gelenbe:1973:MWS, + author = "E. Gelenbe and J. C. A. Boekhorst and J. L. W. Kessels", + title = "Minimizing wasted space in partitioned segmentation", + journal = j-CACM, + volume = "16", + number = "6", + pages = "343--349", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "algorithms; dynamic storage allocation; file organisation; fragmentation; multiple; page sizes; paged virtual memory; partitioned segmentation; storage allocation; storage management; system; wasted space", + treatment = "P Practical", +} + +@Article{Hill:1973:SPM, + author = "J. C. Hill", + title = "Synchronizing processors with memory-content-generated interrupts", + journal = j-CACM, + volume = "16", + number = "6", + pages = "350--351", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Univ. California, Livermore, CA, USA", + keywords = "associative memories; debugging; interrupts; microprogramming; monitors; multiprocessing programs; multiprocessor; parallel processing; supervisors; synchronisation; synchronizing processors", + treatment = "P Practical", +} + +@Article{Stone:1973:NOS, + author = "Harold S. Stone and Samuel F. Fuller", + title = "On the Near-Optimality of the Shortest-Latency-Time-First Drum Scheduling Discipline", + journal = j-CACM, + volume = "16", + number = "6", + pages = "352--353", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: Technical Note No.12, DSL.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Stanford Univ., CA, USA", + keywords = "computer systems; drum scheduling discipline; file organisation; latency scheduling; minimal; shortest latency time first; storage allocation; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stockhausen:1973:AOC, + author = "P. F. Stockhausen", + title = "Adapting optimal code generation for arithmetic expressions to the instruction sets available on present-day computers", + journal = j-CACM, + volume = "16", + number = "6", + pages = "353--354", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Bell Labs., Murray Hill., NJ, USA", + keywords = "arithmetic expressions; codes; digital arithmetic; instruction; optimal code generation; sets", + treatment = "P Practical", +} + +@Article{Ling:1973:CGA, + author = "R. F. Ling", + title = "A computer generated aid for cluster analysis", + journal = j-CACM, + volume = "16", + number = "6", + pages = "355--361", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5530 (Pattern recognition and computer vision equipment); C5540 (Terminals and graphic displays)", + corpsource = "Univ. Chicago, IL, USA", + keywords = "cluster analysis; computer aided analysis; computer graphics; factor analysis; hierarchical clustering; numerical taxonomy; pattern; recognition", + treatment = "P Practical", +} + +@Article{Shneiderman:1973:ODB, + author = "Ben Shneiderman", + title = "Optimum Data Base Reorganization Points", + journal = j-CACM, + volume = "16", + number = "6", + pages = "362--365", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "Criteria for file reorganization", + classcodes = "C6120 (File organisation)", + corpsource = "State Univ. New York, Stony Brook, NY, USA", + keywords = "cost per access; data base; file organisation; files; information retrieval; optimum; reorganization; strategies", + treatment = "P Practical", +} + +@Article{Strunz:1973:DDT, + author = "H. Strunz", + title = "The development of decision tables via parsing of complex decision situations", + journal = j-CACM, + volume = "16", + number = "6", + pages = "366--369", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Mathematischer Beratungs- and Programmierungsdienst GmbH, Cologne, West Germany", + keywords = "decision grid chart; decision tables; development; parsing; problem analysis", + treatment = "P Practical", +} + +@Article{Bell:1973:TC, + author = "James R. Bell", + title = "Threaded Code", + journal = j-CACM, + volume = "16", + number = "6", + pages = "370--372", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The concept of ``threaded code'' is presented as an alternative to machine language code. Hardware and software realizations of it are given. In software it is realized as interpretive code not needing an interpreter. Extensions and optimizations are mentioned.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6110 (Systems analysis and programming); C6140B (Machine-oriented languages)", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + keywords = "code; compiled code; hardware; interpreter; machine; machine code; machine oriented languages; microprogramming; programming; software; space tradeoff; subroutine calls; threaded code; time tradeoff", + treatment = "P Practical", +} + +@Article{Hopcroft:1973:AAE, + author = "J. Hopcroft and R. Tarjan", + title = "{ACM} Algorithm 447: Efficient Algorithms for Graph Manipulation", + journal = j-CACM, + volume = "16", + number = "6", + pages = "372--378", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "ALGOL; algorithms; graph manipulation; graph theory; mathematics; partitioning; subroutines", + treatment = "P Practical", +} + +@Article{Beyer:1973:AAN, + author = "T. Beyer and D. F. Swinehart", + title = "{ACM} Algorithm 448: Number of Multiply-Restricted Partitions", + journal = j-CACM, + volume = "16", + number = "6", + pages = "379--379", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Oregon, Eugene, OR, USA", + keywords = "change making; digital arithmetic; enumeration; FORTRAN; multiply restricted partitions; positive integer; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Ferguson:1973:LSP, + author = "J. Ferguson and P. A. Staley", + title = "Least squares piecewise cubic curve fitting", + journal = j-CACM, + volume = "16", + number = "6", + pages = "380--382", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D10", + MRnumber = "50 15267", + mrreviewer = "Bernard H. Rosman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The matrices involved in a linear least squares formulation are determined for the problem of fitting piecewise cubic functions, those possessing a continuous derivative, to arrays of planar data.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + corpsource = "Teledyne Ryan Aeronaut. Co., San Diego, CA, USA", + keywords = "approximation splines; curve fitting; data; data reduction; data reduction and analysis; function approximation; least; least squares; piecewise cubic; reduction; squares approximations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hoskins:1973:CSS, + author = "W. D. Hoskins", + title = "Cubic spline solutions to fourth-order boundary value problems", + journal = j-CACM, + volume = "16", + number = "6", + pages = "382--385", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65L10", + MRnumber = "58 31861", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The cubic spline approximation to the fourth-order differential equation $y''''+p(x)y''+q(x)y'+r(x)y=t(x)$ is shown to reduce to the solution of a five-term recurrence relationship. For some special cases the approximation is shown to be simply related to a finite difference representation with a local truncation error of order $(y/720)\delta^8$.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); B0290P (Differential equations); C4130 (Interpolation and function approximation); C4170 (Differential equations)", + corpsource = "Univ. Manitoba, Winnipeg, Man., Canada", + keywords = "(mathematics); boundary value problem; boundary value problems; boundary-value problems; cubic spline; differential; differential equations; equations; fourth order; splines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Alt:1973:CPT, + author = "Franz L. Alt and Judith Yuni Kirk", + title = "Computer Photocomposition of Technical Text", + journal = j-CACM, + volume = "16", + number = "6", + pages = "386--391", + month = jun, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Describes the typesetting system used by the American Institute of Physics.", + abstract = "In computer assisted typesetting by means of photocomposition, special problems arise in highly technical material such as mathematical formulas. New solutions to several of these problems have been devised in the information system of the American Institute of Physics. They include: the representation of special characters (foreign alphabets, mathematical symbols, etc.) not available on input keyboards or on the photocomposer; the generation of such symbols, e.g. by overprinting; the precise positioning of accent marks (floating diacritics); line breaks, i.e. words or formulas placed partly at the end of one line and partly at the beginning of the next; and certain aspects of error correction.", + acknowledgement = ack-nhfb, + classcodes = "C7230 (Publishing and reproduction)", + corpsource = "American Inst. Phys., New York, NY, USA", + keywords = "computer; computer controlled typesetting; graphics; photocomposition; printing; technical text; text processing; typesetting", + treatment = "P Practical", +} + +@Article{Nolan:1973:MCR, + author = "Richard L. Nolan", + title = "Managing the Computer Resource: Stage Hypothesis", + journal = j-CACM, + volume = "16", + number = "7", + pages = "399--405", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Based on the study of expenditures for data processing, a descriptive stage hypothesis is presented. It is suggested that the planning, organizing, and controlling activities associated with managing the computer resource will change in character over a period of time, and will evolve in patterns roughly correlated to four stages of the computer budget: Stage I (computer acquisition), Stage II (intense system development), Stage III (proliferation of controls), and Stage IV (user\slash service orientation). Each stage is described and related to individual tasks for managing the computer resource.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + classification = "723", + corpsource = "Harvard Univ. Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer; computer budget; computer expenditures; computer management; computer resource; control; data processing; data processing, business; economics; management; organizing; planning; resource; stage hypothesis", + treatment = "E Economic", + xxtitle = "Managing the computer resource: a stage hypothesis", +} + +@Article{Huang:1973:NIO, + author = "J. C. Huang", + title = "A Note on Information Organization and Storage", + journal = j-CACM, + volume = "16", + number = "7", + pages = "406--410", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 13900", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Since the logical structure of a data base can be represented by a tree or graph, it is quite natural for us to view the process of designing a data base as that of constructing a tree or a graph. \par A general method for constructing such a tree or a graph is provided. There are three important elements in this general construction method; namely, a set of binary relations, an algorithm for constructing subsets of a set, and an algorithm for selecting an element from the given set of objects. The use of different relations and algorithms results in different information structures, as list, tree, ring, etc. Thus the problem of information organization and storage is reduced to that of defining relations and formulating algorithms under a given set of constraints. \par The results presented may be valuable to designers as useful design concepts, and may serve as a basis for developing a formal theory on the subject.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901; 921", + corpsource = "Univ. Houston, TX, USA", + journalabr = "Commun ACM", + keywords = "(mathematical); data base; data-base management; file organisation; file organization; graph; graph theory; information; information retrieval; information retrieval systems; information structure; management; mathematical techniques --- Graph Theory; storage allocation; structure; tree; trees", + treatment = "T Theoretical or Mathematical", +} + +@Article{Kozdrowicki:1973:CIC, + author = "Edward W. Kozdrowicki and Dennis W. Cooper", + title = "{COKO III}: the {Cooper-Koz} Chess Program", + journal = j-CACM, + volume = "16", + number = "7", + pages = "411--427 (or 411--426??)", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "COKO III is a chess player written entirely in Fortran. On the IBM 360-65, COKO III plays a minimal chess game at the rate of. 2 sec cpu time per move, with a level close to lower chess club play. A selective tree searching procedure controlled by tactical chess logistics allows a deployment of multiple minimal game calculations to achieve some optimal move selection. In addition, an interesting phenomenon called a tree searching catastrophe has plagued COKO's entire development just as it troubles a human player. Standard exponential growth is curbed to a large extent by the definition and trimming of the Fischer set. Representation of the chess environment is described along with a strategic preanalysis procedure that maps the Lasker regions. Specific chess algorithms are described which could be used as a command structure by anyone desiring to do some chess program experimentation. A comparison is made of some mysterious actions of human players and COKO III.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7810 (Social and behavioural sciences computing)", + classification = "723", + corpsource = "Univ. California, Davis, CA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; chess program; COKO III; computer systems programming; FORTRAN; games of skill; heuristic programming; minimal chess game; selective searching; tree searching", + treatment = "A Application", +} + +@Article{Howard:1973:MSD, + author = "John H. {Howard, Jr.}", + title = "Mixed Solutions for the Deadlock Problem", + journal = j-CACM, + volume = "16", + number = "7", + pages = "427--430", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "Mixtures of detection, avoidance, and prevention provide more effective and practical solutions to the deadlock problem than any one of these alone. The individual techniques can be tailored for subproblems of resource allocation and still operate together to prevent deadlocks. This paper presents a method, based on the concept of the hierarchical operating system, for constructing appropriate mixtures and suggests appropriate subsystems for the most frequently occurring resource allocation problems.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems programming --- Multiprogramming; deadlock problem; deadlocks; hierarchical systems; mixed solutions; multiprogramming; operating systems; operating systems (computers); resource allocation", + treatment = "P Practical", +} + +@Article{Gelenbe:1973:DPP, + author = "Erol Gelenbe", + title = "Distribution of a Program in Primary and Fast Buffer Storage", + journal = j-CACM, + volume = "16", + number = "7", + pages = "431--434", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A virtual memory computer system with a fast buffer (cache) memory between primary memory and central processing unit is considered. The optimal distribution of a program between the buffer and primary memory is studied using the program's lifetime function. Expressions for the distribution of a program which maximizes the useful fraction of the cost-time integral of primary and fast buffer storage are obtained for swapping and nonswapping buffer management policies.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + journalabr = "Commun ACM", + keywords = "cache; computer systems programming; cost time integral; distribution of a program; fast buffer; function; lifetime; lifetime function; storage; virtual memory; virtual memory computer system; virtual storage", + treatment = "P Practical", +} + +@Article{Rosin:1973:TP, + author = "Robert F. Rosin", + title = "Teaching ``About Programming''", + journal = j-CACM, + volume = "16", + number = "7", + pages = "435--439", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents the goals and organization of a course about programming designed to provide entering students in a graduate program with a cultural enrichment in their professional lives. The students are expected to have taken at least two programming courses prior to this one and, therefore, to be familiar with at least two programming languages, both as students and users. Teaching someone how to program is similar to teaching him to play a musical instrument: neither skill can be taught-they must be learned. However, the teacher still serves several vital purposes: to present a set of rules for producing well-formed utterances; to offer numerous demonstrations of his own skill; and to function as an involved critic. Finally, the teacher is the source of information about the process in which the student is involved.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. Aarhus, Denmark", + journalabr = "Commun ACM", + keywords = "computer systems programming; education; professionalism; programming; programming concepts; teaching", +} + +@Article{McFarlan:1973:CRG, + author = "F. Warren McFarlan and Richard L. Nolan", + title = "Curriculum Recommendations for Graduate Professional Programs in Information Systems: Recommended Addendum on Information Systems Administration", + journal = j-CACM, + volume = "16", + number = "7", + pages = "439--442 (or 439--441??)", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An addendum to the Report of the ACM Curriculum Committee on Computer Education for Management is proposed. The proposed addendum is to include in the curriculum a course on Information Systems administration. It is important for two reasons: (1) the systems designer must understand the administrative framework in which he must operate to work effectively, and (2) an important objective of the curriculum recommendations is to prepare the future manager of the computer activity. \par It is felt that the importance of these two reasons justifies the addition of the recommended course. \par The course is outlined in the format of the original report.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C0310 (EDP management); C7100 (Business and administration)", + classification = "723; 901", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "administration; computer management; curriculum recommendations; education; information retrieval systems; information systems; information systems administration; information systems management; management; management information systems", + treatment = "P Practical", +} + +@Article{Kandel:1973:CSS, + author = "A. Kandel", + title = "Computer Science --- Seminars for Undergraduates", + journal = j-CACM, + volume = "16", + number = "7", + pages = "442--442", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "New Mexico Inst. Mining Technol., Soccorro., NM, USA", + keywords = "computer science; curriculum; digital computers; education; seminars; undergraduates", + keywords = "computer science; curriculum; education; fuzzy educational structure; imprecise synthesis", + treatment = "G General Review; P Practical", +} + +@Article{Bochmann:1973:MEL, + author = "G. V. Bochmann", + title = "Multiple Exits from a Loop Without the {GOTO}", + journal = j-CACM, + volume = "16", + number = "7", + pages = "443--444", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages)", + corpsource = "Univ. Montreal, Que., Canada", + keywords = "control structures; exit statement; from loops; goto free programming; multiple exits; multiple exits from loops; programming languages", + treatment = "P Practical", +} + +@Article{Hall:1973:EBA, + author = "Patrick A. V. Hall", + title = "Equivalence Between {AND\slash OR} Graphs and Context-Free Grammars", + journal = j-CACM, + volume = "16", + number = "7", + pages = "444--445", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C4210 (Formal logic)", + corpsource = "City Univ., London, UK", + keywords = "AND/OR graphs; artificial intelligence; context free grammars; context-free grammars; equivalance; graph theory; language theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fiala:1973:AAS, + author = "F. Fiala", + title = "{ACM} Algorithm 449: Solution of Linear Programming Problems in 0-1 Variables", + journal = j-CACM, + volume = "16", + number = "7", + pages = "445--448 (or 445--447??)", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Univ. Alberta, Edmonton, Alta., Canada", + keywords = "FORTRAN; linear programming; subroutine; subroutines; zero one programming", + treatment = "P Practical", +} + +@Article{Kernighan:1973:RAM, + author = "B. W. Kernighan", + title = "Remark on {``Algorithm 422: Minimal Spanning Tree''}", + journal = j-CACM, + volume = "16", + number = "7", + pages = "448--448", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See \cite{Whitney:1972:AAM}.", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Bell Telephone Labs. Inc., Murray Hill, NJ, USA", + keywords = "minimal spanning tree; subroutine; trees (mathematical)", + keywords = "minimal spanning tree; Prim algorithm; spanning tree", +} + +@Article{Macleod:1973:HPP, + author = "I. D. G. Macleod and A. M. Collins", + title = "Hidden-line plotting program", + journal = j-CACM, + volume = "16", + number = "7", + pages = "448--448", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Australian Nat. Univ., Canberra, Australia", + keywords = "computer graphics; data handling; hidden line; surface plot", + treatment = "P Practical", +} + +@Article{Nikolai:1973:DSO, + author = "P. J. Nikolai", + title = "{DIFSUB} for solution of ordinary differential equations", + journal = j-CACM, + volume = "16", + number = "7", + pages = "448--448", + month = jul, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations); C7310 (Mathematics computing)", + corpsource = "Wright-Patterson Air Force Base, OH, USA", + keywords = "boundary value; certification; differential equations; DIFSUB; ordinary differential equations; problems", + treatment = "P Practical", +} + +@Article{Smith:1973:LPW, + author = "Michael H. Smith", + title = "A learning program which plays partnership dominoes", + journal = j-CACM, + volume = "16", + number = "8", + pages = "462--467", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A learning program has been written in BASIC to play four-player partnership dominoes. Because dominoes is a game of incomplete information, the program uses somewhat different principles of artificial intelligence from those used in programs for games of complete information, such as checkers, chess, and go. The program was constructed to use a ``strategy signature table'' which classifies board situations through the interactions of game parameters. Each entry in the table contains adaptively determined weights indicating the advisability of various strategies. Once chosen, a strategy then employs probability analysis and linear polynomial evaluation to choose a move. Our program wins approximately two-thirds of its games in tournament situations, and has defeated championship players.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7890 (Other special applications of computing)", + classification = "461; 912", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; BASIC; game playing; games of skill; heuristic; intelligence; learning program; learning: heuristic procedures; partnership dominoes; problem; programming; solving; systems science and cybernetics", + treatment = "P Practical", +} + +@Article{MacLennan:1973:FAB, + author = "B. J. MacLennan", + title = "{Fen} --- an Axiomatic Basis for Program Semantics", + journal = j-CACM, + volume = "16", + number = "8", + pages = "468--474", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (02G99)", + MRnumber = "51 9561", + mrreviewer = "W. D. Maurer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The notions of data item, function, and relation. It is argued that the system is more suitable than set theory (or its derivatives) for the concise and accurate description of program semantics. It is shown how the system can be used to build composite data types out of simper ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. \par It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system. The technique is contrasted with the use of the paradoxical combinator, Y. The questions of local and global environments and of various modes of function calling and parameter passing are touched upon. The theory is applied to the proof of several elementary theorems concerning the semantics of the assignment, conditional, and iterative statements. An appendix is included which presents in detail the formal system governing webs and fen, the abstractions used informally in the body of the paper.", + abstract2 = "A formal system is presented which abstracts the notions of data item, function, and relation. It is shown how the system can be used to build composite data types out of simpler ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Florida State Univ., Tallahassee, FL, USA", + journalabr = "Commun ACM", + keywords = "axioms; computer metatheory; correctness; data; data structures; data types; definition; description languages; extensible languages; fen; formal description; formal language; formal language definition; formal languages; formal systems; lambda-calculus; models of computation; modes; semantics; types", + treatment = "T Theoretical or Mathematical", +} + +@Article{Misunas:1973:PNS, + author = "David Misunas", + title = "Petri Nets and Speed Independent Design", + journal = j-CACM, + volume = "16", + number = "8", + pages = "474--482 (or 474--481??)", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/async.circuits.bib", + abstract = "Petri nets are investigated as one method of modeling speed independent asynchronous circuits. A study of circuit realization of Petri nets leads to a demonstration of their usefulness in modeling speed independent operation. This usefulness is emphasized by the design of a speed independent processor from modules developed in the investigation of Petri net implementation.", + acknowledgement = ack-nhfb, + classcodes = "C4230D (Sequential switching theory); C5210 (Logic design methods)", + classification = "721; 723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "asynchronous circuits; asynchronous sequential logic; design; logic design; Petri nets; speed independent", + treatment = "T Theoretical or Mathematical", +} + +@Article{MacHura:1973:AAR, + author = "M. MacHura and A. Mulawa", + title = "{ACM} Algorithm 450: {Rosenbrock} Function Minimization", + journal = j-CACM, + volume = "16", + number = "8", + pages = "482--483", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Davies:1976:RRF}.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Inst. Automation and Measurements, Warsaw, Poland", + keywords = "direct search; FORTRAN; function minimization; minimisation; Rosenbrock; subroutine; subroutines; unconstrained problem", + treatment = "P Practical", +} + +@Article{Goldstein:1973:AAC, + author = "R. B. Goldstein", + title = "{ACM} Algorithm 451: Chi-Square Quantiles", + journal = j-CACM, + volume = "16", + number = "8", + pages = "483--485", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Providence Coll., RI, USA", + keywords = "Chi square quantiles; probability; statistic; statistics; subroutines", + treatment = "P Practical", +} + +@Article{Liu:1973:AAE, + author = "C. N. Liu and D. T. Tang", + title = "{ACM} Algorithm 452: Enumerating Combinations of $m$ Out of $n$ Objects", + journal = j-CACM, + volume = "16", + number = "8", + pages = "485--485", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + keywords = "combinations; FORTRAN; NXCBN; permutations; statistics; subroutines", + treatment = "P Practical", +} + +@Article{Piessens:1973:AAG, + author = "Robert Piessens", + title = "{ACM} Algorithm 453: {Gaussian} Quadrature Formulas for {Bromwich}'s Integral", + journal = j-CACM, + volume = "16", + number = "8", + pages = "486--487", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. Leuven, Heverlee, Belgium", + keywords = "BROMIN; Bromwich's integral; complex; FORTRAN; Gaussian quadrature formulas; integration; Laplace transform; Laplace transforms; numerical inversion; subroutines", + treatment = "P Practical", +} + +@Article{Richardson:1973:AAC, + author = "J. A. Richardson and J. L. Kuester", + title = "{ACM} Algorithm 454: The Complex Method for Constrained Optimization", + journal = j-CACM, + volume = "16", + number = "8", + pages = "487--489", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Arizona State Univ., Tempe, AZ, USA", + keywords = "Box's algorithm; complex method; constrained optimization; FORTRAN; maximum; multivariable; nonlinear function; optimisation; subroutines", + treatment = "P Practical", +} + +@Article{Andrejkova:1973:CGF, + author = "G. Andrejkova and J. Vinar", + title = "Complex gamma function", + journal = j-CACM, + volume = "16", + number = "8", + pages = "489--489", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Safarik Univ., Kosice, Czechoslovakia", + keywords = "algorithm; certification; comment; complex gamma function; functions", + treatment = "P Practical", +} + +@Article{DeMorgan:1973:RAA, + author = "R. M. {De Morgan}", + title = "Remark on {``Algorithm 357 [A1]: An Efficient Prime Number Generator''}", + journal = j-CACM, + volume = "16", + number = "8", + pages = "489--489", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Digital Equipment Co. Ltd., Reading, UK", + keywords = "algorithm; mathematics; prime number generator", + treatment = "P Practical", +} + +@Article{Watkins:1973:GP, + author = "R. P. Watkins", + title = "Graph plotter", + journal = j-CACM, + volume = "16", + number = "8", + pages = "489--490", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Royal Melbourne Inst. Technol., Vic., Australia", + keywords = "algorithm; computer graphics; graph plotter; plotters", + treatment = "P Practical", +} + +@Article{Byrne:1973:HMR, + author = "J. G. Byrne", + title = "{Hu-Tucker} minimum redundancy alphabetic coding method", + journal = j-CACM, + volume = "16", + number = "8", + pages = "490--490", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Trinity Coll., Dublin, Ireland", + keywords = "algorithm; alphabetic coding method; encoding; Hu; minimum redundancy; Tucker", + treatment = "P Practical", +} + +@Article{Good:1973:CQ, + author = "A. J. Good", + title = "{Clenshaw-Curtis} quadrature", + journal = j-CACM, + volume = "16", + number = "8", + pages = "490--490", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Systems, Sci. and Software, La Jolla, CA, USA", + keywords = "algorithm; Clenshaw Curtis quadrature; integration", + treatment = "P Practical", +} + +@Article{Williams:1973:LRP, + author = "E. J. Williams", + title = "Localization of the roots of a polynomial", + journal = j-CACM, + volume = "16", + number = "8", + pages = "490--490", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Ford Motor Co., Dearborn, MI, USA", + keywords = "algorithm; localization; polynomials; roots of a polynomial", + treatment = "P Practical", +} + +@Article{Manna:1973:IMP, + author = "Zohar Manna and Stephen Ness and Jean Vuillemin", + title = "Inductive Methods for Proving Properties of Programs", + journal = j-CACM, + volume = "16", + number = "8", + pages = "491--502", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "51 2331", + mrreviewer = "W. D. Maurer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/ml.bib", + abstract = "There are two main purposes in this paper: first, clarification and extension of known results about computation of recursive programs, with emphasis on the difference between the theoretical and practical approaches; second, presentation and examination of various known methods for proving properties of recursive programs. Discussed in detail are two powerful inductive methods, computational induction and structural induction, including examples of their application.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "computability and decidability; computation induction; computer metatheory; inductive methods; least fixedpoint; programming theory; properties of programs; proving; recursive programs; structural induction", + treatment = "T Theoretical or Mathematical", +} + +@Article{Peterson:1973:CWR, + author = "W. W. Peterson and T. Kasami and N. Tokura", + title = "On the Capabilities of While, Repeat, and Exit Statements", + journal = j-CACM, + volume = "16", + number = "8", + pages = "503--512", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "51 4707", + mrreviewer = "J. E. L. Peck", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A well-formed program is defined as a program in which loops and if statements are properly nested and can be entered only at their beginning. A corresponding definition is given for a well-formed flowchart. It is shown that a program is well formed if and only if it can be written with if, repeat, and multi-level exit statements for sequence control. It is also shown that if, while, and repeat statements with single-level exit do not suffice. It is also shown that any flowchart can be converted to a well-formed flowchart by node splitting. Practical implications are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. Hawaii, Honolulu, HI, USA", + journalabr = "Commun ACM", + keywords = "capabilities; computer metatheory; exit; exit statement; flowchart; go to statement; node splitting; programming theory; repeat statement; software reliability; statement; well formed program; well-formed program; while statement", + treatment = "T Theoretical or Mathematical", +} + +@Article{Foster:1973:GAT, + author = "Caxton C. Foster", + title = "A Generalization of {AVL} Trees", + journal = j-CACM, + volume = "16", + number = "8", + pages = "513--517", + month = aug, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A generalization of AVL trees is proposed in which imbalances up to (triangle shape) is a small integer. An experiment is performed to compare these trees with standard AVL trees and with balanced trees on the basis of mean retrieval time, of amount of restructuring expected, and on the worst case of retrieval time. It is shown that, by permitting imbalances of up to five units, the retrieval time is increased a small amount while the amount of restructuring required is decreased by a factor of ten. \par A few theoretical results are derived, including the correction of an earlier paper, and are duly compared with the experimental data. Reasonably good correspondence is found.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6120 (File organisation)", + classification = "723; 901", + corpsource = "Univ. Massachusetts, Amherst, MA, USA", + journalabr = "Commun ACM", + keywords = "AVL trees; balanced trees; file organisation; generalisation; information retrieval systems; information storage and; information storage and retrieval; retrieval; trees (mathematical)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Buzen:1973:CAC, + author = "Jeffrey P. Buzen", + title = "Computational Algorithms for Closed Queueing Networks with Exponential Servers", + journal = j-CACM, + volume = "16", + number = "9", + pages = "527--531", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "50 15423", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib", + abstract = "Methods are presented for computing the equilibrium distribution of customers in closed queueing networks with exponential servers. Expressions for various marginal distributions are also derived. The computational algorithms are based on two-dimensional iterative techniques which are highly efficient and quite simple to implement. Implementation considerations such as storage allocation strategies and order of evaluation are examined in some detail.", + acknowledgement = ack-nhfb, + annote = "Methods are presented for computing the equilibrium distribution of customers in closed queueing networks with exponential servers. Expressions for various marginal distributions are also derived.", + classcodes = "B0240C (Queueing theory); C1140C (Queueing theory)", + classification = "912; 922", + corpsource = "Harvard Univ., Cambridge, MA, USA", + country = "USA", + date = "14/12/79", + descriptors = "Exponential queueing network; number of elements in system; method;", + enum = "483", + journalabr = "Commun ACM", + keywords = "closed queueing networks; computational algorithms; distributions; equilibrium distributions; exponential servers; operations research; probability; queueing networks; queueing theory; steady state", + language = "English", + references = "6", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ganapathy:1973:ITA, + author = "S. Ganapathy and V. Rajaraman", + title = "Information Theory Applied to the Conversion of Decision Tables to Computer Programs", + journal = j-CACM, + volume = "16", + number = "9", + pages = "532--539", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/inductive.inference.bib", + abstract = "Using ideas from information theory, this paper develops a heuristic algorithm that converts a limited entry decision table to a tree structured computer program with near minimum average processing time. The method is applicable to any limited entry decision table and does not require that actions have single rules or that the cost of testing conditions be equal. It is thus more general than the previously published heuristic algorithms. Compared to the optimal algorithm of Reinwald and Soland, this algorithm is easy to code and takes a much smaller translation time; it is thus felt that it is more useful in practice. The algorithm is well suited for manual conversion of decision tables to flowcharts.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723; 731; 922", + corpsource = "Indian Inst. Technol., New Delhi, India", + journalabr = "Commun ACM", + keywords = "computer; computer systems programming --- Decision Tables; conversion; decision tables; decision theory and analysis; information measure; information theory; optimum computer programs; programming theory; programs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cardenas:1973:ESF, + author = "Alfonso F. Cardenas", + title = "Evaluation and Selection of File Organization --- {A} Model and a System", + journal = j-CACM, + volume = "16", + number = "9", + pages = "540--548", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This work first discusses the factors that affect file (data base) organization performance, an elusive subject, and then presents a methodology, a model and a programmed system to estimate primarily total storage costs and average access time of several file organizations, given a specific data base, query characterization and device-related specifications. Based on these estimates, an appropriate file structure may be selected for the specific situation. The system is a convenient tool to study file structures and to facilitate as much as possible the process of data base structure design and evaluation.", + acknowledgement = ack-nhfb, + annote = "Tree, indexed, and ring files compared for six files and various retrieval requests.", + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "access time; data base; data management; data processing; data structures; design; evaluation; file management; file organisation; file organization; file structures; model; selection; simulation; storage requirement", + treatment = "P Practical", +} + +@Article{Casey:1973:DTS, + author = "R. G. Casey", + title = "Design of Tree Structures for Efficient Querying", + journal = j-CACM, + volume = "16", + number = "9", + pages = "549--556", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper poses an optimization problem in the design of such trees to serve a well-specified application. The problem is academic in the sense that ordinarily the optimal tree cannot be implemented by means of practical techniques. On the other hand, it is potentially useful for the comparison it affords between observed performance and that of an intuitively attractive ideal search procedure. As a practical application of such a model this paper considers the design of a novel tree search scheme based on a bit vector representation of data and shows that essentially the same algorithm can be used to design either an ideal search tree or a bit-vector tree. An experimental study of a small formatted file illustrates the concepts.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "clustering; data; data structure; data structures; design; file organisation; information retrieval; information retrieval systems; information storage; information storage and; management; querying; retrieval; search; tree file; tree structures", + treatment = "P Practical", +} + +@Article{Rodriguez-Rosell:1973:EWS, + author = "Juan Rodriguez-Rosell", + title = "Empirical Working Set Behavior", + journal = j-CACM, + volume = "16", + number = "9", + pages = "556--560", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The working set model for program behavior has been proposed in recent years as a basis for the design of scheduling and paging algorithms. Although the words ``working set'' are now commonly encountered in the literature dealing with resource allocation, there is a dearth of published data on program working set behavior. It is the purpose of this paper to present empirical data from actual program measurements, in the hope that workers in the field might find experimental evidence upon which to substantiate and base theoretical work.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Royal Inst. Technol., Stockholm, Sweden", + journalabr = "Commun ACM", + keywords = "computer metatheory; measurement; operating systems (computers); paging; program behaviour; scheduling; software; software measurement; virtual memory; virtual storage; working set", + treatment = "P Practical", +} + +@Article{Gates:1973:STS, + author = "Geoffrey W. Gates and David A. Poplawski", + title = "A simple technique for structured variable lookup", + journal = j-CACM, + volume = "16", + number = "9", + pages = "561--565", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simple technique for the symbol-table lookup of structured variables based on simple automata theory is presented. The technique offers a deterministic solution to a problem which is currently handled in a nondeterministic manner in PL/I and COBOL compilers.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + classification = "723", + corpsource = "Michigan State Univ., East Lansing, MI, USA", + journalabr = "Commun ACM", + keywords = "automata theory; COBOL; computer programming languages; computer systems programming; deterministic; PL/1; PL/I; structured variable; table lookup", + treatment = "P Practical", +} + +@Article{Zelkowitz:1973:RE, + author = "M. V. Zelkowitz", + title = "Reversible Execution", + journal = j-CACM, + volume = "16", + number = "9", + pages = "566--566", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/debug.bib", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", + corpsource = "Univ. Maryland, Baltimore, MD, USA", + keywords = "backtracking; computer program; debugging; PL/I; program debugging; programming language; programming languages; reversible execution", + treatment = "P Practical", +} + +@Article{Barnhill:1973:SKC, + author = "Robert E. Barnhill and David T. Pilcher", + title = "{Sard} kernels for certain bivariate cubatures", + journal = j-CACM, + volume = "16", + number = "9", + pages = "567--571 (or 567--570??)", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D30", + MRnumber = "52 2150", + mrreviewer = "P. Brock", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An error analysis for some bivariate cubatures is given. The remainders are obtained by the use of Sard kernels. Numerical results and computer graphs are given for some of the kernel functions.", + acknowledgement = ack-nhfb, + classcodes = "B0290B (Error analysis in numerical methods); B0290M (Numerical integration and differentiation); C4110 (Error analysis in numerical methods); C4160 (Numerical integration and differentiation)", + classification = "921", + corpsource = "Univ. Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "bivariate cubatures; cubatures; error analysis; integration; mathematical techniques; numerical integration; numerical methods; remainder formulas; Sard kernels", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hunter:1973:AAA, + author = "D. B. Hunter and J. M. Williams", + title = "{ACM} Algorithm 455: Analysis of Skew Representations of the Symmetric Group", + journal = j-CACM, + volume = "16", + number = "9", + pages = "571--572", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Bradford, UK", + keywords = "ALGOL; analysis; binary model; group theory; lattice; outer product; permutation; skew representations; subroutines; symmetric group", + treatment = "P Practical", +} + +@Article{Fencl:1973:AAR, + author = "Zden{\v{e}}k Fencl", + title = "{ACM} Algorithm 456: Routing Problem", + journal = j-CACM, + volume = "16", + number = "9", + pages = "572--574", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "RCA, Marlborough, MA, USA", + keywords = "FORTRAN; graph theory; Hamiltonian circuit; optimisation; routing problem; shortest path; subroutines; travelling salesman problem", + treatment = "P Practical", +} + +@Article{Bron:1973:AAF, + author = "Coen Bron and Joep Kerbosch", + title = "{ACM} Algorithm 457: Finding All Cliques of an Undirected Graph", + journal = j-CACM, + volume = "16", + number = "9", + pages = "575--577", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/clique.color.bib", + acknowledgement = ack-nhfb, + annote = "An implicit enumeration algorithm for listing all cliques in a graph. Includes easily translated code.", + classcodes = "C7310 (Mathematics computing)", + corpsource = "Technol. Univ., Eindhoven, Netherlands", + keywords = "ALGOL; backtracking algorithm; branch and bound technique; cliques; clusters; fgraph coloring related clique backtracking branch and bound; graph theory; maximal complete; recursion; subgraph; subroutines; undirected graph", + treatment = "P Practical", +} + +@Article{Roy:1973:RAG, + author = "M. K. Roy", + title = "Remark on {``Algorithm 323 [G6]: Generation of Permutations in Lexicographic Order''}", + journal = j-CACM, + volume = "16", + number = "9", + pages = "577--578", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Jadavpur Univ., Calcutta, India", + keywords = "algorithm; generation; lexicographic order; permutations; statistics", + treatment = "P Practical", +} + +@Article{Roy:1973:RGP, + author = "Mohit Kumar Roy", + title = "Remark on {``Algorithm 323 [G6]: Generation of Permutations in Lexicographic Order''}", + journal = j-CACM, + volume = "16", + number = "9", + pages = "577--578", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 14:55:49 1997", +} + +@Article{Lawrence:1973:SMP, + author = "E. E. Lawrence", + title = "A sparse matrix package. {I}", + journal = j-CACM, + volume = "16", + number = "9", + pages = "578--578", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Mullard Ltd., Mitcham, UK", + keywords = "algorithm; matrix algebra; sparse matrix package", + treatment = "P Practical", +} + +@Article{Williamson:1973:HPP, + author = "H. Williamson", + title = "Hidden-line plotting program", + journal = j-CACM, + volume = "16", + number = "9", + pages = "578--579", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Nat. Con-Serv. Inc., Austin, TX, USA", + keywords = "algorithm; computer graphics; data handling; hidden line plotting; program", + treatment = "P Practical", +} + +@Article{Driessen:1973:LRP, + author = "H. B. Driessen and E. W. LeM. Hunt", + title = "Localization of the roots of a polynomial", + journal = j-CACM, + volume = "16", + number = "9", + pages = "579--579", + month = sep, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Supreme Headquarters Allied Powers Europe, The Hague, Netherlands", + keywords = "algorithm; localization; polynomial; polynomials; roots", + treatment = "P Practical", +} + +@Article{McGeachie:1973:MTU, + author = "John S. McGeachie", + title = "Multiple Terminals Under User Program Control in a Time-Sharing Environment", + journal = j-CACM, + volume = "16", + number = "10", + pages = "587--590", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "User-written programs on the Dartmouth Time-Sharing System can communicate with many remote terminals simultaneously and can control the interactions between these terminals. Such programs can be written using standard input and output instructions in any language available on the system. This paper describes how this multiple-terminal facility was implemented without requiring any changes in the system executive or in any of the system's compilers or interpreters.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "722", + corpsource = "Dartmouth Coll., Hanover, NH, USA", + journalabr = "Commun ACM", + keywords = "computer systems, digital; multiple terminals; on-line interaction; remote consoles; time sharing; time-sharing programs; user program control", + treatment = "P Practical", +} + +@Article{Bobrow:1973:MSI, + author = "Daniel G. Bobrow and Ben Wegbreit", + title = "A Model and Stack Implementation of Multiple Environments", + journal = j-CACM, + volume = "16", + number = "10", + pages = "591--603", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "This paper presents an implementation technique using a single stack to hold procedure activation storage which allows retention of that storage for durations not necessarily tied to control flow. The technique has the property that, in the simple case, it runs identically to the usual automatic stack allocation and deallocation procedure. Applications of this technique to multitasking, coroutines, backtracking, label-valued variables, and functional arguments are discussed. In the initial model, a single real processor is assumed, and the implementation assumes multiple-processes coordinate by passing control explicitly to one another.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; control; coroutines; dendrarchy; dynamic; funarg problem; label-valued variables; model; multiple environments; multiprocessing programs; multiprocessor; multitasking; programming; retention; stack allocation; stack implementation; storage allocation; structures; systems", + treatment = "P Practical", +} + +@Article{Lum:1973:GPA, + author = "Vincent Y. Lum", + title = "General Performance Analysis of Key-to-Address Transformation Methods Using an Abstract File Concept", + journal = j-CACM, + volume = "16", + number = "10", + pages = "603--612", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper presents a new approach to the analysis of performance of the various key-to-address transformation methods. In this approach the keys in a file are assumed to have been selected from the key space according to a certain probabilistic selection algorithm. All files with the same number of keys selected from this key space will be suitably weighted in accordance with the algorithm, and the average performance of the transformation methods on these files will be used as the potential of these methods. Using this analysis, methods with the same overall performance can be classified and key distributions partial to certain transformations can be identified. All this can be done analytically. The approach is applied to a group of transformation methods using files whose keys are selected randomly.", + acknowledgement = ack-nhfb, + annote = "analysis and results using distributions from the entire key domain.", + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "abstract file concept; access; direct addressing; file organisation; hashing; information retrieval systems; key to address transformation; performance analysis; random; scatter storage; storage management", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lampson:1973:NCP, + author = "Butler W. Lampson", + title = "A Note on the Confinement Problem", + journal = j-CACM, + volume = "16", + number = "10", + pages = "613--615", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This note explores the problem of confining a program during its execution so that it cannot transmit information to any other program except its caller. A set of examples attempts to stake out the boundaries of the problem. Necessary conditions for a solution are stated and informally justified.", + acknowledgement = ack-nhfb, + annote = "Prevention of privacy leaks between programs.", + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, CA, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; confinement; leakage of data; operating systems (computers); privacy; proprietary program; protection; security; security of data", + treatment = "P Practical", +} + +@Article{Hirschberg:1973:CDM, + author = "Daniel S. Hirschberg", + title = "A Class of Dynamic Memory Allocation Algorithms", + journal = j-CACM, + volume = "16", + number = "10", + pages = "615--618", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new dynamic memory allocation algorithm, the Fibonacci system, is introduced. This algorithm is similar to, but seems to have certain advantages over, the ``buddy'' system. A generalization is mentioned which includes both of these systems as special cases.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Princeton Univ., NJ, USA", + journalabr = "Commun ACM", + keywords = "buddy system; computer operating systems; dynamic memory allocation algorithms; dynamic storage allocation; Fibonacci; Fibonacci system; fragmentation; simulation; storage allocation", + treatment = "P Practical", +} + +@Article{Prieve:1973:UPR, + author = "Barton G. Prieve", + title = "Using Page Residency to Select the Working Set Parameter", + journal = j-CACM, + volume = "16", + number = "10", + pages = "619--620", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Denning's method for selecting the working set parameter, which uses interreference intervals, is examined. Several omissions in his model are noted, and new assumptions are introduced to overcome these omissions. Using this modified model, Denning's results on page residency are rederived and reconsidered for selecting the working set parameter.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723", + corpsource = "Bell Telephone Labs., Inc., Naperville, IL, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; page residency; program behaviour; programming theory; virtual storage; working set parameter", + treatment = "T Theoretical or Mathematical", +} + +@Article{Millstein:1973:CSI, + author = "Robert E. Millstein", + title = "Control Structures in {Illiac IV Fortran}", + journal = j-CACM, + volume = "16", + number = "10", + pages = "621--627", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "As part of an effort to design and implement a Fortran compiler on the ILLIAC IV, an extended Fortran, called IVTRAN, has been developed. This language provides a means of expressing data and control structures suitable for exploiting ILLIAC IV parallelism. \par This paper reviews the hardware characteristics of the ILLIAC and singles out unconventional features which could be expected to influence language (and compiler) design. The implications of these features for data layout and algorithm structure are discussed, and the conclusion is drawn that data allocation rather than code structuring is the crucial ILLIAC optimization problem. A satisfactory method of data allocation is then presented. Language structures to utilize this storage method and express parallel algorithms are described.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Massachusetts Computer Associates, Inc., Wakefield, MA, USA", + journalabr = "Commun ACM", + keywords = "array allocation; array processing; computer programming languages; control structures; explicit parallelism; FORTRAN; ILLIAC IV; ILLIAC IV Fortran; parallel control; parallel control structures; parallel processing; parallelism detection; procedure oriented languages; program compilers; structures", + treatment = "P Practical", +} + +@Article{Robers:1973:AAD, + author = "P. D. Robers and S. S. Robers", + title = "{ACM} Algorithm 458: Discrete Linear ${L}_1$ Approximation by Interval Linear Programming", + journal = j-CACM, + volume = "16", + number = "10", + pages = "629--631", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); B0290F (Interpolation and function approximation); C1180 (Optimisation techniques); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Ernst and Ernst, Washington, DC, USA", + keywords = "discrete linear; FORTRAN; function approximation; interval linear programming; L/sub 1/ approximation; linear programming; suboptimisation method; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Syslo:1973:AAE, + author = "M. M. Syslo", + title = "{ACM} Algorithm 459: The Elementary Circuits of a Graph", + journal = j-CACM, + volume = "16", + number = "10", + pages = "632--633", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. Wroclaw, Poland", + keywords = "ALGOL; elementary circuits; graph; graph theory; path search algorithm; subroutines", + treatment = "P Practical", +} + +@Article{Saylor:1973:AAC, + author = "Paul E. Saylor and James D. Sebastian", + title = "{ACM} Algorithm 460: Calculation of Optimum Parameters for Alternating Direction Implicit Procedures", + journal = j-CACM, + volume = "16", + number = "10", + pages = "633--635", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations); C7310 (Mathematics computing)", + corpsource = "Univ. Illinois, Urbana, IL, USA", + keywords = "alternating direction implicit; differential equations; elliptic difference; equations; FORTRAN; optimum parameters; procedures; simultaneous equations; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Burkowski:1973:AAC, + author = "F. J. Burkowski and W. D. Hoskins", + title = "{ACM} Algorithm 461: Cubic Spline Solutions to a Class of Functional Differential Equations", + journal = j-CACM, + volume = "16", + number = "10", + pages = "635--637", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); B0290P (Differential equations); C4130 (Interpolation and function approximation); C4170 (Differential equations); C7310 (Mathematics computing)", + corpsource = "Univ. Manitoba, Winnipeg, Man., Canada", + keywords = "(mathematics); boundary value problem; boundary-value problems; cubic spline solutions; differential equations; FORTRAN; functional differential equations; piecewise continuous approximation; splines; SPNBVF; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Donnelly:1973:AAB, + author = "T. G. Donnelly", + title = "{ACM} Algorithm 462: Bivariate Normal Distribution", + journal = j-CACM, + volume = "16", + number = "10", + pages = "638--638", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. North Carolina, Chapel Hill, NC, USA", + keywords = "bivariate normal distribution; FORTRAN; frequency distribution; statistics; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Lewart:1973:AAA, + author = "C. R. Lewart", + title = "{ACM} Algorithm 463: Algorithms {SCALE}1, {SCALE}2, and {SCALE}3 for Determination of Scales on Computer Generated Plots", + journal = j-CACM, + volume = "16", + number = "10", + pages = "639--640", + month = oct, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Bell Telephone Lab., Inc., Holmdel, NJ, USA", + keywords = "algorithms; computer generated plots; computer graphics; determination of; FORTRAN; SCALE 1; SCALE 2; SCALE 3; scales; subroutines", + treatment = "P Practical", +} + +@Article{Bachman:1973:PN, + author = "Charles W. Bachman", + title = "The Programmer as Navigator", + journal = j-CACM, + volume = "16", + number = "11", + pages = "653--658", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + note = "1973 ACM Turing Award Lecture.", + acknowledgement = ack-nhfb, + annote = "Turing award acceptance speech-general view of the state of database work from a DBTG originator.", + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation); C6130 (Data handling techniques)", + corpsource = "Honeywell Information Systems Inc., Waltham, MA, USA", + keywords = "access; addressing; data handling; database; file organisation; network hierarchical data model CACM; programmer; programming", + treatment = "G General Review", +} + +@Article{Fabry:1973:DVO, + author = "R. S. Fabry", + title = "Dynamic Verification of Operating System Decisions", + journal = j-CACM, + volume = "16", + number = "11", + pages = "659--668", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Dynamic verification of a decision implies that every time the decision is made there is a consistency check performed on the decision using independent hardware and software. The dynamic verification of operating system decisions is used on the PRIME system being designed and constructed at the University of California, Berkeley. PRIME is an experimental time-sharing system which is to have the properties of continuous availability, data privacy, and cost effectiveness. The technique of dynamic verification allows the construction of an operating system which does not make certain decisions improperly even in the presence of a single hardware or software fault. Furthermore, multiple faults lead to unreliable operation only if the faults happen to reinforce each other. On PRIME, dynamic verification is used to ensure that one user's information cannot become available to another user gratuitously even in the presence of a single hardware or software fault.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems; computer systems, digital; data privacy; data security; dynamic verification; fault tolerance; modular; operating systems; operating systems (computers); program verification; reliability; security of data; software", + treatment = "P Practical; X Experimental", +} + +@Article{Mickunas:1973:PSC, + author = "M. D. Mickunas and V. B. Schneider", + title = "Parser-Generating System for Constructing Compressed Compilers", + journal = j-CACM, + volume = "16", + number = "11", + pages = "669--676", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a parser-generating system (PGS) currently in use on the CDC-6500 computer at Purdue University. The PGS is a FORTRAN-coded program that accepts a translation grammar as input and constructs from it a compact, machine-coded compiler. In the input translation grammar, each BNF syntactic rule corresponds to a (possibly empty) ``code generator'' realizable as an assembly language, FORTRAN or Algol, subroutine that is called whenever that syntactic rule is applied in the parse of a program. Typical one-pass compilers constructed by the PGS translate source programs at speeds approaching 14,000 cards per minute. For an XPL compiler, the parser program and its tables currently occupy 288 words of 60-bit core memory of which 140 words are parsing table entries and 82 words are links to code generators.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4220 (Automata theory); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Purdue Univ., Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "BNF; compression algorithm; computer operating systems --- Program Compilers; computer programming languages; data compression; grammars; interpreters; parser generators; program; program compilers; pushdown automata; syntactic analysis; translation grammars; translator writing systems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Jordan:1973:SCA, + author = "B. W. {Jordan, Jr.} and R. C. Barrett", + title = "Scan Conversion Algorithm with Reduced Storage Requirements", + journal = j-CACM, + volume = "16", + number = "11", + pages = "676--682", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The scan conversion algorithm that is described uses a linked list data structure to process the lines of the drawing in strips corresponding to groups of scan lines. A relatively small primary memory buffer area is used to accumulate the binary image for a group of scan lines. When this portion of the drawing has been plotted, the buffer is reused for the next portion. Because of the list processing procedures used, only a single pass through the XY display file is required when generating the binary image and only a slight increase in execution time over the fully buffered core results. Results show that storage requirements can be reduced by more than 80\% while causing less than a 10\% increase in execution time.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Northwestern Univ., Evanston, IL, USA", + journalabr = "Commun ACM", + keywords = "computer graphics; data handling; discrete image; dot generation; line drawing; raster plotter; reduced storage requirements; scan conversion; scan conversion algorithm", + treatment = "P Practical", +} + +@Article{Slagle:1973:EAT, + author = "James R. Slagle and Lewis M. Norton", + title = "Experiments with an Automatic Theorem-Prover Having Partial Ordering Inference Rules", + journal = j-CACM, + volume = "16", + number = "11", + pages = "682--688", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib", + abstract = "This paper presents a detailed description of the program and a comprehensive account of the experiments that have been performed with it.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + classification = "723", + corpsource = "Nat. Inst. Health, Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "computer programming; heuristics; inference rules; paramodulation; partial ordering; resolution; theorem proving", + treatment = "X Experimental", +} + +@Article{Reinsch:1973:AAE, + author = "C. H. Reinsch", + title = "{ACM} Algorithm 464: Eigenvalues of a Real Symmetric Tridiagonal Matrix", + journal = j-CACM, + volume = "16", + number = "11", + pages = "689--689", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Tech. Univ., M{\"u}nchen, West Germany", + keywords = "ALGOL; eigenvalues; eigenvalues and eigenfunctions; matrix; matrix algebra; QR; real; subroutines; symmetric; transformation; tridiagonal", + treatment = "P Practical", +} + +@Article{Hill:1973:AAS, + author = "G. W. Hill", + title = "{ACM} Algorithm 465: {Student}'s $t$ Frequency", + journal = j-CACM, + volume = "16", + number = "11", + pages = "690--690", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "CSIRO, Glen Osmond, SA, Australia", + keywords = "ALGOL; approximation; density function; series; statistics; student's t statistic; subroutine; subroutines", + treatment = "P Practical", +} + +@Article{Ehrlich:1973:AAF, + author = "G. Ehrlich", + title = "{ACM} Algorithm 466: Four Combinatorial Algorithms", + journal = j-CACM, + volume = "16", + number = "11", + pages = "690--691", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Weizmann Inst. Sci., Rehovot, Israel", + keywords = "combinations; combinatorial algorithms; permutations; PL/1; statistics; subroutines", + treatment = "P Practical", +} + +@Article{Brenner:1973:AAM, + author = "N. Brenner", + title = "{ACM} Algorithm 467: Matrix Transposition in Place", + journal = j-CACM, + volume = "16", + number = "11", + pages = "692--694", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Leathers:1979:RAS}.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "in place; matrix algebra; matrix operations; number theory; permutations; primitive; rectangular matrix; roots; subroutines; transposition", + treatment = "P Practical", +} + +@Article{Patterson:1973:AAA, + author = "T. N. L. Patterson", + title = "{ACM} Algorithm 468: Algorithm for Automatic Numerical Integration Over a Finite Interval", + journal = j-CACM, + volume = "16", + number = "11", + pages = "694--699", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + keywords = "finite interval; FORTRAN algorithm; integration; numerical; numerical integration; numerical methods; quadrature; subroutines", + treatment = "P Practical", +} + +@Article{Lam:1973:AAA, + author = "C. Lam and J. McKay", + title = "{ACM} Algorithm 469: Arithmetic Over a Finite Field", + journal = j-CACM, + volume = "16", + number = "11", + pages = "699--699", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods); C7310 (Mathematics computing)", + corpsource = "Caltech Univ., Pasadena, CA, USA", + keywords = "algebra; ALGOL; arithmetic; digital arithmetic; finite field; linear algebra; rational operations; subroutines", + treatment = "P Practical", +} + +@Article{Denning:1973:NSO, + author = "Peter J. Denning and G. Scott Graham", + title = "A Note on Subexpression Ordering in the Execution of Arithmetic Expressions", + journal = j-CACM, + volume = "16", + number = "11", + pages = "700--702", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "50 11844", + mrreviewer = "B. S. Baker", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Erratum, ibid. 17, 1974, 455.", + abstract = "A counterexample to the supposed optimality of an algorithm for generating schedules for trees of tasks with unequal execution times is presented. A comparison with the ``critical path'' heuristic is discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C5230 (Digital arithmetic methods); C6150J (Operating systems)", + classification = "723", + corpsource = "Purdue Univ., Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "arithmetic expressions; computer operating systems; digital arithmetic; execution; multiprocessing programs; multiprocessor scheduling; ordering; scheduling; subexpression; task; tree scheduling", + treatment = "T Theoretical or Mathematical", +} + +@Article{Feldman:1973:CBS, + author = "Jerome A. Feldman and James R. Low and R. P. Brent", + title = "Comment on {Brent}'s scatter storage algorithm (and author's reply)", + journal = j-CACM, + volume = "16", + number = "11", + pages = "703--703", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Stanford Univ., CA, USA", + keywords = "dynamic chaining; file organisation; hashing; Hashing; information storage and retrieval; scatter storage; scatter storage algorithm; searching; storage allocation; storage management; symbol table", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wegner:1973:TP, + author = "E. Wegner", + title = "Tree-structured programs", + journal = j-CACM, + volume = "16", + number = "11", + pages = "704--705", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6110 (Systems analysis and programming)", + corpsource = "Tech. Univ., Berlin, West Germany", + keywords = "compilers; control structures; data structures; fixpoints; flowcharts; goto statements; graphs; inductive assertion; least; program documentation; program flow; programming; programming language design; proof of programs; semantics of programming languages; structured programming; tree structure", + treatment = "G General Review; P Practical", +} + +@Article{Salzer:1973:RSC, + author = "Herbert E. Salzer", + title = "A recurrence scheme for converting from one orthogonal expansion into another", + journal = j-CACM, + volume = "16", + number = "11", + pages = "705--707", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05 (65Q05)", + MRnumber = "52 15956", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + keywords = "Chebyshev; Clenshaw recurrence; Hamming recurrence; numerical methods; orthogonal expansions; polynomials; recurrence; schemes; series; series (mathematics); series interconversion", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stenger:1973:AAS, + author = "F. Stenger", + title = "An algorithm for the approximate solution of {Wiener-Hopf} integral equations", + journal = j-CACM, + volume = "16", + number = "11", + pages = "708--710", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290R (Integral equations); C4180 (Integral equations)", + corpsource = "Univ. Utah, Salt Lake City, UT, USA", + keywords = "algorithm; approximate solution; convolution; Hopf; integral equations; numerical methods; Wiener", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ehrlich:1973:SBE, + author = "L. W. Ehrlich", + title = "Solving the Biharmonic Equation in a Square: a Direct Versus a Semidirect Method", + journal = j-CACM, + volume = "16", + number = "11", + pages = "711--714", + month = nov, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Two methods for solving the biharmonic equation are compared. One method is direct, using eigenvalue-eigenvector decomposition. The other method is iterative, solving a Poisson equation directly at each iteration.", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations)", + classification = "723", + corpsource = "Johns Hopkins Univ., Baltimore, MD, USA", + journalabr = "Commun ACM", + keywords = "biharmonic; biharmonic equation; compared; computer systems programming; decomposition; difference; difference equations; eigenvalues and eigenfunctions; eigenvector; equations; iterative; iterative methods; numerical methods; partial differential; Poisson equation; square", + treatment = "T Theoretical or Mathematical", +} + +@Article{Couger:1973:CRU, + author = "J. Daniel Couger", + title = "Curriculum Recommendations for Undergraduate Programs in Information Systems", + journal = j-CACM, + volume = "16", + number = "12", + pages = "727--749", + month = dec, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "The need for education related to information systems in organizations is discussed, and a curriculum is proposed for an undergraduate program. Material necessary for such programs is identified, and courses incorporating it are specified.Detailed course descriptions are presented. Program organization and a problems of implementation are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C0310 (EDP management); C6110 (Systems analysis and programming); C7100 (Business and administration)", + keywords = "curriculum; education; information analysis; information systems; management information systems; management systems; recommendations; system design; systems analysis; undergraduate; undergraduate curricula", + treatment = "B Bibliography; P Practical", +} + +@Article{Sibley:1973:DDM, + author = "Edgar H. Sibley and Robert W. Taylor", + title = "A Data Definition and Mapping Language", + journal = j-CACM, + volume = "16", + number = "12", + pages = "750--759", + month = dec, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "Overview of data translation", + classcodes = "C6120 (File organisation)", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + keywords = "data base management; data definition language; data structures; data translation; file organisation; file translation; mapping language; storage allocation; storage structure; systems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Kubicek:1973:AAL, + author = "M. Kubicek", + title = "{ACM} Algorithm 470: Linear Systems with Almost Tridiagonal Matrix", + journal = j-CACM, + volume = "16", + number = "12", + pages = "760--761", + month = dec, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7310 (Mathematics computing)", + corpsource = "Tech. Univ., Praha, Czechoslovakia", + keywords = "almost tridiagonal matrix; FAKUB; FORTRAN; linear systems; matrix algebra; program; sparse matrix; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Gautschi:1973:AAE, + author = "W. Gautschi", + title = "{ACM} Algorithm 471: Exponential Integrals", + journal = j-CACM, + volume = "16", + number = "12", + pages = "761--763", + month = dec, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Purdue Univ., Lafayette, IN, USA", + keywords = "ALGOL; computation; continued fractions; exponential integrals; integration; recurrence relations; recursive; subroutine; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Herriot:1973:AAP, + author = "J. G. Herriot and C. H. Reinsch", + title = "{ACM} Algorithm 472: Procedures for Natural Spline Interpolation", + journal = j-CACM, + volume = "16", + number = "12", + pages = "763--768", + month = dec, + year = "1973", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Stanford Univ., CA, USA", + keywords = "approximation; cubic natural spline; interpolation; natural spline interpolation; procedures; splines (mathematics); subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lyon:1974:SLA, + author = "G. Lyon", + title = "Syntax-directed least-errors analysis for context-free languages: a practical approach", + journal = j-CACM, + volume = "17", + number = "1", + pages = "3--14", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Nat. Bur. Stand., Washington, DC, USA", + keywords = "arbitrary input strings; context free grammars; context-free languages; dynamic programming; error analysis; least errors correction; merging; parsing; separability; state; stored subanalyses", + treatment = "T Theoretical or Mathematical", +} + +@Article{Malcolm:1974:FMS, + author = "Michael A. Malcolm and John Palmer", + title = "A Fast Method For Solving a Class of Tridiagonal Systems of Linear Equations", + journal = j-CACM, + volume = "17", + number = "1", + pages = "14--17", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F05", + MRnumber = "48 10076", + mrreviewer = "D. B. Hunter", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "The solution of linear systems having real, symmetric, diagonally dominant,tridiagonal coefficient matrices with constant diagonals is considered. It is proved that the diagonals of the LU decomposition converges when floating-point precision. It is also proved that the computed LU decomposition converges when floating-point arithmetic is used and that the limits of the LU diagonals using floating point are roughly within machine precision of the limits using real arithmetic. This fact is exploited to reduce the number of floating-point operations required to solve a linear system from $8n-7$ to $5n+2k-3$, where $k$ is much less than $n$, the order of the matrix. If the elements of the subdiagonals and superdiagonals are 1, then only $4n+2k-3$ operations are needed. The entire LU decomposition takes $k$ words of storage, and considerable savings in array subscripting are achieved. Upper and lower bounds on $k$ are obtained in terms of the ratio of the coefficient matrix diagonal constants and parameters of the floating-point number system. Various generalizations of these results are discussed.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C5230 (Digital arithmetic methods)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "digital arithmetic; fast method; floating point; linear systems; matrix algebra; numerical linear algebra; operations; real arithmetic; Toeplitz matrices; tridiagonal matrices", + kwds = "nla, linear system, tridiagonal matrix, fast algorithm", + treatment = "T Theoretical or Mathematical", + xxtitle = "A fast method for solving a class of tridiagonal linear systems", +} + +@Article{Akima:1974:MBI, + author = "H. Akima", + title = "A method of bivariate interpolation and smooth surface fitting based on local procedures", + journal = j-CACM, + volume = "17", + number = "1", + pages = "18--20", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + corpsource = "US Dept. Commerce, Boulder, Colo., USA", + keywords = "bivariate interpolation; interpolation; local; partial derivative; polynomial; procedures; smooth surface fitting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gibbs:1974:TP, + author = "Norman E. Gibbs and William G. {Poole, Jr.}", + title = "Tridiagonalization by Permutations", + journal = j-CACM, + volume = "17", + number = "1", + pages = "20--24", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F15", + MRnumber = "48 7567", + mrreviewer = "J. Hurt", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "Tridiagonalizing a matrix by similarity transformations is an important computational tool in numerical linear algebra. Consider the class of sparse matrices which can be tridiagonalized using only row and corresponding column permutations. The advantages of using such a transformation include the absence of round-off errors and improved computation time when compared with standard transformations. \par A graph theoretic algorithm which examines an arbitrary $n \times n$ matrix and determines whether or not it can be permuted into tridiagonal form is given. The algorithm requires no arithmetic while the number of comparisons, the number of assignments, and the number of increments are linear in $n$. This compares very favorably with standard transformation methods. \par If the matrix is permutable into tridiagonal form, the algorithm gives the explicit tridiagonal form. Otherwise, early rejection will occur.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + corpsource = "College William and Mary, Williamsburg, VA, USA", + keywords = "algorithm; bandwidth; eigenvalues; graph; matrix algebra; permutation; sparse matrix; tridiagonal matrix", + kwds = "nla, tridiagonal matrix, permutation matrix", + treatment = "T Theoretical or Mathematical", +} + +@Article{Piessens:1974:AAC, + author = "R. Piessens", + title = "{ACM} Algorithm 473: Computation of {Legendre} Series Coefficients", + journal = j-CACM, + volume = "17", + number = "1", + pages = "25--25", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Leuven, Heverlee, Belgium", + keywords = "Chebyshev; Chebyshev approximation; coefficients; computation; FORTRAN; Legendre series; LEGSER; series; series (mathematics); subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Akima:1974:AAB, + author = "H. Akima", + title = "{ACM} Algorithm 474: Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures", + journal = j-CACM, + volume = "17", + number = "1", + pages = "26--31", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Anderson:1979:RBI}.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "US Dept Commerce, Boulder, Colo., USA", + keywords = "bivariate interpolation; FORTRAN; interpolation; ITPLBV; local; partial derivative; polynomial; procedures; SFCFIT; smooth surface fitting; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Sutherland:1974:RPC, + author = "Ivan E. Sutherland and Gary W. Hodgman", + title = "Reentrant Polygon Clipping", + journal = j-CACM, + volume = "17", + number = "1", + pages = "32--42", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Evand and Sutherland Computer Corp., Salt Lake City, UT, USA", + keywords = "algorithms; computer; computer graphics; data handling; graphics; hidden line; perspective; perspective projection; pictures; planes; polygon clipping; reentrant polygon clipping; surface; three dimensions", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{King:1974:CAV, + author = "P. J. H. King and R. G. Johnson", + title = "Comments on the algorithms of {Verhelst} for the conversion of limited-entry decision tables to flowcharts (and author's reply)", + journal = j-CACM, + volume = "17", + number = "1", + pages = "43--45", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Birkbeck Coll., Univ. London, UK", + keywords = "algorithms; conversion; decision table; decision tables; flow charting; flowcharting; optimal programs; preprocessor; search", + treatment = "P Practical", +} + +@Article{Knott:1974:NSC, + author = "Gary D. Knott", + title = "A Numbering System for Combinations", + journal = j-CACM, + volume = "17", + number = "1", + pages = "45--46", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Nat. Inst. Health, Bethesda, MD, USA", + keywords = "coding system; coding systems; combinations; combinatorics; numbering system; programming; programming techniques; storage mapping function; storage mapping functions", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lucas:1974:CRG, + author = "H. C. {Lucas, Jr.}", + title = "A {CRT} report generating system", + journal = j-CACM, + volume = "17", + number = "1", + pages = "47--48", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Stanford Univ., CA, USA", + keywords = "automated systems design; data; management; processing; programming; report generation; report generators; systems analysis", + treatment = "P Practical", +} + +@Article{Rothnie:1974:ABF, + author = "James B. {Rothnie, Jr.} and Tomas Lozano", + title = "Attribute Based File Organization in a Paged Memory Environment", + journal = j-CACM, + volume = "17", + number = "2", + pages = "63--69", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib", + abstract = "This article analyzes the high cost of page accessing and proposes a method called multiple key hashing which attempts to minimize it. since this approach is not always preferable to inversion, a combined method is described. The exact specifications of this combination for a file with given data and traffic characteristics are formulated as a mathematical program. The proposed heuristic solution to this program can often improve on a simple inversion technique by a factor of 2 or 3.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "attribute based file organization; cost; data organization; data processing; data storage, digital; file organisation; file organization; heuristic solution; inverted file; mathematical; mathematical programming; multikey retrieval; multiple key hashing; page accessing; paged memories; paged memory environment; paging; program; retrieval algorithm; virtual storage", + treatment = "A Application; E Economic; T Theoretical or Mathematical", +} + +@Article{Jordan:1974:COR, + author = "B. W. {Jordan, Jr.} and R. C. Barrett", + title = "A cell organized raster display for line drawings", + journal = j-CACM, + volume = "17", + number = "2", + pages = "70--77", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Raster scan computer graphics displays with ``real time'' character generators have previously been limited to alphanumeric characters. A display is described which extends the capabilities of this organization to include general graphics. The feasibility of such a display is shown by deriving the minimum number of patterns required in the read only memory of the character generator to synthesize an arbitrary line. The synthesis process does not compromise picture quality, since the resulting dot patterns are identical with those of a conventional raster display. The time constraints of a raster display are shown to be satisfied for a typical design for very complex line drawings.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + classification = "722", + corpsource = "Northwestern Univ., Evanston, IL, USA", + journalabr = "Commun ACM", + keywords = "arbitrary line; cell organized raster display; complex line drawings; computer; computer graphic equipment; computer graphics; computer peripheral equipment; discrete; dot; dot generation; graphics displays; image; line drawing; line drawings; matrix displays; minimum; number of patterns; patterns; read only memory; real time character generators", + treatment = "P Practical", +} + +@Article{Ramberg:1974:AMG, + author = "John S. Ramberg and Bruce W. Schmeiser", + title = "An Approximate Method for Generating Asymmetric Random Variables", + journal = j-CACM, + volume = "17", + number = "2", + pages = "78--82", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "48 10043", + mrreviewer = "J. Spanier", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib", + abstract = "Tukey's lambda distribution is generalized to provide an algorithm for generating values of unimodal asymmetric random variables. This algorithm has the same advantages as the symmetric random variable generator previously given by the authors, except that the addition of another parameter complicates the problem of finding the parameter values to fit a distribution.", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + classification = "723; 922", + corpsource = "Univ. Iowa, IA, USA", + country = "USA", + descriptors = "RNG; RVG;", + enum = "2505", + journalabr = "Commun ACM", + keywords = "approximate method; approximations; computer programming --- Subroutines; distribution; generating asymmetric random variables; mathematical statistics; moments; Monte Carlo; Monte Carlo methods; probability; random number generation; random numbers; random variables; simulation; statistics; Tukey's lambda distribution; unimodal asymmetric random; variables", + language = "English", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lamport:1974:PED, + author = "Leslie Lamport", + title = "The Parallel Execution of {DO} Loops", + journal = j-CACM, + volume = "17", + number = "2", + pages = "83--93", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Methods are developed for the parallel execution of different iterations of a DO loop. Both asynchronous multiprocessor computers and array computers are considered. Practical application to the design of compilers for such computers is discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)", + classification = "722; 723", + corpsource = "Massachusetts Computer Associates Inc., Wakefield, MA, USA", + journalabr = "Commun ACM", + keywords = "array computers; asynchronous multiprocessor; computer operating systems --- Program Compilers; computer systems, digital; computers; computing; design of compilers; DO loops; loops; parallel; parallel execution; parallel processing; program compilers; programming; vector computers", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Ledgard:1974:PSC, + author = "Henry F. Ledgard", + title = "{Production Systems}: or can we do better than {BNF}?", + journal = j-CACM, + volume = "17", + number = "2", + pages = "94--102", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Since the development of BNF, the definition of the syntax of programming languages has been almost universally associated with context-free requirements. \par Yet numerous interesting and difficult issues in syntax stem from the context-sensitive requirements, notably the compatibility between the declaration of an identifier and its uses, the correspondence between actual and formal parameters, and issues arising from block structure. This paper explores the use of a formal notation called Production Systems in providing a readable and complete formal definition of syntax. As a practical illustration, a small but significant subset of PL/I is considered. A more detailed presentation, as well as the application to define abstract syntax and translations between languages, is given in a previous paper by the author.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "721; 723", + corpsource = "Univ. Massachusetts, Amherst, MA, USA", + journalabr = "Commun ACM", + keywords = "automata theory; BNF; compilers; computer programming languages; context sensitive grammars; context sensitive requirements; context-sensitive grammars; definition; definition of syntax; formal; formal definition; PL/I standards; Production Systems; readable and complete formal; syntax; syntax of programming languages; translation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wegbreit:1974:SLP, + author = "Ben Wegbreit", + title = "The Synthesis of Loop Predicates", + journal = j-CACM, + volume = "17", + number = "2", + pages = "102--112", + month = feb, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "49 8420", + mrreviewer = "Armin Cremers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Current methods for mechanical program verification require a complete predicate specification on each loop. Because this is tedious and error prone, producing a program with complete, correct predicates is reasonably difficult and would be facilitated by machine assistance. This paper discusses techniques for mechanically synthesizing loop predicates. Two classes of techniques are considered: (1) heuristic methods which derive loop predicates from boundary conditions and/or partially specified inductive assertions: (2) extraction methods which use input predicates and appropriate weak interpretations to obtain certain classes of loop predicates by an evaluation on the weak interpretation.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "721; 723", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "assertions; automata theory --- Theorem Proving; boundary conditions; computer operating systems; computer programming; extraction methods; heuristic methods; inductive; inductive assertions; input predicates; interpretations; loop predicates; mechanical program verification; program debugging; program verification; program verifiers; programming theory; property extraction; synthesis; synthesis of loop predicates; theorem proving; weak; weak interpretation; weak interpretations; well founded sets; well-founded sets", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Sreenivasan:1974:CRS, + author = "K. Sreenivasan and A. J. Kleinman", + title = "On the Construction of a Representative Synthetic Workload", + journal = j-CACM, + volume = "17", + number = "3", + pages = "127--133", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A general method of constructing a drive workload representative of a real workload is described. The real workload is characterized by its demands on the various system resources. These characteristics of the real workload are obtained from the system accounting data. The characteristics of the drive workload are determined by matching the joint probability density of the real workload with that of the drive workload. The drive workload is realized by using a synthetic program in which the characteristics can be varied by varying the appropriate parameters. Calibration experiments are conducted to determine expressions relating the synthetic program parameters with the workload characteristics. The general method is applied to the case of two variables, cpu seconds and number of I/O activities; and a synthetic workload with 88 jobs is constructed to represent a month's workload consisting of about 6000 jobs.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems); C7430 (Computer engineering)", + classification = "722", + corpsource = "MITRE Corp., Bedford, MA, USA", + journalabr = "Commun ACM", + keywords = "activities; calibration experiments; computer systems, digital; computer testing; construction; cpu seconds; data; drive; joint probability density; number of I/O; real workload; representative synthetic workload; simulation; synthetic program; synthetic workload; system accounting; system resources; workload", + treatment = "P Practical", +} + +@Article{Balkovich:1974:DMR, + author = "E. Balkovich and W. Chiu and L. Presser and R. Wood", + title = "Dynamic Memory Repacking", + journal = j-CACM, + volume = "17", + number = "3", + pages = "133--138", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A probabilistic model of a multiprogramming system is exercised in order to determine the conditions under which the dynamic repacking of main memory is beneficial. An expression is derived for the maximum interference that a repacking process may introduce before the original performance of the system is degraded. Alternative approaches to repacking are discussed, and the operating conditions that lead to improved system throughput through repacking are delineated.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. California, Santa Barbara, CA, USA", + journalabr = "Commun ACM", + keywords = "central; computer systems programming; dynamic memory repacking; file organisation; fragmentation; maximum interference; multiprogramming; multiprogramming system; multiprogramming system model; probabilistic model; processor productivity; resource utilization; storage; storage fragmentation; system; throughput", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Morgan:1974:OSA, + author = "Howard Lee Morgan", + title = "Optimal Space Allocation on Disk Storage Devices", + journal = j-CACM, + volume = "17", + number = "3", + pages = "139--142", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "When the amount of space required for file storage exceeds the amount which can be kept online, decisions must be made as to which files are to be permanently resident and which mountable. These decisions will affect the number of mount requests issued to the operators. This is often a bottleneck in a computing facility, and reducing the number of mounts thus decreases turnaround time. An optimization model for the assignment of files to disk packs, and packs to either resident or nonresident status is presented. Heuristics are suggested for those cases in which it is inefficient to compute the actual optimum.", + acknowledgement = ack-nhfb, + annote = "Optimization of file allocation to mountable diskpacks.", + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + journalabr = "Commun ACM", + keywords = "bottleneck; computer operating systems; computing facility; disc analysis; disc files; disc storage devices; file; file systems; Heuristics; magnetic disc storage; memory hierarchy; optimal space allocation; optimization model; scheduling; storage; storage allocation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Loeser:1974:SPT, + author = "Rudolf Loeser", + title = "Some Performance Tests of ``Quicksort'' and Descendants", + journal = j-CACM, + volume = "17", + number = "3", + pages = "143--152", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "Detailed performance evaluations are presented for six ACM algorithms: quicksort (No. 64), Shellsort (No. 201), stringsort (No. 207), ``TREESORTS3'' (No. 245), quickersort (No. 271), and qsort (No. 402). Algorithms 271 and 402 are refinements of algorithm 64, and all three are discussed in some detail. The evidence given here demonstrates that qsort (No. 402) requires many more comparisons that its author claims. Of all these algorithms, quickersort requires the fewest comparisons to sort random arrays.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Smithsonian Astrophys. Obs., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "'quicksort'; ACM; algorithms; computer programming; computer testing; general; performance evaluations; performance tests; purpose sort algorithm; qsort; quicksort; quicksort quickersort qsort CACM; random arrays; Shellsort; sorting; sorting algorithm documentation; sorting efficiency; sorting performance tests; string sort; TREESORT3; utility sort algorithm", + treatment = "P Practical", +} + +@Article{Wright:1974:VSP, + author = "T. Wright", + title = "Visible surface plotting program", + journal = j-CACM, + volume = "17", + number = "3", + pages = "152--157 (or 152--155??)", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1972.bib", + note = "See also \cite{Duta:1976:RVS,Swieten:1979:RVS}.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + corpsource = "Nat. Center Atmospheric Res., Boulder, CO, USA", + country = "USA", + descriptors = "FORTRAN; graphics; application; method; human factors; hidden line algorithm; contour surface", + enum = "3343", + keywords = "computer graphics; contour surface; hidden line problem; subroutines; visible surface plotting program", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Bosten:1974:IBR, + author = "N. E. Bosten and E. L. Battiste", + title = "Incomplete beta ratio", + journal = j-CACM, + volume = "17", + number = "3", + pages = "156--157", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "IMSL, Houston, TX, USA", + keywords = "Algorithm 179; computer aided analysis; function approximation; incomplete beta ratio; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Barrett:1974:SCA, + author = "R. C. Barrett and B. W. {Jordan, Jr.}", + title = "Scan Conversion Algorithms for a Cell Organized Raster Display", + journal = j-CACM, + volume = "17", + number = "3", + pages = "157--163", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Raster scan computer graphics with ``real time'' character generators have previously been limited to alphanumeric characters. A display has been described which extends the capabilities of this organization to include general graphics. Two fundamentally different scan conversion algorithms which have been developed to support this display are presented. One is most suitable to noninteractive applications and the other to interactive applications. The algorithms were implemented in Fortran on the CDC6400 computer. Results obtained from the implementations show that the noninteractive algorithms can significantly reduce display file storage requirements at little cost in execution time over that of a conventional raster display. The interactive algorithm improve response time and reduce storage requirements.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Hughes Aircraft Co., Culver City, CA, USA", + journalabr = "Commun ACM", + keywords = "'real time' character generators; cell organized raster display; computer graphics; computer programming --- Subroutines; data handling; general graphics; interactive applications; noninteractive applications; scan conversion algorithms", + treatment = "A Application; P Practical", +} + +@Article{Ackerman:1974:QSH, + author = "A. Frank Ackerman", + title = "Quadratic Search for Hash Tables of Size $p^n$", + journal = j-CACM, + volume = "17", + number = "3", + pages = "164--164", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "48 10178", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + keywords = "file organisation; quadratic search for hash tables; table lookup", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stone:1974:NCP, + author = "Harold S. Stone", + title = "A note on a combinatorial problem of {Burnett} and {Coffman}", + journal = j-CACM, + volume = "17", + number = "3", + pages = "165--166", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "05A05", + MRnumber = "48 10826", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C6130 (Data handling techniques)", + corpsource = "Stanford Univ., CA, USA", + keywords = "combinatorial analysis; combinatorial mathematics; combinatorial problem; derangements; file organisation; interleaved memory systems; interleaving; mean; memories; memory bandwidth; rencontres", + treatment = "T Theoretical or Mathematical", +} + +@Article{Krogh:1974:EIV, + author = "Fred T. Krogh", + title = "Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares Problems", + journal = j-CACM, + volume = "17", + number = "3", + pages = "167--169", + month = mar, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65K05", + MRnumber = "49 1773", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + note = "See errata \cite{Krogh:1974:EEI}.", + abstract = "Nonlinear least squares problems frequently arise for which the variables to be solved for can be separated into a linear and a nonlinear part. A variable projection algorithm has been developed recently which is designed to take advantage of the structure of a problem whose variables separate in this way. This paper gives a slightly more efficient and slightly more general version of this algorithm than has appeared earlier.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + classification = "723; 921", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + journalabr = "Commun ACM", + keywords = "computer aided analysis; computer programming; least squares approximations; lsq; mathematical techniques --- Least Squares Approximations; nllsq; nlop; nlsq; nonlinear least squares; parameter estimation; problems; variable projection; variable projection algorithm; varpro", + treatment = "T Theoretical or Mathematical", +} + +@Article{Saltzer:1974:SLM, + author = "Jerome H. Saltzer", + title = "A Simple Linear Model of Demand Paging Performance", + journal = j-CACM, + volume = "17", + number = "4", + pages = "181--186", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib", + abstract = "This paper proposes and analyzes a demand paged virtual memory computer system. The simple model combines the effect of the information reference pattern with the effect of the automatic management algorithm to produce a single, composite statement: the mean number of memory references between paging exceptions increases linearly with the size of the paging memory. The resulting model is easy to manipulate, and is applicable to such diverse problems as choosing an optimum size for a paging memory, arranging for reproducible memory usage charges, and estimating the amount of core memory sharing.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "automatic management algorithm; automatically managed multilevel memory system; computer metatheory; computer testing; core memory; demand paging performance; information; linear model; memory hierarchy; memory models; operating systems (computers); optimum; paging; performance; Performance Evaluation: Analytic; performance measurement; predicting the; program reference model; reference pattern; reproducible memory usage charges; sharing; size; storage; virtual; virtual memory", + treatment = "A Application; X Experimental", +} + +@Article{Franklin:1974:CPF, + author = "M. A. Franklin and R. K. Gupta", + title = "Computation of Page Fault Probability from Program Transition Diagram", + journal = j-CACM, + volume = "17", + number = "4", + pages = "186--191", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm is given for calculating page fault probability in a virtual memory system operating under demand paging with various memory sizes and replacement rules. A first order Markov model of program behavior is assumed, and a representation of the system based on memory states, control states, and memory substates is presented. The algorithm is general in the sense that the page fault probabilities can be calculated for nonpredictive replacement rules applied to any program represented by a one-step Markov chain. A detailed example is given to illustrate the algorithm for Random and Least Recently Used (LRU) replacement rules.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7430 (Computer engineering)", + classification = "723", + corpsource = "Washington Univ., St. Louis, MO, USA", + journalabr = "Commun ACM", + keywords = "computer metatheory; computer testing; control states; demand paging; fault tolerant computing; Markov model; memory; memory states; memory substates; nonpredictive replacement rules; page fault probability; program transition diagram; various memory sizes; virtual; virtual storage", + treatment = "T Theoretical or Mathematical", +} + +@Article{Boyse:1974:ECP, + author = "John W. Boyse", + title = "Execution Characteristics of Programs in a Page-On-Demand System", + journal = j-CACM, + volume = "17", + number = "4", + pages = "192--196", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Data are presented which show the execution characteristics of two types of commonly used programs in a large-scale, time-shared computer system. A software monitoring facility built into the supervisor was used for data collection during normal system operation. These data were analyzed, and results of this analysis are presented for a FORTRAN compiler and an interactive line file editor. Probability distribution functions and other data are given for such things as CPU intervals, I/O intervals, and the number of such intervals during execution. Empirical distributions are compared with simple theoretical distributions (exponential, hyperexponential, and geometric). Other data show paging characteristics of tasks as a function of the number of pages those tasks have in core.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. Michigan, Ann Arbor, MI, USA", + journalabr = "Commun ACM", + keywords = "characteristics; compiler execution behaviour; computer metatheory; computer testing; CPU intervals; demand paging; editor; execution behaviour; Fortran compiler; I/O intervals; interactive line file; large scale, time shared computer system; monitoring facility; page on demand system; paging characteristics; probability distribution functions; program behaviour; program execution; software; supervisory and executive programs; virtual memory; virtual storage", + treatment = "A Application; P Practical", +} + +@Article{Smith:1974:LCE, + author = "Graham Smith and Ian M. Sefton", + title = "On {Lions}' Counter Example for {Gotlieb}'s Method for the Construction of School Timetables", + journal = j-CACM, + volume = "17", + number = "4", + pages = "196--197", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The timetable problem is an essentially discrete problem. Although the discrete problem may have no feasible solution, there may exist a solution to the equivalent continuous problem. An example is given, for which the nondiscrete solution can be interpreted as a set of timetables, differing from week to week, which together satisfy the long-term requirements of the timetable problem.", + acknowledgement = ack-nhfb, + classcodes = "C7110 (Educational administration); C7890 (Other special applications of computing)", + classification = "921", + corpsource = "Univ. New South Wales, Kensington, NSW, Australia", + journalabr = "Commun ACM", + keywords = "combinatorial; combinatorial mathematics; discrete problem; educational administrative data; Gotlieb's method; mathematical programming; multiindex problem; processing; schedule; scheduling; school timetables; timetable", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lindstrom:1974:CLS, + author = "Gary Lindstrom", + title = "Copying List Structures Using Bounded Workspace", + journal = j-CACM, + volume = "17", + number = "4", + pages = "198--202", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "Two new algorithms are presented for list structure copying using bounded workspace. The first, of primarily theoretical interest, shows that without cell tag bits the task can be performed in time n**2. The second algorithm, assuming one tag bit in each cell, delivers attractive practical speed. Any noncyclic structure is copied in linear speed, while cyclic structures are copied in average time less than n log n. No foreknowledge of cycle absence is necessary to achieve linear speed. A variation of the second algorithm solves an open problem concerning list structure marking. That result demonstrates that marking can be done in average time n log n without the aid of supplemental tag bits or stacks.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "algorithms; bounded workspace; complexity; computer programming; copying list structures; cyclic; data structures; list; list processing; list structure marking; noncyclic structure; one tag bit; space; structure copying; structures", + treatment = "T Theoretical or Mathematical", +} + +@Article{Even:1974:PTS, + author = "Shimon Even", + title = "Parallelism in Tape-Sorting", + journal = j-CACM, + volume = "17", + number = "4", + pages = "202--204", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "Two methods for employing parallelism in tape-sorting are presented. Method A is the natural way to use parallelism. Method B is new. Both approximately achieve the goal of reducing the processing time by a divisor which is the number of processors.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Weizmann Inst. Sci., Rehovot, Israel", + journalabr = "Commun ACM", + keywords = "computer systems programming", + keywords = "external sorting; parallel processing; parallelism; queues; reducing the processing time; sorting; stacks; tape sorting", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lucas:1974:SCU, + author = "H. C. {Lucas, Jr.} and D. B. Montgomery and J. C. Larreche", + title = "A study of computer use in a graduate school of business", + journal = j-CACM, + volume = "17", + number = "4", + pages = "205--206", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C7100 (Business and administration)", + corpsource = "Stanford Univ., CA, USA", + keywords = "accounting records; commerce; computer aided instruction; computer use; cumulative; curriculum; education; general problem solving tool; graduate school of business; process model; questionnaires; research", + treatment = "G General Review", +} + +@Article{Freeman:1974:GEP, + author = "Peter Freeman and Michael A. Malcolm and William H. Payne", + title = "Graduate Education: The {Ph.D.} Glut: Response and Rebuttal", + journal = j-CACM, + volume = "17", + number = "4", + pages = "206--207", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See \cite{Payne:1973:GEP}.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + corpsource = "Univ. California, Irvine, CA, USA", + keywords = "accreditation; advanced degrees; education; graduate education; Ph.D.; Ph.D. production; response and rebutted; what kind", + treatment = "G General Review", +} + +@Article{Sterling:1974:ITM, + author = "T. D. Sterling and S. V. Pollack", + title = "Ideal teaching machines --- a solution to the pedagogic language problem", + journal = j-CACM, + volume = "17", + number = "4", + pages = "207--208", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6140D (High level languages)", + corpsource = "Simon Fraser Univ., Burnaby, BC, Canada", + keywords = "computer; education; ideal teaching machine; pedagogic language problem; problem oriented languages; simulated; teaching machines", + treatment = "A Application; G General Review; P Practical", +} + +@Article{Abrahams:1974:SRL, + author = "P. W. Abrahams", + title = "Some remarks on lookup of structured variables", + journal = j-CACM, + volume = "17", + number = "4", + pages = "209--210", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + corpsource = "New York Univ., NY, USA", + keywords = "compilers; data structures; deterministic; finite state machine; lookup of structured variables; qualified references; sequence of identifiers; structured; symbol table; table lookup; variables", + treatment = "G General Review; P Practical", +} + +@Article{Balfour:1974:AAM, + author = "A. Balfour", + title = "An alternative approach to mutual recursion {in Algol} 60 using restricted compilers", + journal = j-CACM, + volume = "17", + number = "4", + pages = "210--210", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + corpsource = "Heriot-Watt Univ., Edinburgh, UK", + keywords = "ALGOL; Algol 60; compiler; mutual recursion; program compilers; restricted compilers; restrictions", + treatment = "P Practical", +} + +@Article{Lee:1974:IPS, + author = "R. C. T. Lee and C. L. Chang and R. J. Waldinger", + title = "An Improved Program-Synthesizing Algorithm and its Correctness", + journal = j-CACM, + volume = "17", + number = "4", + pages = "211--217", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (68A40)", + MRnumber = "49 10175", + mrreviewer = "S. Amarel", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An improved program-synthesizing algorithm based on the algorithm proposed by Waldinger and Lee in 1969 is given. In the old algorithm, the program-synthesizing problem is translated into a theorem-proving problem, and a program is obtained by analyzing a proof. \par For the improved algorithm, the analysis is not necessary, and a program is obtained as soon as the proof is completed. This is achieved by using a modified variable tracing mechanism invented by Green in 1969. The correctness of the improved algorithm is also proved; i.e. the program thus obtained always satisfies the specification.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Nat. Inst. Health, Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "computer metatheory; consequence finding; primitive resolutions; program-synthesizing algorithms; theorem proving", + keywords = "consequence; correctness; finding; modified variable tracing mechanism; primitive resolutions; problem; program synthesizing algorithm; programming theory; theorem proving", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cline:1974:SPV, + author = "A. K. Cline", + title = "Scalar- and planar-valued curve fitting using splines under tension. {I}", + journal = j-CACM, + volume = "17", + number = "4", + pages = "218--220", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05", + MRnumber = "49 8274", + mrreviewer = "J. W. Jerome", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/pre75.bib", + abstract = "The spline under tension was introduced by Schweikert in an attempt to imitate cubic splines but avoid the spurious critical points they induce. The defining equations are presented here, together with an efficient method for determining the necessary parameters and computing the resultant spline. The standard scalar-valued curve fitting problem is discussed, as well as the fitting of open and closed curves in the plane. The use of these curves and the importance of the tension in the fitting of contour lines are mentioned as application.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + classification = "921", + corpsource = "Nat. Center Atmospheric Res., Boulder, CO, USA", + country = "USA", + descriptors = "Realization; polynomial; approximation; method; interpolation; FORTRAN; graphics; iterative method; information system; spline; curve fitting;", + enum = "597", + journalabr = "Commun ACM", + keywords = "contouring; cubic splines; curve fitting; curves in the plane; fitting; function approximation; interpolation; scalar valued curve; splines (mathematics); splines under tension", + keywords = "contouring; curve fitting; interpolation; mathematical techniques; splines", + language = "English", + references = "3", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cline:1974:AAS, + author = "A. K. Cline", + title = "{ACM} Algorithm 476: Six Subprograms for Curve Fitting Using Splines Under Tension", + journal = j-CACM, + volume = "17", + number = "4", + pages = "220--223 (or 220--221??)", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Nat. Center Atmospheric Res., Boulder, CO, USA", + keywords = "contouring; curve fitting; FORTRAN; function approximation; interpolation; splines (mathematics); splines under tension; subprograms; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Ehrlich:1974:AAG, + author = "G. Ehrlich", + title = "{ACM} Algorithm 477: Generator of Set-Partitions to Exactly ${R}$ Subsets", + journal = j-CACM, + volume = "17", + number = "4", + pages = "224--225", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)", + corpsource = "Weizmann Inst. Sci., Rehovot, Israel", + keywords = "mutually exclusive subsets; PARTEXACT; partitions; permutations; set theory; subroutines; subset generation; subsets", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Einarsson:1974:STE, + author = "B. Einarsson", + title = "Solution of the transcendental equation we\slash sup w\slash =x", + journal = j-CACM, + volume = "17", + number = "4", + pages = "225--225", + month = apr, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Res. Inst. Nat. Defense, Tumba, Sweden", + keywords = "function evaluation; subroutines; transcendental equation; violation of the Fortran standard", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Shaw:1974:RCC, + author = "Mary Shaw", + title = "Reduction of Compilation Costs Through Language Contraction", + journal = j-CACM, + volume = "17", + number = "5", + pages = "245--250", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Programming languages tailored to particular groups of users can often be constructed by removing unwanted features from a general purpose language. This paper describes the use of simulation techniques to predict the savings in compilation cost achievable by such an approach. The results suggest a function which describes the effect of changes in the power of a language on the compilation cost of an algorithm expressed in that language: when features not actually used by the algorithm are removed from the language, the cost of compiling the algorithm decreases moderately, but when features that are needed are removed, the compilation cost increases sharply.", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "compilation costs; compiler design; computational complexity; computer programming languages; design of programming languages; general purpose language; language contraction; languages; programming; programming languages; simulation techniques", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wegbreit:1974:TDT, + author = "Ben Wegbreit", + title = "The treatment of data types in {EL1}", + journal = j-CACM, + volume = "17", + number = "5", + pages = "251--264", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In constructing a general purpose programming language, a key issue is providing a sufficient set of data types and associated operations in a manner that permits both natural problem-oriented notation and efficient implementation. The EL1 language contains a number of features specifically designed to simultaneously satisfy both requirements. The resulting treatment of data types includes provision for programmer-defined data types and generic routines, programmer control over type conversion, and very flexible data type behavior, in a context that allows efficient compiled code and compact data representation.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + classification = "723", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "behaviour; coercion; compilation; computer programming languages; data description language; data handling; data type definition; data types; efficient implementation; EL1; extensible; flexible data type; general purpose programming language; generic routines; language; languages; mode unions; modes; problem oriented notation; procedure oriented languages; programmer control; programmer defined data types; type conversion", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wagner:1974:OCR, + author = "Robert A. Wagner", + title = "Order-$n$ Correction for Regular Languages", + journal = j-CACM, + volume = "17", + number = "5", + pages = "265--268", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method is presented for calculating a string B, belonging to a given regular language L, which is ``nearest'' (in number of edit operations) to a given input string $a$. $B$ is viewed as a reasonable ``correction'' for the possibly erroneous string $a$, where a was originally intended to be a string of $L$. \par The calculation of $B$ by the method presented requires time proportional to $|a|$, the number of characters in $a$. The method should find applications in information retrieval, artificial intelligence, and spelling correction systems.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Vanderbilt Univ., Nashville, TN, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; compiler error recovery; computer programming languages; context free languages; context-free languages; correction; corrector; edit operations; error correction; error correction codes; errors; finite state automata; information; nondeterministic finite state automata; nondeterministic finite-state automata; order $n$ correction; regular events; regular languages; retrieval; spelling correction; string best match problem", + treatment = "T Theoretical or Mathematical", +} + +@Article{Tsao:1974:DSD, + author = "Nai Kuan Tsao", + title = "On the Distributions of Significant Digits and Roundoff Errors", + journal = j-CACM, + volume = "17", + number = "5", + pages = "269--271", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65G05", + MRnumber = "49 6595", + mrreviewer = "N. N. Abdelmalek", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + abstract = "Generalized logarithmic law is derived for the distribution of the first t significant digits of a random digital integer. This result is then used to determine the distribution of the roundoff errors in floating-point operations, which is a mixture of uniform and reciprocal distributions.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "921", + corpsource = "Aerospace Res. Labs., Wright-Patterson AFB, OH, USA", + journalabr = "Commun ACM", + keywords = "digital arithmetic; digital integer; distributions; error analysis; floating point operations; logarithmic law; mathematical techniques; mean value; random; reciprocal; roundoff errors; significant digits; uniform distribution; variance", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wunderlich:1974:DNT, + author = "M. C. Wunderlich and J. L. Selfridge", + title = "Design for a Number Theory Package with an Optimized Trial Division Routine", + journal = j-CACM, + volume = "17", + number = "5", + pages = "272--276", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A number theory package is described which uses doubly linked list structures for storing multiprecise integers. The package has been coded in IBM's Basic Assembly Language and makes heavy use of the macro language and conditional assembly. An optimally coded trial division routine is also described which can be used to determine the unique factorization of large integers.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "921", + corpsource = "Northern Illinois Univ., Dekalb, IL, USA", + journalabr = "Commun ACM", + keywords = "arithmetic; Basic; conditional assembly; design; doubly linked list structures; doubly linked lists; factorization; integers; macro language; mathematical techniques; multiprecise; number theory; number theory package; optimally coded; optimized trial division; pseudoprime; routine; trial division; utility programs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gentleman:1974:MAR, + author = "W. M. Gentleman and S. B. Marovich", + title = "More on Algorithms that Reveal Properties of Floating Point Arithmetic Units", + journal = j-CACM, + volume = "17", + number = "5", + pages = "276--277", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + corpsource = "Univ. Waterloo, Ont., Canada", + keywords = "algorithms; base of the arithmetic; digital arithmetic; floating point arithmetic units; high level; languages; trailing digits", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gold:1974:MMR, + author = "D. E. Gold and D. J. Kuck", + title = "A Model for Masking Rotational Latency by Dynamic Disk Allocation", + journal = j-CACM, + volume = "17", + number = "5", + pages = "278--288", + month = may, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper presents the background and algorithms for masking the rotational latency of a disk or drum. It discusses the anticipatory input and output of blocks of data to buffer and primary memories for a mono-programmed computer system. A basic permutation algorithm and several variations are given. Because of the anticipatory nature of the I/O scheduling, these algorithms are restricted to classes of programs with predictable behavior. While the methods are not restricted to numerical computations, matrix and partial differential equation methods are typical examples of their use. It is shown tha latency may be masked using a small amount of buffer memory. The methods discussed are independent of the overall size of the data base being considered.", + acknowledgement = ack-nhfb, + annote = "Optimal arrangement of data to minimize buffer needs.", + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "(computers); algorithm; anticipatory input; anticipatory output; behaviour; buffer; buffer memory; computer operating systems; computer system; data storage, magnetic --- Disk; dynamic disc allocation; magnetic disc and drum storage; masking; memory hierarchy; model; monoprogrammed; operating systems; permutation; permutation algorithm; predictable; primary memories; rotational latency; staging; storage allocation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Cohen:1974:TLE, + author = "Jacques Cohen and Carl Zuckerman", + title = "Two Languages for Estimating Program Efficiency", + journal = j-CACM, + volume = "17", + number = "6", + pages = "301--308", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/monitor.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib", + abstract = "Two languages enabling their users to estimate the efficiency of computer programs are presented. The program whose efficiency one wishes to estimate is written in the first language, a go-to-less programming language which includes most of the features of Algol 60. The second language consists of interactive commands enabling its users to provide additional information about the program written in the first language and to output results estimating its efficiency. Processors for the two languages are also described. The first processor is a syntax-directed translator which compiles a program into a symbolic formula representing the execution time for that program. The second processor is a set of procedures for algebraic manipulation which can be called by the user to operate on the formula produced by the first processor. Examples of the usage of the two languages are included. The limitations of the present system, its relation to Knuth's work on the analysis of algorithms, and some of the directions for further research are also discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Brandeis Univ., Waltham, MA, USA", + country = "USA", + descriptors = "Programming language; runtime/storage efficiency; analysis; algorithm;", + enum = "614", + journalabr = "Commun ACM", + keywords = "analysis of algorithms; computer programming languages; efficiency; estimating program efficiency; go to less; interactive commands; languages; procedure oriented languages; processors; program; program diagnostics; program efficiency; programming language; programming languages; symbolic manipulation; syntax directed translation; syntax-directed translation", + language = "English", + references = "16", + treatment = "A Application; P Practical", +} + +@Article{Henschen:1974:TPL, + author = "L. Henschen and Ross A. Overbeek and L. Wos", + title = "A Theorem-Proving Language for Experimentation", + journal = j-CACM, + volume = "17", + number = "6", + pages = "308--314", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A40", + MRnumber = "49 6698", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Because of the large number of strategies and inference rules presently under consideration in automated theorem proving, there is a need for developing a language especially oriented toward automated theorem proving. This paper discusses some of the features and instructions of this language. The use of this language permits easy extension of automated theorem-proving programs to include new strategies and/or new inference rules. Such extend ability will permit general experimentation with the various alternative systems.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C6140D (High level languages)", + classification = "723", + corpsource = "Northwestern Univ., Evanston, IL, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; factoring; paramodulation; programming languages; resolution; theorem proving", + keywords = "alternative systems; automated theorem proving; experimentation; factoring; paramodulation; problem oriented languages; programming languages; resolution; strategies and inference rules presently; theorem proving", + treatment = "P Practical", +} + +@Article{Gimpel:1974:MSC, + author = "James F. Gimpel", + title = "The minimization of spatially-multiplexed character sets", + journal = j-CACM, + volume = "17", + number = "6", + pages = "315--318", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper describes a technique for compacting character sets in a digital computer while retaining fast access to individual bits. It considers the problem of minimizing the storage needed to contain such tables. Reduction techniques are developed, and the problem is shown to reduce to a covering problem.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Bell Telephone Labs., Holmdel, NJ, USA", + journalabr = "Commun ACM", + keywords = "character sets; compacting character sets; computer programming; covering problem; data handling; data structures; fast access to; individual bits; lexical analysis; minimizing the storage; parsing; reduction; scanning; spatial multiplexing; string processing; techniques", + treatment = "P Practical", +} + +@Article{Barrodale:1974:AAS, + author = "I. Barrodale and F. D. K. Roberts", + title = "{ACM} Algorithm 478: Solution of an Overdetermined System of Equations in the ${L_1}$ Norm", + journal = j-CACM, + volume = "17", + number = "6", + pages = "319--320", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); B0290F (Interpolation and function approximation); C1180 (Optimisation techniques); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Victoria, BC, Canada", + keywords = "algorithm; function approximation; l/sub 1/ approximation; l1 norm; linear programming; minimizes; overdetermined system of equations; simplex method; subroutines; sum of the absolute values of the residuals", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Page:1974:AAM, + author = "R. L. Page", + title = "{ACM} Algorithm 479: {A} Minimal Spanning Tree Clustering Method", + journal = j-CACM, + volume = "17", + number = "6", + pages = "321--323", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{White:1976:RMS}.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C7310 (Mathematics computing)", + corpsource = "Colorado State Univ., Fort Collins, CO, USA", + keywords = "complete graph; feature; FORTRAN; graph theory; human perception; minimal spanning tree; pattern recognition; selection; subroutines", + treatment = "P Practical", +} + +@Article{Gaither:1974:HPP, + author = "B. Gaither", + title = "Hidden-line plotting program", + journal = j-CACM, + volume = "17", + number = "6", + pages = "324--324", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7310 (Mathematics computing)", + corpsource = "New Mexico Inst. Mining and Technol., Socorro, NM, USA", + keywords = "algorithm; computer graphics; division by zero; hidden line; plotting program", + treatment = "G General Review; P Practical", +} + +@Article{Piessens:1974:CFI, + author = "R. Piessens", + title = "Calculation of {Fourier} integrals", + journal = j-CACM, + volume = "17", + number = "6", + pages = "324--324", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290Z (Other numerical methods); C4190 (Other numerical methods); C7310 (Mathematics computing)", + corpsource = "Univ. Leuven, Heverlee, Belgium", + keywords = "algorithm; Fourier integrals; Fourier transforms; integration", + treatment = "G General Review; P Practical", +} + +@Article{Piessens:1974:MHI, + author = "R. Piessens", + title = "Modified {Havie} integration", + journal = j-CACM, + volume = "17", + number = "6", + pages = "324--324", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); C4160 (Numerical integration and differentiation); C7310 (Mathematics computing)", + corpsource = "Univ. Leuven, Heverlee, Belgium", + keywords = "algorithm; automatic; integration; integrators; modified Havie integration; numerical analysis; overflows; specified tolerances", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Ellis:1974:HPP, + author = "T. M. R. Ellis", + title = "Hidden-line plotting program", + journal = j-CACM, + volume = "17", + number = "6", + pages = "324--325", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7310 (Mathematics computing)", + corpsource = "Univ. Sheffield, UK", + keywords = "algorithm; computer graphics; error; hidden line plotting program; plotting program", + treatment = "G General Review; P Practical", +} + +@Article{Page:1974:GRC, + author = "R. L. Page", + title = "Generation of random correlated normal variables", + journal = j-CACM, + volume = "17", + number = "6", + pages = "325--325", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Colorado State Univ., Fort Collins, CO, USA", + keywords = "algorithm; array parameters; random correlated normal variables; random number generation; revises; work", + treatment = "G General Review; P Practical", +} + +@Article{Boulton:1974:EPR, + author = "D. M. Boulton", + title = "Exact probabilities for {R}*{C} contingency tables", + journal = j-CACM, + volume = "17", + number = "6", + pages = "326--326", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Monash Univ., Melbourne, Vic., Australia", + keywords = "algorithm; cell frequency combinations; contingency tables; dimensional contingency table; exact probabilities; inefficient; marginal sum constraints; probability; two", + treatment = "G General Review; P Practical", +} + +@Article{Slysz:1974:ESS, + author = "W. D. Slysz", + title = "An evaluation of software in the social sciences", + journal = j-CACM, + volume = "17", + number = "6", + pages = "326--332", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7810 (Social and behavioural sciences computing)", + corpsource = "Univ. Connecticut, Storrs, CT, USA", + keywords = "bivariate; BMD; college; cost; DATA TEXT; descriptive statistics; factor analysis; one way analysis of variance; OSIRIS; Pearson correlation; performance; regression; social and behavioural sciences; social sciences; SPSS; statistical analysis; statistical computation; statistical packages; statistical software; tables; TSAR; university", + treatment = "A Application; P Practical", +} + +@Article{Adams:1974:CRC, + author = "John Adams and John Gary", + title = "Compact Representation of Contour Plots for Phone Line Transmission", + journal = j-CACM, + volume = "17", + number = "6", + pages = "333--336", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Methods for the compact representation of contour plots are described and tested. These are intended to reduce the cost of transmitting contour plots over phone lines. Some of these methods could be used to transmit contour plots over voice grade phone lines.", + acknowledgement = ack-nhfb, + classcodes = "B6210D (Telephony); C5540 (Terminals and graphic displays); C5600 (Data communication equipment and techniques)", + classification = "723", + corpsource = "Nat. Center Atmospheric Res., Boulder, CO, USA", + journalabr = "Commun ACM", + keywords = "compact representation; computer graphics; contour plots; data compaction; data transmission; data transmission systems; phone line; remote terminal; transmission; voice grade phone lines", + treatment = "P Practical", +} + +@Article{Wulf:1974:HKM, + author = "W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack", + title = "{HYDRA}: The Kernel of a Multiprocessor Operating System", + journal = j-CACM, + volume = "17", + number = "6", + pages = "337--345", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "This paper describes the design philosophy of HYDRA the kernel of an operating system for C. mmp, the Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introduction of a generalized notion of ``resource,'' both physical and virtual, called an ``object.'' Mechanisms are presented for dealing with objects, including the creation of new types, specification of new operations applicable to a given type, sharing, and protection of any reference to a given object against improper application of any of the operations defined with respect to that type of object. The mechanisms provide a coherent basis for extension of the system in two directions: the introduction of new facilities, and the creation of highly secure systems.", + acknowledgement = ack-nhfb, + annote = "Includes protection mechanism using capabilities attached to references.", + classcodes = "C6150J (Operating systems)", + classification = "722", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; design philosophy; highly secure systems; HYDRA; kernel; multiprocessing programs; multiprocessor operating system; new facilities; nucleus; operating systems (computers); protection; security olit hydra capabilities; sharing", + treatment = "A Application; P Practical", +} + +@Article{Barton:1974:ITA, + author = "Ian J. Barton and Susan E. Creasey and Michael F. Lynch and Michael J. Snell", + title = "An Information-Theoretic Approach to Text Searching in Direct Access Systems", + journal = j-CACM, + volume = "17", + number = "6", + pages = "345--350", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Using direct access computer files of bibliographic information, an attempt is made to overcome one of the problems often associated with information retrieval, namely, the maintenance and use of large dictionaries, the greater part of which is used only infrequently. A novel method is presented, which maps the hyperbolic frequency distribution. This is more suited to implementation on storage devices. \par This method treats text as a string of characters rather than words bounded by spaces, and chooses subsets of strings such that their frequencies of occurrence are more even than those of word types. The members of this subset are then used as index keys for retrieval. The rectangular distribution of key frequencies results in a much simplified file organization and promises considerable cost advantages.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 731", + corpsource = "Univ. Sheffield, UK", + journalabr = "Commun ACM", + keywords = "bit vector; character string; data processing --- File Organization; direct access; file organization; information retrieval; information theory; text searching", + keywords = "bibliographic information; bit vector; character string; characteristics; computer files; dictionaries; direct access; direct access systems; file organisation; hyperbolic frequency distribution of text; index keys; information retrieval; information theory; large; rectangular distribution; simplified file organization; text searching", + treatment = "P Practical", +} + +@Article{Minieka:1974:CSS, + author = "Edward Minieka", + title = "On Computing Sets of Shortest Paths in a Graph", + journal = j-CACM, + volume = "17", + number = "6", + pages = "351--353", + month = jun, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "05C35", + MRnumber = "49 7178", + mrreviewer = "Torrence D. Parsons", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Two algorithms are presented that construct the $k$ shortest paths between every pair of vertices in a directed graph. These algorithms generalize the Floyd algorithm and the Dantzig algorithm for finding the shortest path between every pair of vertices in a directed graph.", + acknowledgement = ack-nhfb, + classcodes = "C7190 (Other fields of business and administrative computing)", + classification = "921", + corpsource = "Univ. Illinois, Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "algorithm; computer aided analysis; critical path analysis; Dantzig algorithm; directed graph; Floyd algorithm; graph; mathematical techniques; network; shortest path; shortest paths", + treatment = "A Application; P Practical", +} + +@Article{Ritchie:1974:UTS, + author = "Dennis M. Ritchie and Ken Thompson", + title = "The {UNIX} Time-Sharing System", + journal = j-CACM, + volume = "17", + number = "7", + pages = "365--375", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "This paper discusses the nature and implementation of the file system and of the user command interface. UNIX is a general-purpose, multi-user, interactive operating system for the Digital Equipment Corporation PDP-11\slash 40 and 11\slash 45 computers. It offers a number of features seldom found even in larger operating systems, including: (1) a hierarchical file system incorporating demountable volumes; (2) compatible file, device, and inter-process I/O; (3) the ability to initiate asynchronous processes; (4) system command language selectable on a per-user basis; and (5) over 100 subsystems including a dozen languages.", + acknowledgement = ack-nhfb, + annote = "Interactive operating system for PDP-11, VAX with a hierarchical file system incorporating demountable volumes.", + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "asynchronous; command language; compatible file; computer systems programming; demountable volumes; file organisation; file system; hierarchical file system; operating; operating systems (computers); processes; sharing systems; system; system command language; time sharing; time-; UNIX interactive operating system", + treatment = "A Application; P Practical", +} + +@Article{Fuller:1974:MTP, + author = "Samuel H. Fuller", + title = "Minimal-Total-Processing Time Drum and Disk Scheduling Disciplines", + journal = j-CACM, + volume = "17", + number = "7", + pages = "376--381", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This article investigates the application of minimal-total-processing-time (MTPT) scheduling disciplines to rotating storage units when random arrival of requests is allowed. Fixed-head drum and moving-head disk storage units are considered, and emphasis is placed on the relative merits of the MTPT scheduling discipline with respect to the shortest-latency-time-first (SLTF) scheduling discipline. The results of the simulation studies presented show that neither scheduling discipline is unconditionally superior to the other.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages", + keywords = "disc scheduling; drum scheduling; fixed head drum; intra cylinder disc; management; minimal total processing time; moving head disc; operating systems (computers); rotating storage units; scheduling; scheduling disciplines; shortest latency time first; simulation; sorting; storage", + treatment = "A Application; P Practical", +} + +@Article{Bruno:1974:SIT, + author = "J. Bruno and E. G. {Coffman, Jr.} and R. Sethi", + title = "Scheduling Independent Tasks To Reduce Mean Finishing Time", + journal = j-CACM, + volume = "17", + number = "7", + pages = "382--387", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35", + MRnumber = "50 9338", + mrreviewer = "John C. Gittins", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "A deterministic model of independent tasks is introduced and new results are derived which extend and generalize the algorithms known for minimizing mean finishing time. In addition to presenting and analyzing new algorithms it is shown that the most general mean-finishing-time problem for independent tasks is polynomial complete, hence unlikely to admit of a non-enumerative solution.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6150J (Operating systems)", + classification = "723", + corpsource = "Pennsylvania State Univ., University Park, PA, USA", + descriptors = "Scheduling; Finish Time;", + journalabr = "Commun ACM", + keywords = "CACM; computer programming languages; deterministic model; independent tasks; mean finishing time; minimisation; minimize; minimizing mean finishing time; minimizing mean flow time; operating systems (computers); optimal; polynomial complete; scheduling; scheduling algorithms; scheduling independent tasks; sequencing algorithms; storage required", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Saltzer:1974:PCI, + author = "Jerome H. Saltzer", + title = "Protection and the Control of Information Sharing in {Multics}", + journal = j-CACM, + volume = "17", + number = "7", + pages = "388--402", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "The design of mechanisms to control the sharing of information in the Multics system is described. Five design principles help provide insight into the tradeoffs among different possible designs. The key mechanisms described include access control lists, hierarchical control of access specifications, identification and authentication of users, and primary memory protection. The paper ends with a discussion of several known weaknesses in the current protection mechanism design.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "access control lists; authentication; computer systems programming; control; control of access specifications; descriptors; design principles; hierarchical; identification; information sharing; mechanism design; Multics system; operating systems (computers); operating virtual memory CACM; primary memory protection; privacy; protection; security; security of data; storage; time sharing systems; virtual; virtual memory", + treatment = "A Application; P Practical", +} + +@Article{Fabry:1974:CBA, + author = "R. S. Fabry", + title = "Capability-Based Addressing", + journal = j-CACM, + volume = "17", + number = "7", + pages = "403--412", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "Various addressing schemes making use of segment tables are examined. The inadequacies of these schemes when dealing with shared addresses are explained. These inadequacies are traced to the lack of an efficient absolute address for objects in these systems. The direct use of a capability as an address is shown to overcome these difficulties because it provides the needed absolute address. Implementation of capability-based addressing is discussed. It is predicted that the use of tags to identify capabilities will dominate. A hardware address translation scheme which never requires the modification of the representation of capabilities is suggested.", + acknowledgement = ack-nhfb, + annote = "The direct use of a capability as an address is shown to be useful when dealing with shared addresses. Implementation of capability-based addressing is discussed.", + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "address translation scheme; addresses; addressing; addressing hardware; addressing schemes; associative; capabilities; capability based addressing; code; computer utility; data structures; hardware; hash table; information sharing; operating systems; programming conventions; protection; protection hardware; registers; security of data; segment tables; shared; storage management; tagged architecture; tags", + keywords = "CACM memory management segments pages operating security olit capabilities; information retrieval systems", + treatment = "A Application; P Practical", +} + +@Article{Popek:1974:FRV, + author = "Gerald J. Popek and Robert P. Goldberg", + title = "Formal Requirements for Virtualizable Third Generation Architectures", + journal = j-CACM, + volume = "17", + number = "7", + pages = "412--421", + month = jul, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "49 10177", + mrreviewer = "I. Kaufmann", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A model of a third-generation-like computer system is developed. Formal techniques are used to derive precise sufficient conditions to test whether such an architecture can support virtual machines.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C7430 (Computer engineering)", + classification = "722", + corpsource = "Univ. California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "abstract model; architectures; computer architecture; computer operating systems; formal requirements; generation architecture; hypervisor; operating system; sufficient conditions; systems; third; third generation computer; virtual machine; virtual machine monitor; virtual machines; virtual memory; virtualizable third generation", + treatment = "A Application; P Practical", +} + +@Article{Hahn:1974:NTC, + author = "Bruce Hahn", + title = "A New Technique for Compression and Storage of Data", + journal = j-CACM, + volume = "17", + number = "8", + pages = "434--436", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper describes techniques that can, in most cases, decrease storage size by a factor of from two to four. The techniques involve special handling of leading and trailing blanks, and the encoding of other symbols in groups of fixed size as unique fixed point numbers. The efficiency of the system is considered and pertinent statistics are given and compared with statistics for other information coding techniques.", + acknowledgement = ack-nhfb, + annote = "Generation of a character dictionary and its use to minimize space.", + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "731", + corpsource = "Univ. Waterloo, Ont., Canada", + journalabr = "Commun ACM", + keywords = "coding techniques; compression; data handling; data management; data storage; efficiency; encoding; file maintenance; file organisation; fixed point numbers; information coding techniques; information theory; programs; text compression; utility", + treatment = "A Application; P Practical", +} + +@Article{Evans:1974:UAS, + author = "Arthur {Evans, Jr.} and William Kantrowitz and Edwin Weiss", + title = "A User Authentication Scheme Not Requiring Secrecy in the Computer", + journal = j-CACM, + volume = "17", + number = "8", + pages = "437--442", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "In many computer operating systems a user authenticates himself by entering a secret password known solely to himself and the system. The system compares this password with one recorded in a Password Table which is available to only the authentication program. The integrity of the system depends on keeping the table secret. In this paper a password scheme is presented which does not require secrecy in the computer. All aspects of the system, including all relevant code and data bases, may be known by anyone attempting to intrude. The scheme is based on using a function H which the would-be intruder is unable to invert. This function is applied to the user's password and the result compared to a table entry, a match being interpreted as authentication of the user. The intruder may know all about H and have access to the table, but he can penetrate the system only if he can invert H to determine an input that produces a given output. This paper discusses issues surrounding selection of a suitable H.", + acknowledgement = ack-nhfb, + annote = "Password protection by irreversible transformation", + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "MIT, Lexington, MA, USA", + journalabr = "Commun ACM", + keywords = "authentication; computer operating systems; cryptology; engineering problems; human; invert; one way encryption; operating system security; operating systems (computers); password scheme; security; security of data; user authentication scheme", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Purdy:1974:HSL, + author = "George B. Purdy", + title = "A High Security Log-in Procedure", + journal = j-CACM, + volume = "17", + number = "8", + pages = "442--445", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "The protection of time sharing systems from unauthorized users is often achieved by the use of passwords. By using one-way ciphers to code the passwords, the risks involved with storing the passwords in the computer can be avoided. The selection of a suitable one-way cipher is discussed. It is suggested that for this purpose polynomials over a prime modulus are superior to one-way ciphers derived from Shannon codes.", + acknowledgement = ack-nhfb, + annote = "Password protection by irreversible cryptographic transformation", + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Univ. Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "code; computer operating systems; cryptography; data processing --- Security of Data; one way ciphers; operating systems; operating systems (computers); passwords; security; security of data; time sharing systems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Friedman:1974:ETR, + author = "Theodore D. Friedman and Lance J. Hoffman", + title = "Execution Time Requirements for Encipherment Programs", + journal = j-CACM, + volume = "17", + number = "8", + pages = "445--449", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "The time taken to decipher 20,000 words of data by four additive methods on a Control Data 6400 computer was measured using assembly language and Fortran routines. Standard deviations were computed for 100 runs by each method, and from this the range of error at the 95 percent confidence level was calculated. The time required for selecting and fetching the plaintext data and for storing the ciphertext was separately measured (the ``null transformation'' ), and was then compared with the times required by each enciphering method. The enciphering processes required at least four times as much cpu time when programmed in Fortran.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "additive ciphers; assembly language; cpu; cryptography; cryptology; data processing; double key encipherment; enciphering time coefficient; encipherment programs; errors; execution time; experiments; Fortran; null; one word key; operating systems (computers); privacy transformations; protection; pseudo random key; security; security of data; time; transformation", + treatment = "A Application; T Theoretical or Mathematical; X Experimental", +} + +@Article{Neufeld:1974:GCC, + author = "G. A. Neufeld and J. Tartar", + title = "Graph Coloring Conditions for the Existence of Solutions to the Timetable Problem", + journal = j-CACM, + volume = "17", + number = "8", + pages = "450--453", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35", + MRnumber = "52 16594", + mrreviewer = "Ethan D. Bolker", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + abstract = "A necessary and sufficient condition is presented for the existence of a solution to the Gotlieb class-teacher timetable problem. Several relationships are established between the class-teacher timetable problem and graphs with preconditions. These preconditions place additional restrictions on the coloration of a graph. The preconditions correspond to the unavailability constraints and preassigned meetings in the class-teacher timetable problem. Using some recent results that convert graphs with preconditions to graphs without them, it is shown that the existence of a coloration of a graph is the required necessary and sufficient condition.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7110 (Educational administration)", + classification = "912; 921", + corpsource = "Univ. Alberta, Edmonton, Alta., Canada", + journalabr = "Commun ACM", + keywords = "class-teacher timetable problem; class-teacher timetables; coloration; educational administrative data processing; graph colouring conditions; graph theory; graphs; graphs with preconditions; mathematical techniques; necessary and; operations research; preassignment; prevention of assignment; scheduling; sufficient condition; timetable problem", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lamport:1974:NSD, + author = "Leslie Lamport", + title = "A New Solution of {Dijkstra}'s Concurrent Programming Problem", + journal = j-CACM, + volume = "17", + number = "8", + pages = "453--455", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "49 8418", + mrreviewer = "James Howland", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A simple solution to the mutual exclusion problem is presented which allows the system to continue to operate despite the failure of any individual component.", + acknowledgement = ack-nhfb, + annote = "A solution which is more failure proof.", + classcodes = "C6150J (Operating systems)", + classification = "723", + journalabr = "Commun ACM", + keywords = "computer systems programming; concurrent programming; critical section; Dijkstra's concurrent programming problem; failure; fault tolerant computing; multiprocessing; multiprocessing programs; mutual exclusion; semaphores", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Cavouras:1974:CPD, + author = "John C. Cavouras", + title = "On the Conversion of Programs to Decision Tables: Method and Objectives", + journal = j-CACM, + volume = "17", + number = "8", + pages = "456--462", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The problems of converting programs to decision tables are investigated. Objectives of these conversions are mainly program debugging and optimization in practice. Extensions to the theory of computation and computability are suggested.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. Glasgow, UK", + journalabr = "Commun ACM", + keywords = "analysis; computability; computability and decidability; computer systems programming; conversion of programs; debugging; decision tables; objectives; optimization; program; semantics; systems; theory of programming", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lyche:1974:AAP, + author = "T. Lyche and L. L. Schumaker", + title = "{ACM} Algorithm 480: Procedures for Computing Smoothing and Interpolating Natural Splines", + journal = j-CACM, + volume = "17", + number = "8", + pages = "463--467", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "Algol; approximation; coefficients; interpolating; interpolation; natural sciences applications of computers; natural splines; smoothing; spline smoothing; splines (mathematics); subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Crandall:1974:AAA, + author = "K. C. Crandall", + title = "{ACM} Algorithm 481: Arrow to Precedence Network Transformation", + journal = j-CACM, + volume = "17", + number = "8", + pages = "467--469", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7100 (Business and administration)", + corpsource = "Univ. California, Berkeley, CA, USA", + keywords = "arrow convention; arrow convention networks; computer aided analysis; convention; critical path; critical path analysis; network transformation; precedence; precedence networks; resource allocation; scheduling; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{McKay:1974:AAT, + author = "John McKay and E. Regener", + title = "{ACM} Algorithm 482: Transitivity Sets [{G7}]", + journal = j-CACM, + volume = "17", + number = "8", + pages = "470--470", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)", + corpsource = "McGill Univ., Montreal, Que., Canada", + keywords = "sets; transitivity", + keywords = "Algol; algorithm; graph; natural sciences applications of computers; orbits; semigroup; set theory; sets; spanning tree; subroutines; transitivity; transitivity sets", + page = "470", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stroud:1974:GHI, + author = "A. H. Stroud", + title = "{Gauss} Harmonic Interpolation Formulas", + journal = j-CACM, + volume = "17", + number = "8", + pages = "471--475", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D05", + MRnumber = "50 15265", + mrreviewer = "Stephen Hilbert", + bibdate = "Thu Jan 16 19:52:47 MST 1997", + bibsource = "Compendex database", + abstract = "Let $R$ be an open, bounded, simply connected region in the $(x,y)$-plane and let $(x*,y*)$ be a point in $R$. Assuming R is starlike with respect to $(x*,y*)$, we discuss a method for computing Gauss harmonic interpolation formulas for $R$ and the point $(x*,y*)$. \par Such formulas approximate a harmonic function at $(x*,y*)$ in terms of a linear combination of its values at certain selected points on the boundary of $R$. Such formulas are useful for approximating the solution of the Dirichlet problem for $R$.", + acknowledgement = ack-nhfb, + classification = "921", + journalabr = "Commun ACM", + keywords = "Dirichlet problem; harmonic interpolation; harmonic quadrature; interpolation; mathematical techniques; quadrature", +} + +@Article{Lagerloef:1974:IRR, + author = "Rolf O. E. Lagerloef", + title = "Interpolation with Rounded Ramp Functions", + journal = j-CACM, + volume = "17", + number = "8", + pages = "476--479", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Jan 16 19:52:47 MST 1997", + bibsource = "Compendex database", + abstract = "A new interpolation function is introduced. It has infinitely many continuous derivatives and is a composition of ramp functions with smoothed bends called Rounded Ramp Functions. How the interpolation function can be extended to more than one variable is shown. An efficient Fortran program is given by which the interpolation function can be obtained for a given point set.", + acknowledgement = ack-nhfb, + classification = "921", + journalabr = "Commun ACM", + keywords = "mathematical techniques", +} + +@Article{Acton:1974:RRF, + author = "Forman S. Acton", + title = "Recurrence Relations for the {Fresnel} Integral $\int_0^\infty[\exp(-ct)dt/(t)^{1/2}(1+t^2)]$ and Similar Integrals", + journal = j-CACM, + volume = "17", + number = "8", + pages = "480--481", + month = aug, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D20 (33A70)", + MRnumber = "49 6554", + bibdate = "Mon Jan 27 12:23:52 1997", + bibsource = "Compendex database", + abstract = "The class of functions defined by $\int_0^\infty[\exp(- cX)dt/(1+Y)(t^{1/2})^k]$ where $X$ and $Y$ are either $t$ or $t^2$ and $k$ is $-1$, $0$, or $1$ can be evaluated by recurrences for all but small values of the parameter $c$. These recurrences, given here, are more efficient than the usual asymptotic series.", + acknowledgement = ack-nhfb, + classification = "921", + journalabr = "Commun ACM", + keywords = "exponential integral; Fresnel integral; mathematical techniques; recurrence relations", +} + +@Article{Willers:1974:NIA, + author = "I. M. Willers", + title = "A New Integration Algorithm for Ordinary Differential Equations Based on Continued Fraction Approximations", + journal = j-CACM, + volume = "17", + number = "9", + pages = "504--508", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65L05", + MRnumber = "49 8367", + mrreviewer = "G. D. Byrne", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new integration algorithm is found, and an implementation is compared with other programmed algorithms. The new algorithm is a step-by-step procedure for solving the initial value problem in ordinary differential equations. It is designed to approximate poles of small integer order in the solutions of the differential equations by continued fractions obtained by manipulating the sums of truncated Taylor series expansions. The new method is compared with Gragg-Bulirsh-Stoer, and the Taylor series method. \par The Taylor series method and the new method are shown to be superior in speed and accuracy, while the new method is shown to be most superior when the solution is required near a singularity. The new method can finally be seen to pass automatically through singularities where all the other methods which are discussed will have failed.", + acknowledgement = ack-nhfb, + classcodes = "B0290M (Numerical integration and differentiation); B0290P (Differential equations); C4160 (Numerical integration and differentiation); C4170 (Differential equations)", + classification = "921", + corpsource = "CERN, Geneve, Switzerland", + journalabr = "Commun ACM", + keywords = "boundary-value problems; continued fraction approximations; continued fractions; differential equations; initial value problem; integration; integration algorithm; mathematical techniques; ordinary differential equations; program comparison; singularities; singularity; step by step procedure; Taylor series; Taylor series expansions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Aberth:1974:PNA, + author = "Oliver Aberth", + title = "A Precise Numerical Analysis Program", + journal = j-CACM, + volume = "17", + number = "9", + pages = "509--513", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1974.bib", + abstract = "A description is given of a program for computing the solution to a small number of standard numerical analysis problems to any specified accuracy, up to a limit of 2000 correct decimal places. \par Each computed number is bounded in an interval with a multiple precision midpoint. Arithmetic operations involving these numbers are executed according to interval arithmetic concepts, with non-significant digits automatically discarded. Details are supplied of problem specification and problem computation.", + acknowledgement = ack-nhfb, + classcodes = "B0290 (Numerical analysis); C4100 (Numerical analysis); C7310 (Mathematics computing)", + classification = "921", + corpsource = "Texas A and M Univ., College Station, TX, USA", + country = "USA", + descriptors = "Method; realization; numerical method; optimization; information system; program construction; error control; interval arithmetic;", + enum = "3", + journalabr = "Commun ACM", + keywords = "arithmetic; arithmetic operations; error control; interval; interval arithmetic; list structure; mathematical techniques; methods; multiple; multiple precision; natural sciences applications of computers; numerical; numerical analysis; precision midpoint; program; specified accuracy", + language = "English", + references = "11", +} + +@Article{Cheung:1974:IGD, + author = "To-yat. Cheung", + title = "Interactive Graphic Display for Region Partitioning by Linear Programming", + journal = j-CACM, + volume = "17", + number = "9", + pages = "513--516", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Using linear programming, an interactive graphic display system has been implemented to solve the region design problem of partitioning a region into N nonoverlapping subregions in such a way that their areas are in specified proportions and that the total cost of servicing them is a minimum. In a conversational manner, a user can easily obtain different partitionings by specifying and modifying the boundary, the service centers' locations, the area proportions, and the cost functions. Examples are included.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C5540 (Terminals and graphic displays)", + classification = "723; 921", + corpsource = "Univ. Alberta, Edmonton, Alta., Canada", + journalabr = "Commun ACM", + keywords = "area proportions; area specification; boundary; computer graphics; cost; cost functions; interactive graphic display; interactive terminals; linear; linear programming; mathematical programming, linear; minimum; nonoverlapping subregions; of servicing; programming; region design; region partitioning; service centers' locations", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Schkolnick:1974:ERT, + author = "Mario Schkolnick", + title = "The Equivalence of Reducing Transition Languages and Deterministic Languages", + journal = j-CACM, + volume = "17", + number = "9", + pages = "517--519", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "49 8436", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The class of reducing transition languages introduced by Eickel, Paul, Bauer, and Samelson was shown by Morris to be a proper superclass of the simple precedence languages. In this paper this result is extended, showing that, in fact, the first class is equivalent to the class of deterministic context free languages.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; context free languages; context-free languages; deterministic; deterministic context free grammars; deterministic context-free grammars; equivalence; languages; precedence languages; reducing transition languages; superclass; syntax controlled generators", + treatment = "T Theoretical or Mathematical", +} + +@Article{Watkins:1974:AAM, + author = "S. L. Watkins", + title = "{ACM} Algorithm 483: Masked Three-Dimensional Plot Program with Rotations", + journal = j-CACM, + volume = "17", + number = "9", + pages = "520--523", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1973.bib", + note = "See also \cite{Feinstein:1975:RMT}.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6150E (General utility programs)", + corpsource = "Univ. Texas, Austin, TX, USA", + country = "USA", + descriptors = "FORTRAN; graphics; application; method; human factors; diagram manipulation; three-dimensional plot;", + enum = "3241", + keywords = "complete computer programs; computer graphics; masked; plot program; programs; rotations; three dimensional plotting; utility", + keywords = "plotting; three-dimensional plotting", + language = "English", + references = "0", + treatment = "A Application", +} + +@Article{Burrell:1974:AAE, + author = "K. H. Burrell", + title = "{ACM} Algorithm 484: Evaluation of the Modified {Bessel} Functions ${K}_0(z)$ and ${K}_1(z)$ for Complex Arguments", + journal = j-CACM, + volume = "17", + number = "9", + pages = "524--526", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "California Inst. Technol., Pasadena, CA, USA", + keywords = "algorithm; applications of computers; Bessel functions; complex arguments; function evaluation; Gauss-Hermite quadrature; Hankel functions; modified Bessel functions; natural sciences; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Eidson:1974:AAC, + author = "H. D. Eidson and L. L. Schumaker", + title = "{ACM} Algorithm 485: Computation of $g$-Splines via a Factorization Method", + journal = j-CACM, + volume = "17", + number = "9", + pages = "526--530", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Univ. Texas, Austin, TX, USA", + keywords = "approximation; computation; computers; factorization method; FORTRAN subroutines; function approximation; g-splines; Hermite/Birkoff data; interpolating; natural sciences applications of; spline approximation; splines; splines (mathematics); subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Young:1974:FOA, + author = "John W. Young", + title = "A First Order Approximation to the Optimum Checkpoint Interval", + journal = j-CACM, + volume = "17", + number = "9", + pages = "530--531", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + corpsource = "Martin Marietta Corp., Orlando, FL, USA", + keywords = "checkpoint; diagnostics; errors; first order approximation; job failures; minimisation; minimize the cost; operating systems (computers); optimum checkpoint interval; program; programming checkpoint; random", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Shwayder:1974:EIT, + author = "Keith Shwayder", + title = "Extending the Information Theory Approach to Converting Limited-Entry Decision Tables to Computer Programs", + journal = j-CACM, + volume = "17", + number = "9", + pages = "532--537", + month = sep, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper modifies an earlier algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. The algorithms considered in this paper perform limited search and, accordingly, do not necessarily result in globally optimal solutions. There is an analogy between the problem of converting decision tables into efficient flowcharts and the well-understood problem in information theory of noiseless coding. The results of the noiseless coding literature are used to explore the limitations of algorithms used to solve the decision table problem.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "coding; computer programs; computer systems programming; converting; converting decision tables; decision tables; depth of search; flowcharting; flowcharts; information theory approach; limited search; list processing; noiseless channel; noiseless coding; sorting", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Hoare:1974:MOS, + author = "C. A. R. Hoare", + title = "Monitors: An Operating System Structuring Concept", + journal = j-CACM, + volume = "17", + number = "10", + pages = "549--557", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + note = "Erratum in {\em Communications of the ACM}, Vol. 18, No. 2 (February), p. 95, 1975. This paper contains one of the first solutions to the Dining Philosophers problem.", + abstract = "This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule. Illustrative examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the problem of readers and writers.", + acknowledgement = ack-nhfb, + annote = "Monitors", + checked = "7 April 1989", + classcodes = "C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Queen's Univ. Belfast, UK", + journalabr = "Commun ACM", + keywords = "alarm clock; bounded buffer; buffer pool; CACM synchronization communication semaphores; computer operating systems; disc; exclusion; head optimizer; monitors; multiprogramming; mutual; operating system structuring concept; operating systems (computers); proof rule; readers; scheduler; scheduling; semaphores; single resource; structured multiprogramming; structuring; synchronization; writers", + treatment = "A Application; P Practical", +} + +@Article{Shen:1974:WBM, + author = "Kenneth K. Shen and James L. Peterson", + title = "A Weighted Buddy Method for Dynamic Storage Allocation", + journal = j-CACM, + volume = "17", + number = "10", + pages = "558--568 (or 558--562??)", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "See corrigendum \cite{Shen:1975:CWB}.", + abstract = "An extension of the buddy method, called the weighted buddy method, for dynamic storage allocation is presented. The weighted buddy method allows block sizes of $2^k$ and $3(2^k)$, whereas the original buddy method allowed only block sizes of $2^k$. This extension is achieved at an additional cost of only two bits per block. Simulation results are presented which compare this method with the buddy method. These results indicate that for a uniform request distribution, the buddy system has less total memory fragmentation than the weighted buddy algorithm. However, the total fragmentation is smaller for the weighted buddy method when the requests are for exponentially distributed block sizes.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "allocation; buddy; buddy systems; computer operating systems; dynamic storage allocation; exponentially distributed block sizes; file organisation; fragmentation; memory allocation; operating systems (computers); simulation; storage; system; total memory; uniform request distribution; weighted buddy algorithm; weighted buddy method", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Slutz:1974:NCA, + author = "D. R. Slutz and I. L. Traiger", + title = "A note on the calculation of average working set size", + journal = j-CACM, + volume = "17", + number = "10", + pages = "563--565", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Finite-length reference string of arbitrary structure are considered, and an exact expression for average working set size in terms of ``corrected'' interference interval statistics is derived. An example is discussed; upper and lower bounds are obtained; and the average working set size function is shown to be efficiently obtained for a set of page sizes, in a single pass of the reference string. This work follows the developments of a paper by Denning and Schwartz, who consider infinite-length reference strings which satisfy certain statistical properties and who derive an expression relating the asymptotic average working set size to the asymptotic missing page rate function under working set replacement.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "IBM, San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "arbitrary structure; average working set size; computer operating systems; data structures; finite length reference string; interference interval statistics; operating systems (computers); page; paging; program behaviour; sizes; storage; virtual; working set model", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Shneiderman:1974:SDS, + author = "Ben Shneiderman and Peter Scheuermann", + title = "Structured Data Structures", + journal = j-CACM, + volume = "17", + number = "10", + pages = "566--574", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Programming systems which permit arbitrary linked list structures enable the user to create complicated structures without sufficient protection. Deletions can result in unreachable data elements, and there is no guarantee that additions will be performed properly. To remedy this situation, this paper proposes a data structure description and manipulation language which provides for the creation of a restricted class of data structures but ensures the correctness of the program. This is accomplished by an explicit structure declaration facility, a restriction on the permissible operations, and execution-time checks.", + acknowledgement = ack-nhfb, + annote = "Operations on linked structures.", + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Indiana Univ., Bloomington, IN, USA", + journalabr = "Commun ACM", + keywords = "arbitrary linked list; base management system; data; data processing; Data Structure Description and Manipulation; data structures; execution; explicit structure declaration facility; Language; storage management; structured data structures; structured programming; structures; time checks", + treatment = "A Application; P Practical", +} + +@Article{Canaday:1974:BEC, + author = "R. H. Canaday and R. D. Harrison and E. L. Ivie and J. L. Ryder and L. A. Wehr", + title = "A Back-end Computer for Data Base Management", + journal = j-CACM, + volume = "17", + number = "10", + pages = "575--583 (or 575--582??)", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "It is proposed that the data base management function be placed on a dedicated back-end computer which accepts commands (in a relatively high level language such as the CODASYL Data Base Task Group, April 1971 Report) from a host computer, accesses the data base on secondary storage, and returns results. The advantages of such a configuration are discussed. An experimental implementation, called the Experimental Data Management System, XDAMS, is described and certain conclusions about the back-end approach are drawn from this implementation.", + acknowledgement = ack-nhfb, + annote = "Physical separation of data base management from data processing to gain flexibility, etc. in the XDMS system.", + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Bell Telephone Labs. Inc., Piscataway, NJ, USA", + journalabr = "Commun ACM", + keywords = "data processing", + keywords = "back end computer; computer configurations; computer networks; data base management; Data base Task; digital communication systems; eXperimental Data Management System; Group Language; host computer; secondary storage; storage management", + treatment = "A Application; P Practical", +} + +@Article{Charnes:1974:GTP, + author = "A. Charnes and W. M. Raike and J. D. Stutz and A. S. Walters", + title = "On Generation of Test Problems for Linear Programming Codes", + journal = j-CACM, + volume = "17", + number = "10", + pages = "583--587 (or 583--586??)", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents a theoretical justification and an illustrative implementation of a method for generating linear programming test problems with known solutions. The method permits the generation of test problems that are of arbitrary size and have a wide range of numerical characteristics.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6130 (Data handling techniques)", + classification = "723; 921", + corpsource = "Univ. Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "accuracy; codes; computer programming; data handling; large; linear programming; linear programming codes; LP; LP program validation; mathematical programming, linear; program evaluation; scale linear programming codes; test problem generation; test problems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Veillon:1974:AAN, + author = "F. Veillon", + title = "{ACM} Algorithm 486: Numerical Inversion of {Laplace} Transform", + journal = j-CACM, + volume = "17", + number = "10", + pages = "587--589 (or 587--588??)", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Koppelaar:1976:RNI,Veillon:1977:RNI}.", + acknowledgement = ack-nhfb, + classcodes = "B0230 (Integral transforms); C1130 (Integral transforms); C7310 (Mathematics computing)", + corpsource = "Univ. Grenoble, France", + keywords = "computers; inversion; Laplace transform; Laplace transforms; natural sciences applications of; numerical inversion; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Koppelaar:1974:CRA, + author = "H. Koppelaar", + title = "Certification and remark on algorithm 191", + journal = j-CACM, + volume = "17", + number = "10", + pages = "589--590", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Utrecht State Univ., Netherlands", + keywords = "algorithm; hypergeometric; improvements; inefficiency; natural sciences applications of computers; subroutines", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Proll:1974:CRQ, + author = "L. G. Proll", + title = "A computer routine for quadratic and linear programming problems", + journal = j-CACM, + volume = "17", + number = "10", + pages = "590--590", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "Univ. Leeds, UK", + keywords = "algorithm; computer routine; computers; linear programming; natural sciences applications of; programming; quadratic and linear; quadratic programming; subroutines", + treatment = "T Theoretical or Mathematical", +} + +@Article{Klemes:1974:RFM, + author = "J. Klemes and J. Klemsa", + title = "{Rosenbrock} function minimization", + journal = j-CACM, + volume = "17", + number = "10", + pages = "590--591", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C7310 (Mathematics computing)", + corpsource = "CHEPOS, Brno, Czechoslovakia", + keywords = "algorithm; minimisation; natural sciences applications of computers; Rosenbrock function minimization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Krogh:1974:EEI, + author = "Fred T. Krogh", + title = "Errata: ``{Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares}''", + journal = j-CACM, + volume = "17", + number = "10", + pages = "591--591", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue May 28 14:52:27 1996", + note = "See \cite{Krogh:1974:EIV}.", + acknowledgement = ack-nhfb, +} + +@Article{Gilchrist:1974:EFP, + author = "Bruce Gilchrist and Richard E. Weber", + title = "Enumerating Full-Time Programmers", + journal = j-CACM, + volume = "17", + number = "10", + pages = "592--593", + month = oct, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Thu Jan 16 19:52:47 MST 1997", + bibsource = "Compendex database", + abstract = "Data from the 1970 Census and the Department of Labor's Area Wage Surveys are used to derive estimates of the number of full-time programmers employed during the years 1969 through 1973. The 1973 figure of 180,000 is considerably less than suggested in earlier reports. It is recommended that educational administrators consider whether the many courses aimed at training programmers are justified on a vocational basis.", + acknowledgement = ack-nhfb, + classification = "723; 912", + journalabr = "Commun ACM", + keywords = "computer programming", +} + +@Article{Sterling:1974:GHC, + author = "Theodor D. Sterling", + title = "Guidelines for Humanizing Computerized Information Systems, {A} Report from Stanley House", + journal = j-CACM, + volume = "17", + number = "11", + pages = "609--613", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This report is the result of an intensive analysis of conditions that may humanize or dehumanize participants in various computerized systems. The guidelines presented here were generated during a week-long workshop sponsored in August 1973 by Canada Council at Canada Council's Stanley House.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C7100 (Business and administration)", + classification = "723; 901", + corpsource = "Simon Fraser Univ., Burnaby, BC, Canada", + journalabr = "Commun ACM", + keywords = "computerized information systems; economic and sociological effects; guidelines; humanizing; information retrieval systems; management information; systems", + treatment = "G General Review", +} + +@Article{Ferrari:1974:ILC, + author = "Domenico Ferrari", + title = "Improving Locality by Critical Working Sets", + journal = j-CACM, + volume = "17", + number = "11", + pages = "614--620", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/cache.bib", + abstract = "A new approach to program locality improvement via restructuring is described. The method is particularly suited to those systems where primary memory is managed according to a working set strategy. It is based on the concept of critical working set, a working set which does not contain the next memory reference. The data the method operates upon are extracted from a trace of the program to be restructured. It is shown that, except in some special cases, the method is not optimum. However, the experimental results obtained by using the method to restructure an interactive text editor and the file system module of an operating system have shown its substantial superiority over the other methods proposed in the literature.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; critical working set; dynamic restructuring; file organisation; improvement; locality; memory hierarchies; multiprogramming; program restructuring; program segmentation; restructuring; restructuring techniques; static; virtual memory; working set strategy", + treatment = "P Practical", +} + +@Article{Miller:1974:LPS, + author = "Perry Lowell Miller", + title = "A locally-organized parser for spoken input", + journal = j-CACM, + volume = "17", + number = "11", + pages = "621--630", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes LPARS, a locally-organized parsing system, designed for use in a continuous speech recognizer. LPARS processes a string of phonemes which contains ambiguity and error. The system is locally-organized in the sense that it builds local parse structures from reliable word candidates recognized anywhere in an input utterance. These local structures are used as ``islands of reliability'' to guide the search for more highly garbled words which might complete the utterance.", + acknowledgement = ack-nhfb, + classcodes = "C5530 (Pattern recognition and computer vision equipment)", + classification = "723; 751", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "augmented; local parsing; parsing; speech recognition; speech understanding; transition networks", + treatment = "P Practical", +} + +@Article{Rader:1974:MCS, + author = "Gary M. Rader", + title = "Method for Composing Simple Traditional Music by Computer", + journal = j-CACM, + volume = "17", + number = "11", + pages = "631--638", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method is described for composing musical rounds by computer. This method uses some music theory plus additional heuristics. Fundamental to the method is a set of productions together with sets of applicability rules and weight rules which operate on the productions deciding when and to what extent they are available for use. Several rounds generated by the computer implementation of the method are presented. Generally, the resultant music sounds mediocre to the professional although usually pleasing to the layman. It appears that full-blown music theory is not needed for rounds --- all the hardware required for structural levels is not necessary for these pieces. The author has tried to address both musicians and computer scientists.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7820 (Humanities computing)", + classification = "461; 723; 912", + corpsource = "Univ. Pennsylvania, Philadelphia, PA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; computer composition; computer music; formal; heuristic programming; humanities; languages; models of cognitive processes; music theory; probabilistic grammars; systems science and cybernetics; traditional musical rounds", + treatment = "A Application; P Practical", +} + +@Article{Freiburghouse:1974:RAU, + author = "R. A. Freiburghouse", + title = "Register Allocation via Usage Counts", + journal = j-CACM, + volume = "17", + number = "11", + pages = "638--642", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "This paper introduces the notion of usage counts, shows how usage counts can be developed by algorithms that eliminate redundant computations, and describes how usage counts can provide the basis for register allocation. The paper compares register allocation based on usage counts to other commonly used register allocation techniques, and presents evidence which shows that the usage count technique is significantly better than these other techniques.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation)", + classification = "723", + corpsource = "Honeywell Information Systems Inc., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "common subexpressions; compilers; computations; computer programming; demand paging; languages; optimization; programming; redundant; register allocation; storage allocation; usage counts; virtual memory", + treatment = "P Practical", +} + +@Article{Dijkstra:1974:SSS, + author = "E. W. Dijkstra", + title = "Self-stabilizing Systems in Spite of Distributed Control", + journal = j-CACM, + volume = "17", + number = "11", + pages = "643--644", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/traces.bib", + acknowledgement = ack-nhfb, + classcodes = "C4220 (Automata theory); C6150J (Operating systems)", + corpsource = "Burroughs Corp., Nuenen, Netherlands", + keywords = "(computers); automata theory; distributed control; error recovery; fault tolerant computing; harmonious cooperation; multiprocessing; mutual exclusion; networks; operating systems; robustness; self repair; self stabilization; sharing; synchronization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brown:1974:ODM, + author = "J. A. Brown and B. Werner", + title = "An on-site data management system application in field archaeology", + journal = j-CACM, + volume = "17", + number = "11", + pages = "644--646", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7820 (Humanities computing)", + corpsource = "Northwestern Univ., Evanston, IL, USA", + keywords = "APL-PLUS; archaeology; data management system; field archaeology; file organisation; on site; prehistoric site; retrieval systems", + treatment = "A Application; P Practical", +} + +@Article{Hanson:1974:STR, + author = "D. R. Hanson", + title = "A simple technique for representing strings in {Fortran IV}", + journal = j-CACM, + volume = "17", + number = "11", + pages = "646--647", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation); C6140D (High level languages)", + corpsource = "Univ. Arizona, Tucson, AZ, USA", + keywords = "data structures; FORTRAN; FORTRAN IV; programming; representing strings; string processing; structured", + treatment = "P Practical", +} + +@Article{VanRijsbergen:1974:BPD, + author = "C. J. {Van Rijsbergen}", + title = "The best-match problem in document retrieval", + journal = j-CACM, + volume = "17", + number = "11", + pages = "648--649", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + corpsource = "Monash Univ., Clayton, Vic., Australia", + keywords = "best match; classification; clustering; dissimilarity; document retrieval; file searching; hierarchy; information retrieval; matching", + treatment = "T Theoretical or Mathematical", +} + +@Article{Evans:1974:MEL, + author = "R. V. Evans", + title = "Multiple exits from a loop using neither {GO TO} nor labels", + journal = j-CACM, + volume = "17", + number = "11", + pages = "650--650", + month = nov, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "ICL Dataskil, Reading, UK", + keywords = "control structures; exit statement; GO TO; go to free programming; labels; multiple exits from loops; programming", + treatment = "P Practical", +} + +@Article{Knuth:1974:CPA, + author = "Donald E. Knuth", + title = "Computer Programming as an Art", + journal = j-CACM, + volume = "17", + number = "12", + pages = "667--673", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "French translation, with three supplementary paragraphs, in {\sl L'Informatique Nouvelle}, No.\ 64 (June 1975), 20--27. Japanese translation by Makoto Arisawa in {\sl bit\/ \bf 7} (1975), 434--444; reprinted in {\sl Kunusu Sensei no Program-Ron\/} (see under Books), 2--19. English version reprinted with the supplementary paragraphs in {\sl ACM Turing Award Lectures: The First Twenty Years} (New York: ACM Press, 1987), 33--46; reprinted with corrections in \cite[pp.~1--16]{Knuth:1992:LP}. Russian translation by V. V. Martyn\t iuk in {\sl Lektsii laureatov premii T'\t\i uringa\/} (Moscow: Mir, 1993), 48--64.", + abstract = "Discussion emphasizes that computer programming is an art as well as a science.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "art; computer; computer programming; programming; quality", + treatment = "G General Review; P Practical", +} + +@Article{Press:1974:AMC, + author = "Laurance I. Press", + title = "Arguments for a Moratorium on the Construction of a Community Information Utility", + journal = j-CACM, + volume = "17", + number = "12", + pages = "674--678", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In this article the author urges a prudent and decentralized approach to the question of the design and desirability of computerized community information utilities. Current proposals for community information utilities are examined in this framework, and the conclusion is drawn that society is not yet in a position to justify either the construction of an information utility in a prototype community or the acceptance of a policy in favor of its widespread implementation.", + acknowledgement = ack-nhfb, + classcodes = "C7210 (Information services and centres)", + classification = "723", + corpsource = "Univ. Southern California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "community information utility; construction; decentralized; demand; design; desirability; effects; feasibility; information services; side; techniques; users; world view", + treatment = "G General Review", +} + +@Article{Strauss:1974:AMH, + author = "J. C. Strauss", + title = "An analytic model of the {Hasp} execution task monitor", + journal = j-CACM, + volume = "17", + number = "12", + pages = "679--685", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simple analytic model has been developed for investigating the effects of the HASP Execution Task Monitor on the performance of a multiprogramming system. A specific example is worked through in detail, and numerical results are reported. The model demonstrates the effect of the HETM priority algorithm and permits the evaluation of possible modifications to the algorithm.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)", + classification = "723", + corpsource = "Washington Univ., St. Louis, MO, USA", + journalabr = "Commun ACM", + keywords = "(computers); analytic model; computer selection and evaluation; computer systems programming; dispatching; execution task monitor; HASP; hasp execution task monitor; operating systems; OS/360; performance evaluation; scheduling", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Adam:1974:CLS, + author = "Thomas L. Adam and K. M. Chandy and J. R. Dickson", + title = "A Comparison of List Schedules for Parallel Processing Systems", + journal = j-CACM, + volume = "17", + number = "12", + pages = "685--690", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/OVR.bib", + abstract = "The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks is studied. Cases where task execution times are deterministic and others in which execution times are random variables are analyzed. It is shown that different algorithms suggested in the literature vary significantly in execution time and that the B-schedule of Coffman and Graham is near-optimal. A dynamic programming solution for the case in which execution times are random variables is presented.", + acknowledgement = ack-nhfb, + classcodes = "C5400 (Analogue and digital computers and systems); C6150J (Operating systems)", + classification = "722", + corpsource = "Univ. Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "comparison; computer systems, digital; dynamic programming; list schedules; list scheduling; optimisation; optimization; parallel processing; parallel processing systems; precedence graphs; scheduling", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wallace:1974:CGG, + author = "N. D. Wallace", + title = "Computer Generation of Gamma Random Variates with Non-Integral Shape Parameters", + journal = j-CACM, + volume = "17", + number = "12", + pages = "691--695", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "51 11920", + mrreviewer = "R. R. Coveyou", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + abstract = "When the shape parameter, alpha, is integral, generating gamma random variables with a digital computer is straightforward. There is no simple method for generating gamma random variates with non-integral shape parameters. A common procedure is to approximately generate such random variables by the use of the so-called probability switch method. Another procedure, which is exact, is due to Joehnk. This paper presents a rejection method for exactly generating gamma random variables when alpha is greater than 1. The efficiency of the rejection method is shown to be better than the efficiency of M. D. Joehnk's method. The paper concludes that when alpha is non-integral, the following mix of procedures yields the best combination of accuracy and efficiency: (1) when alpha is less than 1, use Joehnk's method; (2) when 1 is less than alpha and alpha is less than 5, use the rejection method; (3) when alpha is greater than 5, use the probability switch method.", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + classification = "922", + corpsource = "Southern Illinois Univ., Edwardsville, IL, USA", + country = "USA", + descriptors = "RVG;", + enum = "8007", + journalabr = "Commun ACM", + keywords = "computer generation; gamma random variables; probability; probability distribution; random number generation; random numbers; simulation", + language = "English", + location = "SEL: Wi", + references = "0", + revision = "16/01/94", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Salazar:1974:GFS, + author = "A. Salazar and R. V. Oakford", + title = "A Graph Formulation of a School Scheduling Algorithm", + journal = j-CACM, + volume = "17", + number = "12", + pages = "696--698", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35", + MRnumber = "51 12313", + mrreviewer = "I. Gh. Ciobanu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + note = "See \cite{Korfhage:1975:SO,Korfhage:1975:MSO,Garey:1975:SO}.", + abstract = "The problem classically titled ``The Examination Schedule Problem'' takes various forms in the literature. Most of these formulations can be presented in the terminology of classical Network Theory. \par One such formulation is: Given a nondirected network, partition its nodes into a minimal number of subsets such that no two members of the same subset are connected by an arc. An obvious lower limit to this number is the size of the largest strongly connected subgraph. Kirchgassner proved that an upper limit is this size plus one. One logical extension of the previous work is the introduction of variable length examinations where $W(I)$ is the number of periods for exam $I$. The object of this paper is to generalize the definition of largest strongly connected subgraph to include the weighting of nodes, to present an approximate algorithm which usually finds the largest strongly connected subgraph, and to discuss the application of this algorithm to the solution of school scheduling and exam scheduling problems.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C1290F (Systems theory applications in industry)C7110 (Educational administration)", + classification = "723; 921", + corpsource = "Stanford Univ., CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; data processing; educational administrative data processing; examination; examination scheduling; graph; graph coloring; graph theory; mathematical techniques --- Graph Theory; nondirected network; scheduling; school; school scheduling; strongly connected; strongly connected subgraph; subgraph", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Chu:1974:EMS, + author = "Sherwood C. Chu and Mones Berman", + title = "An Exponential Method for the Solution of Systems of Ordinary Differential Equations", + journal = j-CACM, + volume = "17", + number = "12", + pages = "699--702", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65L99", + MRnumber = "51 4685", + mrreviewer = "W. H. Enright", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An explicit, coupled, single-step method for the numerical solution of initial value problems for systems of ordinary differential equations is presented. \par The method was designed to be general purpose in nature but to be especially efficient when dealing with stiff systems of differential equations. It is, in general, second order except for the case of a linear system with constant coefficients and linear forcing terms; in that case, the method is third order. It has been implemented and put to routine usage in biological applications-where stiffness frequently appears-with favorable results. When compared to a standard fourth order Runge-Kutta implementation, computation time required by this method has ranged from comparable for certain nonstiff problems to better than two orders of magnitude faster for some highly stiff systems.", + acknowledgement = ack-nhfb, + classcodes = "B0290P (Differential equations); C4170 (Differential equations)", + classification = "921", + corpsource = "Nat. Cancer Inst., Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "boundary-value problems; initial; initial value problems; mathematical techniques; numerical methods; numerical solution; ordinary differential equations; stiff systems; value problems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Pomeranz:1974:AAE, + author = "J. Pomeranz", + title = "{ACM} Algorithm 487: Exact Cumulative Distribution of the {Kolmogorov-Smirnov} Statistic for Small Samples", + journal = j-CACM, + volume = "17", + number = "12", + pages = "703--704", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Pomeranz:1976:REC}.", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Purdue Univ., West Lafayette, IN, USA", + keywords = "algorithm; exact cumulative distribution; FORTRAN; Kolmogorov Smirnov test; natural sciences applications of computers; small samples; statistic; statistics; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Brent:1974:AAG, + author = "R. P. Brent", + title = "{ACM} Algorithm 488: {A} {Gaussian} pseudo-random number generator [{G5}]", + journal = j-CACM, + volume = "17", + number = "12", + pages = "704--706 (or 704--705??)", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + acknowledgement = ack-nhfb, + classcodes = "C7890 (Other special applications of computing)", + corpsource = "Australian Nat. Univ., Canberra, Australia", + country = "USA", + descriptors = "RVG;", + enum = "7061", + keywords = "distribution; FORTRAN; Gaussian; generator; GRAND; normal distribution; pseudo random numbers; random number generation; random numbers; subroutines", + language = "English", + location = "SEL: Wi", + references = "0", + revision = "16/01/94", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Skinner:1974:HAI, + author = "C. William Skinner", + title = "Heuristic Approach to Inductive Inference in Fact Retrieval Systems", + journal = j-CACM, + volume = "17", + number = "12", + pages = "707--712", + month = dec, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Heuristic procedures are presented which have been developed to perform inferences by generalizing from available information. The procedures make use of a similarity structure which is imposed on the data base using nonnumerical clustering algorithms. They are implemented in a model fact retrieval system which uses a formal query language and a property-list data structure. A program of experiments is described wherein the procedures are used with test data bases which are altered by deleting part of the data and by purposely introducing false data. It is found that the system can infer the correct response under a variety of conditions involving incomplete and inconsistent data.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7100 (Business and administration); C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "North Carolina State Univ., Raleigh, NC, USA", + journalabr = "Commun ACM", + keywords = "clustering; fact retrieval; file organisation; formal query language; heuristic programming; heuristics; inductive; inference; information; information retrieval systems; management information systems; retrieval systems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Mitra:1974:SAH, + author = "D. Mitra", + title = "Some Aspects of Hierarchical Memory Systems", + journal = j-CACM, + volume = "21", + number = "1", + pages = "54--65", + month = jan, + year = "1974", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + keywords = "memory hierarchy; Performance Evaluation: Analytic", +} + +@Article{Millstein:1975:CSI, + author = "R. E. Millstein", + title = "Control Structures in {Illiac IV Fortran}", + journal = j-CACM, + volume = "6", + number = "10", + pages = "157--164", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Sep 20 22:19:34 1994", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", +} + +@Article{Sterling:1975:CHL, + author = "T. Sterling and V. Lum and N. Shu and B. Housel", + title = "{\em CONVERT\/}: {A} High Level Translation Definition Language for Data Conversion", + journal = j-CACM, + volume = "8", + number = "10", + pages = "557--567", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Mon Feb 12 14:34:00 1996", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib", + abstract = "This paper describes a high level and nonprocedural translation definition language, CONVERT, which provides very powerful and highly flexible data restructuring capabilities. Its design is based on the simple underlying concept of a form which enables the users to visualize the translation processes, and thus makes data translation a much simpler task. ``CONVERT'' has been chosen for conveying the purpose of the language and should not be confused with any other language or program bearing the same name.", + annote = "A full description of the CONVERT language is given. It is fairly complete, and dealt well with record oriented systems. A good set of examples is given.", + keywords = "data conversion; data restructuring; data translation; database reorganization; nonprocedural languages; programming languages; translation definition; utility program", + owner = "curtis", +} + +@Article{Finerman:1975:PCF, + author = "Aaron Finerman", + title = "Professionalism in the Computing Field", + journal = j-CACM, + volume = "18", + number = "1", + pages = "4--9", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Each of the four types of institutions --- academic, industry, government, and the professional society --- that educate, employ, regulate, and mold the practitioner contributes to the ``nonprofessional'' status of the computing practitioner. The roles of these institutions are examined, various shortcomings are noted, and recommended changes are suggested.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + classification = "723; 912", + corpsource = "State Univ. of New York, Stony Brook, NY, USA", + journalabr = "Commun ACM", + keywords = "academic; computers; computing; computing practitioner; economic and sociological effects; education; educational programmes; employment; government; industry; professional society; professionalism; social standards; technical standards", + treatment = "G General Review; P Practical", +} + +@Article{Bauer:1975:PN, + author = "F. L. Bauer", + title = "Positivity and Norms", + journal = j-CACM, + volume = "18", + number = "1", + pages = "9--13", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F35 (15A60 47A30)", + MRnumber = "54 6476", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles honoring {Alston S. Householder}.", + abstract = "Following some lines of joint work with A. S. Householder, the character and use of algebraic methods in the theory of norms is demonstrated. New results concerning norms with values in an Archimedian vector lattice (not necessarily being totally ordered) are given, in particular for the generalization of order unit norms, L-norms and M-norms. An example of application to operator norms is given concerning contraction properties of positive operators.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "Math. Inst., Tech. Univ. of Munich, Munich, West Germany", + journalabr = "Commun ACM", + keywords = "absolute; algebraic methods; Archimedian vector lattice; contraction; L norms; M norms; mathematical techniques; matrices; matrix algebra; methods; monotonic; norms; numerical; numerical methods; numerical range; operator norms; order; positive operators; positivity; positivity cones; properties; unit norms; vector lattice; vectors", + treatment = "T Theoretical or Mathematical", +} + +@Article{Todd:1975:LC, + author = "John Todd", + title = "The Lemniscate Constants", + journal = j-CACM, + volume = "18", + number = "1", + pages = "14--19", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D20", + MRnumber = "51 11935", + mrreviewer = "L. Fox", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{Todd:1975:CLC}.", + abstract = "The lemniscate constants, and indeed some of the methods used for actually computing them, have played an enormous part in the development of mathematics. An account is given here of some of the methods used --- most of the derivations can be made by elementary methods. This material can be used for teaching purposes, and there is much relevant and interesting historical material. The acceleration methods developed for the purpose of evaluating these constants are useful in other problems.", + acknowledgement = ack-nhfb, + classcodes = "B0290D (Functional analysis); B0290Z (Other numerical methods); C4120 (Functional analysis); C4190 (Other numerical methods)", + classification = "921", + corpsource = "California Inst. of Technol., Pasadena, CA, USA", + journalabr = "Commun ACM", + keywords = "acceleration; acceleration methods; elliptic functions; Euler transformation; function evaluation; lemniscate; lemniscate constants; mathematical techniques; mathematics; transforms", + treatment = "B Bibliography; T Theoretical or Mathematical", +} + +@Article{Peters:1975:SGJ, + author = "G. Peters and J. H. Wilkinson", + title = "On the Stability of {Gauss-Jordan} Elimination with Pivoting", + journal = j-CACM, + volume = "18", + number = "1", + pages = "20--24", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F05 (65G05)", + MRnumber = "51 7261", + mrreviewer = "L. B. Rall", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles honoring {Alston S. Householder}", + abstract = "The stability of the Gauss-Jordan algorithm with partial pivoting for the solution of general systems of linear equations is commonly regarded as suspect. \par It is shown that in many respects suspicions are unfounded, and in general the absolute error in the solution is strictly comparable with that corresponding to Gaussian elimination with partial pivoting plus back substitution. However, when A is ill conditioned, the residual corresponding to the Gauss-Jordan solution will often be much greater than that corresponding to the Gaussian elimination solution.", + acknowledgement = ack-nhfb, + classcodes = "B0290B (Error analysis in numerical methods); B0290H (Linear algebra); C4110 (Error analysis in numerical methods); C4140 (Linear algebra)", + classification = "921", + corpsource = "Nat. Phys. Lab., Teddington, UK", + journalabr = "Commun ACM", + keywords = "back-substitution; backward error analysis; bound for residual; bounds for error in solution; Gauss-Jordan algorithm; Gaussian elimination; mathematical techniques", + keywords = "absolute error; elimination; error analysis; Gauss Jordan algorithm; Gauss/Jordan; Gaussian elimination; linear algebra; linear equations; numerical methods; stability", + treatment = "T Theoretical or Mathematical", +} + +@Article{Birkhoff:1975:THN, + author = "Garrett Birkhoff", + title = "Two {Hadamard} Numbers for Matrices", + journal = j-CACM, + volume = "18", + number = "1", + pages = "25--29", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F35", + MRnumber = "51 9464", + mrreviewer = "John Todd", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles honoring {Alston S. Householder}.", + abstract = "A discussion is given of two functions of the entries of a square matrix, both related to Hadamard's determinant theorem, which have some merits as alternatives to norm-bound ``condition numbers''. One (for linear systems) is known; the other (for eigensystems) seems to be new.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "condition numbers; eigen systems; eigenvalues; error analysis; Gram-Schmidt orthogonalization; Gram/Schmidt organisation; Hadamard numbers; Hadamard's determinant; linear systems; mathematical techniques; matrices; matrix algebra; norm bound 'condition numbers'; norms; square matrix; theorem", + treatment = "T Theoretical or Mathematical", +} + +@Article{vanderSluis:1975:PEN, + author = "A. {van der Sluis}", + title = "Perturbations of Eigenvalues of Non-Normal Matrices", + journal = j-CACM, + volume = "18", + number = "1", + pages = "30--36", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F15", + MRnumber = "51 9457a", + mrreviewer = "Jan Zitko", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/gvl.bib", + note = "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{vanderSluis:1975:CPE}.", + abstract = "The problem considered is to give bounds for finite perturbations of simple and multiple eigenvalues $lambda_i$ of nonnormal matrices, where these bounds are in terms of the eigenvalues $\{\lambda_i\}$, the departure from normality $\sigma$, and the Frobenius norm of the perturbation matrix, but not in terms of the eigensystem. The bounds which are derived are shown to be almost attainable for any set of all matrices of given $\{\lambda_i\}$ and $\sigma$.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "Univ. of Utrecht, Utrecht, Netherlands", + journalabr = "Commun ACM", + keywords = "circles; departure from normality; eigenvalues; eigenvalues and eigenfunctions; Frobenius norm; Gershgorin; Gershgorin circles; mathematical techniques; matrix algebra; non-normal matrices; nonnormal matrices; perturbation of eigenvalues; perturbations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Marcus:1975:EDT, + author = "Marvin Marcus and Herbert Robinson", + title = "Elementary Divisors of Tensor Products", + journal = j-CACM, + volume = "18", + number = "1", + pages = "36--39", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "15A69", + MRnumber = "51 571", + mrreviewer = "George P. Barker", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The elementary divisors of a tensor product of linear transformations have been known for 40 years. This paper provides a short, easily accessible proof of these results, and points out an interesting combinatorial consequence of the proof.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "Univ. of California, Santa Barbara, CA, USA", + journalabr = "Commun ACM", + keywords = "combinatorial; combinatorial mathematics; consequence; elementary divisors; linear transformations; mathematical techniques; matrix algebra; tensor products; tensors", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hestenes:1975:PCG, + author = "Magnus R. Hestenes", + title = "Pseudoinverses and Conjugate Gradients", + journal = j-CACM, + volume = "18", + number = "1", + pages = "40--43", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F20", + MRnumber = "51 2269", + mrreviewer = "G. Maess", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + note = "Collection of articles honoring {Alston S. Householder}", + abstract = "This paper is devoted to the study of connections between pseudoinverses of matrices and conjugate gradients and conjugate direction routines.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "cg; conjugate direction routines; conjugate gradients; ginv; hermitian matrix; mathematical techniques; matrices; matrix algebra; minimisation; minimization; nla; pseudoinverse; pseudoinverses", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mills:1975:NMC, + author = "Harlan D. Mills", + title = "The New Math of Computer Programming", + journal = j-CACM, + volume = "18", + number = "1", + pages = "43--48", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "51 2333a", + mrreviewer = "E. Ikaunieks", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib", + note = "Collection of articles honoring {Alston S. Householder}. See corrigendum \cite{Mills:1975:CNM}.", + abstract = "Structured programming has proved to be an important methodology for systematic program design and development. Structured programs are identified as compound function expressions in the algebra of functions. The algebraic properties of these function expressions permit the reformulation (expansion as well as reduction) of a nested subexpression independently of its environment, thus modeling what is known as stepwise program refinement as well as program execution. Finally, structured programming is characterized in terms of the selection and solution of certain elementary equations defined in the algebra of functions. These solutions can be given in general formulas, each involving a single parameter, which display the entire freedom available in creating correct structure programs.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723; 921", + corpsource = "IBM Federal Systems Div., Owego, NY, USA", + journalabr = "Commun ACM", + keywords = "algebraic properties; compound; computer metatheory; computer programming; function expressions; mathematical techniques; program correctness; program execution; programming; programming theory; structured; systematic program design", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chen:1975:SER, + author = "Tien Chi Chen and Irving T. Ho", + title = "Storage-Efficient Representation of Decimal Data", + journal = j-CACM, + volume = "18", + number = "1", + pages = "49--52", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94A15 (68A20)", + MRnumber = "50 16105", + mrreviewer = "R. N. Goss", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt", + note = "Collection of articles honoring {Alston S. Householder}", + abstract = "Usually n decimal digits are represented by 4n bits in computers. Actually, two BCD digits can be compressed optimally and reversibly into 7 bits, and three digits into 10 bits, by a very simple algorithm based on the fixed-length combination of two variable field-length encodings. In over half of the cases the compressed code results from the conventional BCD code by simple removal of redundant 0 bits. A long decimal message can be subdivided into three-digit blocks, and separately compressed; the result differs from the asymptotic minimum length by only 0.34 percent. The hardware requirement is small, and the mappings can be done manually.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "722; 921", + corpsource = "IBM San Jose Res. Lab., CA, USA", + journalabr = "Commun ACM", + keywords = "data storage units; mathematical techniques --- Digital Arithmetic", + keywords = "asymptotic minimum; binary coded decimal; codes; compressed code; data compression; decimal data; fixed length combination; hardware; length; length encodings; representation; storage efficient; variable field", + treatment = "T Theoretical or Mathematical", +} + +@Article{Liniger:1975:CBA, + author = "Werner Liniger", + title = "Connections Between Accuracy and Stability Properties of Linear Multistep Formulas", + journal = j-CACM, + volume = "18", + number = "1", + pages = "53--56", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65L05", + MRnumber = "51 2291", + mrreviewer = "Ian Gladwell", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Collection of articles honoring {Alston S. Householder}", + abstract = "This paper is concerned with stability and accuracy of families of linear $k$-step formulas depending on parameters, with particular emphasis on the numerical solution of stiff ordinary differential equations. \par An upper bound, $p=k$, is derived for the order of accuracy of $A(\infty)$-stable formulas. Three criteria are given for A$(0)$-stability. It is shown that (1) for $p=k$, $k$ arbitrary, $A(\infty)$-stability implies certain necessary conditions for $A(0)$-stability and for strict stability (meaning that the extraneous roots of $p(\psi)$ satisfy $|\psi|<1)$; (2) for $p=k=2,3,4, \mbox{and} 5$, $A(\infty)$-stability (for $k=5$ together with another constraint) implies strict stability; and (3) for certain one-parameter classes of formulas with $p=k=3,4,\mbox{and/or} 5$, $A(\infty)$-stability implies $A(0)$-stability.", + acknowledgement = ack-nhfb, + classcodes = "B0290B (Error analysis in numerical methods); B0290P (Differential equations); C4110 (Error analysis in numerical methods); C4170 (Differential equations)", + classification = "921", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "A(0)-stability; A(inf)-stability; accuracy; differential equations; error analysis; linear multistep formulas; mathematical techniques; numerical; numerical methods; order of accuracy; parametrised linear multistep formulae; parametrized linear multistep formulas; solution; stability; stiff equations; stiff ordinary differential equations; strict stability", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hanson:1975:SUM, + author = "Richard J. Hanson", + title = "Stably Updating Mean and Standard Deviation of Data", + journal = j-CACM, + volume = "18", + number = "1", + pages = "57--58", + month = jan, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "62-04", + MRnumber = "51 7064", + mrreviewer = "D. J. Evans", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + note = "Collection of articles honoring {Alston S. Householder}", + abstract = "By considering the (sample) mean of a set of data as a fit to this data by a constant function, a computational method is given based on a matrix formulation and Givens transformations. The (sample) mean and standard deviation can be updated as data accumulates. The procedure is numerically stable and does not require storage of the data. Methods for dealing with weighted data and data removal are presented. When updating the mean and square of the standard deviation, the process requires no square roots.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + classification = "921", + corpsource = "Washington State Univ., Pullman, WA, USA", + country = "USA", + descriptors = "Simulation; statistics; numeric calculation;", + enum = "7357", + journalabr = "Commun ACM", + keywords = "data removal; estimation; function approximation; Givens; iterative methods; least squares approximation; mathematical statistics; mathematical techniques; matrix formulation; mean; stably updating; standard deviation; theory; transformations; weighted data", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{McCarthy:1975:PCC, + author = "John McCarthy", + title = "Proposed Criterion for a Cipher to be Probable-Word Proof", + journal = j-CACM, + volume = "18", + number = "2", + pages = "??--??", + month = feb, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:50:16 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + xxnote = "Cannot find in index to volume 18, nor in Compendex, nor in MathSciNet, nor in Zentralblatt f{\"u}r Mathematik, nor in ACM Computing Archive CD-ROM.", +} + +@Article{Burnett:1975:AIM, + author = "G. J. Burnett and E. G. {Coffman, Jr.}", + title = "Analysis of Interleaved Memory Systems Using Blockage Buffers", + journal = j-CACM, + volume = "18", + number = "2", + pages = "91--95", + month = feb, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A model of interleaved memory systems is presented, and the analysis of the model by Monte Carlo simulation is discussed. The simulations investigate the performance of various system structures, i.e., schemes for sending instruction and data requests to the memory system. Performance is measured by determining the distribution of the number of memory modules in operation during a memory cycle.", + acknowledgement = ack-nhfb, + classcodes = "C5310 (Storage system design); C6120 (File organisation)", + classification = "723", + corpsource = "Index Systems Inc., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "blockage buffers; data requests; data storage, digital; file organisation; interleaved memory systems; memory cycle; memory modules; Monte Carlo methods; Monte Carlo simulation; simulation; storage; structures; system; units", + treatment = "T Theoretical or Mathematical", +} + +@Article{Goldman:1975:SPC, + author = "Neil M. Goldman", + title = "Sentence Paraphrasing from a Conceptual Base", + journal = j-CACM, + volume = "18", + number = "2", + pages = "96--106", + month = feb, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A model of natural language generation based on an underlying language-free representation of meaning is described. A program based on this model is able to produce sentence paraphrases which demonstrate understanding with respect to a given context. This generator operates in conjunction with a natural language analyzer and a combined memory and inference model. In generating sentences from meaning structures, the program employs both the information retrieval and deduction capabilities of the memory model.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7820 (Humanities computing)", + classification = "721", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; automata theory; conceptual base; conceptual properties; dictionary; discrimination nets; formal grammar; information retrieval; knowledge; language translation and; linguistics; memory and inference; model; natural language; sentence paraphrasing; surface grammatical; syntactic roles; systems science and cybernetics --- Artificial Intelligence; word sense", + treatment = "X Experimental", +} + +@Article{VanderBrug:1975:SSP, + author = "Gordon J. VanderBrug and Jack Minker", + title = "State-Space, Problem-Reduction, and Theorem Proving --- Some Relationships", + journal = j-CACM, + volume = "18", + number = "2", + pages = "107--115", + month = feb, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A45", + MRnumber = "54 9192", + mrreviewer = "Walter Oberschelp", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib", + abstract = "This paper suggests a bidirectional relationship between state-space and problem-reduction representations. It presents a formalism based on multiple-input and multiple-output operators which provides a basis for viewing the two types of representations in this manner. A representation of the language recognition problem which is based on the J. Cocke parsing algorithm is used as an illustration. A method for representing problems in first-order logic in such a way that the inference system employed by a resolution-based theorem prover determines whether the set of clauses is interpreted in the state-space mode or in the problem-reduction mode is presented.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C1310 (Control system analysis and synthesis methods)", + classification = "461; 731", + corpsource = "Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "systems science and cybernetics", + keywords = "artificial intelligence; Cocke parsing algorithm; first order logic; inference; input-resolution; language recognition problem; linear resolution; multiple input operators; multiple output; operators; problem reduction; proving; resolution based theorem prover; state space; state-space methods; system; theorem; theorem proving", + treatment = "T Theoretical or Mathematical", +} + +@Article{Kimme:1975:FCA, + author = "Carolyn Kimme and Dana Ballard and Jack Sklansky", + title = "Finding Circles by an Array of Accumulators", + journal = j-CACM, + volume = "18", + number = "2", + pages = "120--122", + month = feb, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Reverse.eng.bib", + abstract = "An efficient procedure for detecting approximate circles and approximately circular arcs of varying gray levels in an edge-enhanced digitized picture is described.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C5530 (Pattern recognition and computer vision equipment); C7330 (Biology and medical computing)", + classification = "723; 741", + corpsource = "Univ. of California, Irvine, CA, USA", + journalabr = "Commun ACM", + keywords = "approximate circles; array of accumulators; biomedical applications of computers; circle finding; circular arcs; curve detection; edge enhanced digitised; grey levels; Haugh straight line finder; line fitting; pattern recognition; pattern recognition systems; picture; picture processing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Johnston:1975:MRE, + author = "H. C. Johnston and C. A. R. Hoare", + title = "Matrix Reduction --- an Efficient Method (school timetables)", + journal = j-CACM, + volume = "18", + number = "3", + pages = "141--150", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65K05", + MRnumber = "52 2203", + mrreviewer = "P. Brock", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper describes an efficient method for reduction of the binary matrices which arise in some school time-tabling problems. It is a development of that described by John Lions. It has been generalized and adapted to fit into the complete timetabling process; to use a more compact data representation and more efficient processing techniques; to take fuller advantage of possible available previous knowledge about the matrix. And it is designed as a structured program, which can readily be coded by the reader in the high level or low level programming language of his choice. Practical tests of the method have shown it to be a good basis for a realistic timetabling algorithm.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C7110 (Educational administration)", + classification = "921", + corpsource = "Queen's Univ. of Belfast, UK", + journalabr = "Commun ACM", + keywords = "binary matrices; data representation; educational administrative data processing; high level programming language; low level programming language; mathematical techniques; matrix algebra; matrix reduction; problems; processing techniques; school time tabling; school timetable construction; structured program; structured programming; tight set; timetabling algorithm", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Kernighan:1975:STM, + author = "Brian W. Kernighan and Lorinda L. Cherry", + title = "A System for Typesetting Mathematics", + journal = j-CACM, + volume = "18", + number = "3", + pages = "151--157", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + abstract = "This paper describes the design and implementation of a system for typesetting mathematics. \par The language has been designed to be easy to learn and to use by people (for example, secretaries and mathematical typists) who know neither mathematics nor typesetting. Experience indicates that the language can be learned in an hour or so, for it has few rules and fewer exceptions. For typical expressions, the size and font changes, positioning, line drawing, and the like necessary to print according to mathematical conventions are all done automatically. For example, the input {\tt sum from i=0 to infinity x sub i=pi over 2} produces $\sum_{i=0}^\infty x_i = \pi/2$. The syntax of the language is specified by a small context-free grammar; a compiler-compiler is used to make a compiler that translates this language into typesetting commands. Output maybe produced on either a phototypesetter or on a terminal with forward and reverse half-line motions. The system interfaces directly with text formatting programs, so mixtures of text and mathematics may be handled simply. This paper was typeset by the authors using the system described.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages); C7230 (Publishing and reproduction); C7310 (Mathematics computing)", + classification = "723; 745", + corpsource = "Bell Labs., Holmdel, NJ, USA", + country = "USA", + date = "15/05/84", + descriptors = "Design; realization; command language; graphics language; text processing; graphics; interactive mode;", + enum = "1645", + journalabr = "Commun ACM", + keywords = "compiler-compiler; computer controlled typesetting; computer graphics; computer programming languages; graphics; mathematics; oriented languages; photocomposition; phototypesetter; printing; problem; syntax; terminal; text formatting programs; text processing.; typesetting; typesetting mathematics", + language = "English", + references = "7", + treatment = "A Application; P Practical", +} + +@Article{Lawrie:1975:GPL, + author = "D. H. Lawrie and T. Layman and D. Baer and J. M. Randal", + title = "{GLYPNIR} --- {A} programming language for {Illiac IV}", + journal = j-CACM, + volume = "18", + number = "3", + pages = "157--164", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "GLYPNIR is one of the earliest existing languages designed for programming the Illiac IV computer. The syntax of the language is based on ALGOL 60, but has been extended to allow the programmer explicitly to specify the parallelism of his algorithm in terms of 64-word vectors. This paper describes the characteristics, goals, and philosophy of the language, and discusses some of the problems associated with parallel computer architectures.", + acknowledgement = ack-nhfb, + classcodes = "C5400 (Analogue and digital computers and systems); C6140B (Machine-oriented languages)", + classification = "723", + corpsource = "Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "ALGOL 60; algorithm; computer programming languages; GLYPNIR; GLYPNIR programming; Illiac IV computer; language; machine oriented languages; parallel computer architectures; parallel processing; parallelism; programming language; syntax", + treatment = "G General Review; P Practical", +} + +@Article{Floyd:1975:ETB, + author = "Robert W. Floyd and Ronald L. Rivest", + title = "Expected Time Bounds for Selection", + journal = j-CACM, + volume = "18", + number = "3", + pages = "165--172", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new selection algorithm is presented which is shown to be very efficient on the average, both theoretically and practically. The number of comparisons used to select the $i$-th smallest of $n$ numbers is $n + \min(i,n-i) + o(n)$. A lower bound within 9 percent of the above formula is also derived.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C7310 (Mathematics computing)", + classification = "723", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; bound; computational complexity; computer programming; mathematics; medians; quantiles; selection; selection algorithm; time bounds", + treatment = "T Theoretical or Mathematical", +} + +@Article{Floyd:1975:AAA, + author = "R. W. Floyd and R. L. Rivest", + title = "{ACM} Algorithm 489: The Algorithm {SELECT} -- for Finding the $i$th Smallest of $n$ Elements", + journal = j-CACM, + volume = "18", + number = "3", + pages = "173--173", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Brown:1976:RAS}.", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Computer Sci. Dept., Stanford Univ., Stanford, CA, USA", + keywords = "algorithm SELECT; Hoare's algorithm FIND; mathematics; sampling; subroutines", + treatment = "P Practical", +} + +@Article{Erisman:1975:CCE, + author = "A. M. Erisman and W. F. Tinney", + title = "On Computing Certain Elements of the Inverse of a Sparse Matrix", + journal = j-CACM, + volume = "18", + number = "3", + pages = "177--179", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F05", + MRnumber = "51 14540", + mrreviewer = "L. Hageman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "A recursive algorithm for computing the inverse of a matrix from the LU factors based on relationships in Takahashi, et al., is examined. The formulas for the algorithm are given; the dependency relationships are derived; the computational costs are developed; and some general comments on application and stability are made.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + classification = "921", + corpsource = "Boeing Computer Services, Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "application; computational costs; computing; covar; dependency relationships; elements of inverse; inverse; inverse matrix; mathematical techniques; matrix algebra; nla; recursive algorithm; sensitivities; sparse; sparse matrices; sparse matrix; stability; triangular factorization; tridiagonal matrix", + treatment = "T Theoretical or Mathematical", +} + +@Article{Shampine:1975:DLS, + author = "L. F. Shampine", + title = "Discrete Least Squares Polynomial Fits", + journal = j-CACM, + volume = "18", + number = "3", + pages = "179--180", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65D10", + MRnumber = "51 2247", + mrreviewer = "S. F. McCormick", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The recurrence relation between orthogonal polynomials is widely used for discrete least squares data fitting. A variant of the classical algorithm which has better numerical properties is presented and the reason for its improved performance is explained.", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation)", + classification = "921", + corpsource = "Sandia Labs., Albuquerque, NM, USA", + journalabr = "Commun ACM", + keywords = "algorithm; data fitting; least squares; least squares approximations; least squares polynomial fits; lud; mathematical techniques; orthogonal polynomials; polynomials; recurrence relation between orthogonal polynomials; residual; scale", + treatment = "T Theoretical or Mathematical", +} + +@Article{vanderSluis:1975:CPE, + author = "A. {van der Sluis}", + title = "Corrigendum: {``Perturbations of eigenvalues of non-normal matrices''}", + journal = j-CACM, + volume = "18", + number = "3", + pages = "180", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65F15", + MRnumber = "51 9457b", + mrreviewer = "Jan Zitko", + bibdate = "Tue May 28 16:24:24 1996", + note = "See \cite{vanderSluis:1975:PEN}.", + acknowledgement = ack-nhfb, +} + +@Article{Parnas:1975:SCS, + author = "D. L. Parnas", + title = "On a Solution to the Cigarette Smoker's Problem (Without Conditional Statements)", + journal = j-CACM, + volume = "18", + number = "3", + pages = "181--183", + month = mar, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This report discusses a problem first introduced by Patil, who has claimed that the cigarette smoker's problem cannot be solved using the $P$ and $V$ operations introduced by Dijkstra unless conditional statements are used. An examination of Patil's proof shows that he has established this claim only under strong restrictions on the use of $P$ and $V$. These restrictions eliminate programming techniques used by Dijkstra and others since the first introduction of the semaphore concept. This paper contains a solution to the problem. It also discusses the need for the generalized operators suggested by Patil.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Tech. Hochschule Darmstadt, Darmstadt, West Germany", + journalabr = "Commun ACM", + keywords = "cigarette smoker's problem; co-operating processes; computer operating systems; conditional statements; generalized; operating systems; operating systems (computers); operators; process synchronization primitives; programming techniques; semaphore concept; synchronisation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chambers:1975:CNH, + author = "Jack A. Chambers and Ray V. Poore", + title = "Computer Networks in Higher Education: Socio-Economic-Political Factors", + journal = j-CACM, + volume = "18", + number = "4", + pages = "193--199", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This study presents the results of a nationwide survey of computer networks in higher education conducted during 1971-73. Five major and 18 minor networks were identified. The five major networks included: the ARPA Net, the California State College network, the University of Iowa\slash Iowa State University network, the Michigan Educational Research Information Triad, Inc., and the Triangle Universities Computation Center network in North Carolina. In-depth studies were conducted of the latter two nets. Based on the experiences of these operating networks, a number of factors are identified for consideration in developing networks. Finally, recommendations are advanced regarding the development of networks in higher education in the future.", + acknowledgement = ack-nhfb, + classcodes = "C5400 (Analogue and digital computers and systems); C7110 (Educational administration); C7810C (Computer-aided instruction)", + classification = "722; 723; 901", + corpsource = "Univ. of South Florida, Tampa, FL, USA", + journalabr = "Commun ACM", + keywords = "administrative data processing; ARPA; California State; College network; computer aided instruction; computer networking; computer networks; computer systems, digital --- Time Sharing; data processing; educational; higher education; Michigan Education Research Information Triad Inc; nationwide survey; net; network; social economic and political factors; Triangle; Universities Computation Centre network; University of Iowa/Iowa State University", + treatment = "E Economic", +} + +@Article{Ginsberg:1975:AAD, + author = "E. S. Ginsberg and D. Zaborowski", + title = "{ACM} Algorithm 490: The Dilogarithm Function of a Real Argument", + journal = j-CACM, + volume = "18", + number = "4", + pages = "200--202", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See also \cite{Morris:1976:RDF}.", + acknowledgement = ack-nhfb, + classcodes = "B0290D (Functional analysis); C4120 (Functional analysis); C7310 (Mathematics computing)", + corpsource = "Dept. of Phys., Univ. of Massachusetts, Boston, MA, USA", + keywords = "dilogarithm function; electrodynamics; ferromagnets; function evaluation; function subroutine; ideal; library; network analysis; polymers; quantum; real argument; subprograms; subroutines; thermodynamics", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Shen:1975:CWB, + author = "K. K. Shen and J. L. Peterson", + title = "Corrigendum: ``{A Weighted Buddy Method for Dynamic Storage Allocation}''", + journal = j-CACM, + volume = "18", + number = "4", + pages = "202--202", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:14:25 1997", + note = "See \cite{Shen:1974:WBM}.", +} + +@Article{Smith:1975:MOL, + author = "Graham Smith", + title = "On Maintenance of the Opportunity List for Class-Teacher Timetable Problems", + journal = j-CACM, + volume = "18", + number = "4", + pages = "203--208", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35", + MRnumber = "51 12314", + mrreviewer = "I. Gh. Ciobanu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "One of the principal components of procedures for the solution of class-teacher timetable problems is that for maintenance of the opportunity list. Opportunity list maintenance methods are based on necessary conditions for the existence of a solution. A general framework for necessary conditions, together with four specific sets of necessary conditions, is given.", + acknowledgement = ack-nhfb, + classcodes = "C7110 (Educational administration)", + classification = "723; 901", + corpsource = "Univ. of New South Wales, Kensington, NSW, Australia", + journalabr = "Commun ACM", + keywords = "class teacher; combinatorial; data processing; educational administrative data processing; necessary conditions; opportunity list; schedule; scheduling; school timetable; timetable; timetable problems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Braid:1975:SSB, + author = "I. C. Braid", + title = "The Synthesis of Solids Bounded by Many Faces", + journal = j-CACM, + volume = "18", + number = "4", + pages = "209--216", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A technique is presented which allows a class of solid objects to be synthesized and stored using a computer. Synthesis begins with primitive solids like a cube, wedge, or cylinder. Any solid can be moved, scaled, or rotated. Solids may also be added together or subtracted. Two algorithms to perform addition are described. For practical designers, the technique has the advantage that operations are concise, readily composed, and are given in terms of easily imagined solids. Quite short sequences of operations suffice to build up complex solids bounded by many faces.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130 (Data handling techniques); C7440 (Civil and mechanical engineering computing)", + classification = "723", + corpsource = "Univ. of Cambridge, Cambridge, UK", + journalabr = "Commun ACM", + keywords = "algorithms; computer graphics; computer-aided design; image processing; many faced solids; simulation; synthesis", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Batagelj:1975:QHM, + author = "Vladimir Batagelj", + title = "Quadratic Hash Method When the Table Size is not a Prime Number", + journal = j-CACM, + volume = "18", + number = "4", + pages = "216--217", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Previous work on quadratic hash methods is limited mainly to the case where the table size is a prime number. Here, certain results are derived for composite numbers. It is shown that all composite numbers containing at least the square of one of the component primes have full-period integer-coefficient quadratic hash functions.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Jozef Stefan Inst., Univ. of Ljubljana, Ljubljana, Yugoslavia", + journalabr = "Commun ACM", + keywords = "component primes; composite; computer programming; full period integer coefficient; numbers; prime number; quadratic hash functions; quadratic hash method; quadratic programming; table lookup; table size", + treatment = "T Theoretical or Mathematical", +} + +@Article{Warren:1975:MWA, + author = "Henry S. {Warren, Jr.}", + title = "A Modification of {Warshall}'s Algorithm for the Transitive Closure of Binary Relations", + journal = j-CACM, + volume = "18", + number = "4", + pages = "218--220", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "51 2340", + mrreviewer = "E. M. Reingold", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm is given for computing the transitive closure of a binary relation that is represented by a Boolean matrix. The algorithm is similar to Warshall's although it executes faster for sparse matrices on most computers, particularly in a paging environment.", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra); C4210 (Formal logic)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "binary relation; binary relations; Boolean algebra; Boolean matrix; computer programming; digraph; directed graph; matrix algebra; paging environment; reachability matrix; sparse matrices; transitive closure; Warshall's algorithm", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hinds:1975:ALA, + author = "James A. Hinds", + title = "Algorithm for Locating Adjacent Storage Blocks in the Buddy System", + journal = j-CACM, + volume = "18", + number = "4", + pages = "221--222", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simple scheme for the determination of the location of a block of storage relative to other blocks is described. This scheme is applicable to the buddy type storage allocation systems.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "State Univ. of New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "algorithm; buddy system; computer programming; locating adjacent storage blocks; storage allocation; storage allocation systems", + treatment = "P Practical", +} + +@Article{Vaucher:1975:CSE, + author = "Jean G. Vaucher and Pierre Duval", + title = "A Comparison of Simulation Event List Algorithms", + journal = j-CACM, + volume = "18", + number = "4", + pages = "223--230", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + note = "See corrigendum \cite{Vaucher:1975:CCS}.", + abstract = "Four algorithms are considered which can be used to schedule events in a general purpose discrete simulation system. Two of the algorithms are new, one is based on an end-order tree structure for event notices, and another uses an indexed linear list. The algorithms are tested with a set of typical stochastic scheduling distributions especially chosen to show the advantages and limitations of the algorithms. \par The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages. The most promising algorithm uses the indexed list concept. \par It will require an adaptive routine before it can be employed in general purpose simulators,but its performance is such that further study would be fruitful.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C7800 (Other computer applications)", + classification = "723", + corpsource = "Univ. de Montreal, Que., Canada", + country = "USA", + descriptors = "Simulation; event list control; time control;", + enum = "3193", + journalabr = "Commun ACM", + keywords = "adaptive routine; computer programming; current simulation; discrete system simulation; end order tree structure; event list algorithm; event scheduling routine; indexed linear list; languages; scheduling; simulation; simulation event list algorithms; simulation executive; sorting; stochastic scheduling distributions; time flow mechanisms", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Korfhage:1975:SO, + author = "Robert R. Korfhage and David W. Matula", + title = "On {Salazar} and {Oakford}", + journal = j-CACM, + volume = "18", + number = "4", + pages = "240--240", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:08:07 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + note = "See \cite{Salazar:1974:GFS,Korfhage:1975:MSO,Garey:1975:SO}", + keywords = "graph coloring", +} + +@Article{Garey:1975:SO, + author = "Michael R. Garey and David S. Johnson", + title = "On {Salazar} and {Oakford}", + journal = j-CACM, + volume = "18", + number = "4", + pages = "240--241", + month = apr, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + note = "See \cite{Salazar:1974:GFS,Korfhage:1975:SO,Korfhage:1975:MSO}", + keywords = "graph coloring", +} + +@Article{Fisher:1975:CCL, + author = "David A. Fisher", + title = "Copying Cyclic List Structures in Linear Time Using Bounded Workspace", + journal = j-CACM, + volume = "18", + number = "5", + pages = "251--252", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A bounded workspace copying algorithm for arbitrary list structures is given. This algorithm operates in linear time and does not require tag bits. The best previous bounded workspace copying algorithms achieved n**2 time without tag bits and n log n time with one tag. The only restriction on the algorithm given here is that the copy must be placed into a contiguous section of memory. The method is applicable to fixed or variable size nodes.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Inst. for Defense Analyses, Arlington, VA, USA", + journalabr = "Commun ACM", + keywords = "bounded workspace; computer programming; computer programming languages --- List Processing; copying algorithm; cyclic list structures; linear time; list processing; nodes; tag bits", + treatment = "P Practical", +} + +@Article{Cardenas:1975:API, + author = "Alfonso F. Cardenas", + title = "Analysis and Performance of Inverted Data Base Structures", + journal = j-CACM, + volume = "18", + number = "5", + pages = "253--263", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "The need to envision and architecture data base systems in a hierarchical level by level framework is stressed. The inverted data base (file) organization is then analyzed, considering implementation oriented aspects. The inverted directory is viewed realistically as another large data base which itself is subjected to inversion. Formulations are derived to estimate average access time (read only) and storage requirements, formalizing the interaction of data base content characteristics, logical complexity of queries, and machine timing and blocking specifications identified as having a first-order effect on performance. The formulations presented are necessary to be used in conjunction with any index selection criteria to determine the optimum set of index keys.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7100 (Business and administration); C7250 (Information storage and retrieval)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "access; data processing; data structures; file organisation; index keys; index selection criteria; indexing; indices; information retrieval; information retrieval systems; information storage; inverted data base structures; inverted directory; machine timing; management information systems; time", + treatment = "P Practical", +} + +@Article{Wilks:1975:IAU, + author = "Yorick Wilks", + title = "An intelligent analyzer and understander of {English}", + journal = j-CACM, + volume = "18", + number = "5", + pages = "264--274", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper describes a working analysis and generation program for natural language, which handles paragraph length input. Its core is a system of preferential choice between deep semantic patterns, based on what we call ``semantic density.'' The system is contrasted: (1) with syntax oriented linguistic approaches, and (2) with theorem proving approaches to the understanding problem.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C4290 (Other computer theory); C7820 (Humanities computing)", + classification = "721; 731", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; automata theory --- Computational Linguistics; computational linguistics; deep semantic patterns; generation program; intelligent analyzer; language; natural language; paragraph length; semantic density; syntax oriented linguistic approaches; systems science and cybernetics; translation and linguistics", + treatment = "P Practical", +} + +@Article{Gibbs:1975:AAB, + author = "N. E. Gibbs", + title = "{ACM} Algorithm 491: Basic Cycle Generation", + journal = j-CACM, + volume = "18", + number = "5", + pages = "275--276 (or 275--275??)", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)", + corpsource = "Dept. of Math., Coll. of William and Mary, Williamsburg, VA, USA", + keywords = "basic; BASIC GENERATOR; cycle generation; finite undirected graph; graph theory; Paton's algorithm; PL/I; subroutines; vertex adjacency matrix", + treatment = "T Theoretical or Mathematical", +} + +@Article{Evans:1975:NLF, + author = "D. J. Evans and M. Hatzopoulos", + title = "A note on the {LU} factorization of a symmetric matrix", + journal = j-CACM, + volume = "18", + number = "5", + pages = "278--279", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "15A21 (65F30)", + MRnumber = "52 8154", + mrreviewer = "Marvin Marcus", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0290H (Linear algebra); C4140 (Linear algebra)", + corpsource = "Univ. of Technol., Loughborough, UK", + keywords = "factorization; matrix inversion; separable systems; symmetric matrices; test matrices", + keywords = "inversion programs; linear equations; LU factorisation; matrix; matrix algebra; symmetric matrix; test matrices", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fox:1975:MKS, + author = "B. L. Fox", + title = "More on $k$th Shortest Paths", + journal = j-CACM, + volume = "18", + number = "5", + pages = "279--279", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); B0260 (Optimisation techniques); C1160 (Combinatorial mathematics); C1180 (Optimisation techniques)", + corpsource = "Univ. of Montreal, Montreal, Que., Canada", + keywords = "graph theory; kth shortest paths; N node network; networks; nodes; optimisation", + treatment = "G General Review", + xxauthor = "B. I. Fox", +} + +@Article{Wasserman:1975:PPP, + author = "A. I. Wasserman", + title = "A problem-list of public policy issues concerning computers and health care", + journal = j-CACM, + volume = "18", + number = "5", + pages = "279--280", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C7190 (Other fields of business and administrative computing); C7330 (Biology and medical computing)", + corpsource = "Univ. of California, San Francisco, CA, USA", + keywords = "biomedical applications of computers; computers and health care; economic and; medicine; public policy issues; sociological effects", + treatment = "A Application; E Economic; G General Review", +} + +@Article{Mills:1975:CNM, + author = "Harlan D. Mills", + title = "Corrigendum: {``The New Math of Computer Programming''}", + journal = j-CACM, + volume = "18", + number = "5", + pages = "280--280", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "51 2333b", + mrreviewer = "E. Ikaunieks", + bibdate = "Tue May 28 16:26:36 1996", + note = "See \cite{Mills:1975:NMC}.", + acknowledgement = ack-nhfb, +} + +@Article{Horowitz:1975:SAP, + author = "Steven L. Horowitz", + title = "Syntactic Algorithm for Peak Detection in Waveforms with Applications to Cardiography", + journal = j-CACM, + volume = "18", + number = "5", + pages = "281--285", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Peaks in a digitized waveform are detected by an algorithm incorporating piecewise linear approximation and tabular parsing techniques. Several parameters serve to identify the waveform context enabling accurate measurement of peak amplitude, duration, and shape. The algorithm is of sufficient speed to allow on-line real-time processing. An example of its application is demonstrated on an electrocardiogram.", + acknowledgement = ack-nhfb, + classcodes = "A8770E (Patient diagnostic methods and instrumentation); B0290F (Interpolation and function approximation); B7510D (Bioelectric signals); C4130 (Interpolation and function approximation); C4210 (Formal logic); C7330 (Biology and medical computing)", + classification = "723", + corpsource = "Princeton Univ., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "amplitude; applications; biomedical engineering --- Electrocardiography; context-free grammars; duration; electrocardiogram; electrocardiography; parsing techniques; pattern recognition systems; peak detection; piecewise linear approximation; piecewise-linear; shape; syntactic algorithm; tabular; techniques; to cardiography; waveform analysis; waveforms", + treatment = "A Application", +} + +@Article{Pfefferkorn:1975:HPS, + author = "Charles E. Pfefferkorn", + title = "Heuristic Problem Solving Design System for Equipment or Furniture Layouts", + journal = j-CACM, + volume = "18", + number = "5", + pages = "286--297", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The Designer Problem Solver (DPS) demonstrates that the computer can perform simple design tasks. In particular, it designs furniture and equipment layouts. This task was chosen because it is simple, well defined, and characteristic of many design tasks in architecture, engineering, urban planning, and natural resource management. These space planning tasks usually involve manipulating two-dimensional representations of objects to create feasible or optimal solutions for problems involving topological and metric spatial constraints. The paper describes extensive tests performed on the program.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C7800 (Other computer applications)", + classification = "731; 901", + corpsource = "Evans and Sutherland Computer Corp., Sunnyvale, CA, USA", + journalabr = "Commun ACM", + keywords = "architecture; computer graphics; computer-aided design; design; engineering; equipment layout; furniture layouts; heuristic; heuristic problem solving design system; management; metric; natural resource; optimal solutions; problem solver; program; programming; space planning tasks; spatial constraints; systems science and cybernetics --- Heuristic Programming; urban planning", + treatment = "A Application; P Practical", +} + +@Article{Korfhage:1975:MSO, + author = "Robert R. Korfhage and David W. Matula", + title = "More on the {Salazar} and {Oakford} Paper", + journal = j-CACM, + volume = "18", + number = "5", + pages = "303--303", + month = may, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:08:07 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + note = "See \cite{Salazar:1974:GFS,Korfhage:1975:SO,Garey:1975:SO}", + keywords = "graph coloring", +} + +@Article{Gibbs:1975:AAG, + author = "N. E. Gibbs", + title = "{ACM} Algorithm 492: Generation of All the Cycles of a Graph from a Set of Basic Cycles", + journal = j-CACM, + volume = "18", + number = "6", + pages = "310--310", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Dept. of Math., Coll. of William and Mary, Williamsburg, VA, USA", + keywords = "basic cycles; cycles; generation; graph; graph theory; PL/I; subroutines", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Phong:1975:ICG, + author = "Bui Tuong Phong", + title = "Illumination for Computer Generated Pictures", + journal = j-CACM, + volume = "18", + number = "6", + pages = "311--317", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.75.bib", + abstract = "The quality of computer generated images of three-dimensional scenes depends on the shading technique used to paint the objects on the cathode-ray tube screen. The shading algorithm itself depends in part on the method for modeling the object, which also determines the hidden surface algorithm. The various methods of object modeling, shading, and hidden surface removal are thus strongly interconnected. Several shading techniques corresponding to different methods of object modeling and the related hidden surface algorithms are presented here. Human visual perception and the fundamental laws of optics are considered in the development of a shading rule that provides better quality and increased realism in generated images.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays)", + classification = "723; 741", + corpsource = "Univ. of Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "computer generated images; computer graphics; hidden surface algorithm; image processing; Phong; shading; shading algorithm; technique; three dimensional scenes", + treatment = "P Practical", +} + +@Article{Lum:1975:COA, + author = "V. Y. Lum and M. E. Senko and C. P. Wang and H. Ling", + title = "A Cost Oriented Algorithm for Data Set Allocation in Storage Hierarchies", + journal = j-CACM, + volume = "18", + number = "6", + pages = "318--322", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "The trend in computer systems is toward the use of multilevel storage hierarchy systems. In this kind of system, data set allocation is usually based on qualitative, ad hoc decisions. If automatic data migration is used at all, the data sets are allocated to slower level memories simply on the basis of an ad hoc threshold against a time interval since the last use. To achieve quantitative, more optimal allocation, both storage cost and access time cost must be carefully analyzed. This paper presents an appropriate automatic algorithm which includes many significant details of both costs.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm; computer operating systems; cost oriented; data migration; data set allocation; data staging; data storage; hierarchies; storage; storage allocation", + treatment = "P Practical", +} + +@Article{Babich:1975:SES, + author = "Alan F. Babich and John Grason and David L. Parnas", + title = "Significant Event Simulation", + journal = j-CACM, + volume = "18", + number = "6", + pages = "323--329", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper compares a new method of simulation organization, called the significant event method, with an old one, called the clock pulse method, using as examples two automobile traffic models. The significant event method is found to be more efficient than the clock pulse method at low levels of system interaction and less efficient at high levels. A simple mathematical model for the trade-off in the relative running time of the two methods is developed. The model aids in choosing between the two simulation methods for a particular experiment. It is concluded that the significant event method can be of value in the simulation of some systems when computational efficiency is of sufficient importance.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C7800 (Other computer applications)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburg, PA, USA", + journalabr = "Commun ACM", + keywords = "clock pulse models; computational efficiency; computer simulation; efficient; significant event method; simulation", + treatment = "P Practical", +} + +@Article{Dewar:1975:ITC, + author = "Robert B. K. Dewar", + title = "Indirect Threaded Code", + journal = j-CACM, + volume = "18", + number = "6", + pages = "330--331", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An efficient arrangement for interpretive code is described. It is related to Bell's notion of threaded code but requires less space and is more amenable to machine independent implementations.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Illinois Inst. of Technol., Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "code generation; codes, symbolic; implementations; indirect threaded code; interpretive code; interpretors; machine independent; program interpreters; programming; SNOBOL; SNOBOL4; SPITBOL; threaded code", + treatment = "P Practical", +} + +@Article{Cranston:1975:SRS, + author = "Ben Cranston and Rick Thomas", + title = "Simplified Recombination Scheme for the {Fibonacci} Buddy System", + journal = j-CACM, + volume = "18", + number = "6", + pages = "331--332", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simplified recombination scheme for the Fibonacci buddy system which requires neither tables nor repetitive calculations and uses only two additional bits per buffer is presented.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; dynamic storage allocation; Fibonacci buddy system; simplified recombination scheme; storage allocation", + treatment = "P Practical", +} + +@Article{Aho:1975:ESM, + author = "Alfred V. Aho and Margaret J. Corasick", + title = "Efficient String Matching: an Aid to Bibliographic Search", + journal = j-CACM, + volume = "18", + number = "6", + pages = "333--340", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "51 7393", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "721; 723", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "algorithm; automata theory --- Finite Automata; bibliographic search; computational complexity.; efficient; finite state machines; finite state pattern matching; information retrieval; information retrieval systems; keywords; keywords and phrases; patterns UNIX searching; string matching; string pattern matching; text; text editing; text-editing", + treatment = "P Practical", +} + +@Article{Hirschberg:1975:LSA, + author = "D. S. Hirschberg", + title = "A Linear Space Algorithm for Computing Maximal Common Subsequences", + journal = j-CACM, + volume = "18", + number = "6", + pages = "341--343", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (68A20)", + MRnumber = "51 12019", + mrreviewer = "Claude Benzaken", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib", + abstract = "The problem of finding a longest common subsequence of two strings has been solved in quadratic time and space. An algorithm is presented which will solve this problem in quadratic time and in linear space.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + comment = "Algorithms are given that solve the longest common subsequence problem in quadratic time and linear space. Previously algorithms for this problem used quadratic time and quadratic space.", + corpsource = "Princeton Univ., Princeton, NY, USA", + journalabr = "Commun ACM", + keywords = "computer programming; computing; data handling; editing; linear space; linear space algorithm; longest common subsequence; maximal common; quadratic time; string correction; subsequence; subsequences; two strings", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Soule:1975:AAB, + author = "Stephen Soule", + title = "Addition in an Arbitrary Base Without Radix Conversion", + journal = j-CACM, + volume = "18", + number = "6", + pages = "344--346", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib", + abstract = "This paper presents a generalization of an old programming technique; using it, one may add and subtract numbers represented in any radix, including a mixed radix, and stored one digit per byte in bytes of sufficient size. Radix conversion is unnecessary, no looping is required, and numbers may even be stored in a display (I/O) format. Applications to Cobol, MIX, and hexadecimal sums are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)", + classification = "723; 921", + corpsource = "Univ. of Calgary, Calgary, Alta., Canada", + journalabr = "Commun ACM", + keywords = "add; addition; arbitrary base; arbitrary radix arithmetic; Cobol display arithmetic; computer systems programming; data handling; decimal arithmetic; digital arithmetic; mathematical techniques --- Digital Arithmetic; MIX arithmetic; mixed radix arithmetic; numbers; programming; radix conversion; subtract; subtraction; without radix conversion", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Harper:1975:S, + author = "L. H. Harper and T. H. Payne and J. E. Savage and E. Straus", + title = "Sorting {$X + Y$}", + journal = j-CACM, + volume = "18", + number = "6", + pages = "347--350 (or 347--349??)", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "51 14641", + mrreviewer = "Forbes D. Lewis", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", + corpsource = "MIT, Dept. of Math., Cambridge, MA, USA", + keywords = "binary comparisons; computational complexity; computing models; data modeling; merge sorting", + keywords = "computation time; computational complexity; merge sorting; merging; sets of numbers; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wyman:1975:IES, + author = "F. Paul Wyman", + title = "Improved Event-Scanning Mechanisms for Discrete Event Simulation", + journal = j-CACM, + volume = "18", + number = "6", + pages = "350--353", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + abstract = "Simulation models of large, complex ``real-world'' applications have occasionally earned the reputation of eating up hours of computer time. This problem may be attributed in part to difficulties such as slow stochastic convergence. However, an additional problem lies in the fact that a significant amount of bookkeeping time is required to keep future events in their proper sequence. This paper presents a method for significantly reducing the time spent scanning future event lists in discrete event simulations. \par There models are presented, all of which improve in effectiveness as the events-list scan problem becomes more burdensome.", + acknowledgement = ack-nhfb, + classcodes = "C7800 (Other computer applications)", + classification = "723", + corpsource = "Bechtel Inc., San Francisco, CA, USA", + country = "USA", + descriptors = "Simulation; time control;", + enum = "3352", + journalabr = "Commun ACM", + keywords = "computer simulation; discrete event simulation; event scanning mechanisms; simulation", + keywords = "bookkeeping time; discrete event simulation; scanning; simulation", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Knuth:1975:ICU, + author = "Donald E. Knuth and Charles T. {Zahn, Jr.}", + title = "Ill-Chosen Use of ``Event''", + journal = j-CACM, + volume = "18", + number = "6", + pages = "360--360", + month = jun, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Sep 20 23:34:24 1994", + acknowledgement = ack-nhfb, +} + +@Article{Courtois:1975:DIS, + author = "P. J. Courtois", + title = "Decomposability, Instabilities, and Saturation in Multiprogramming Systems", + journal = j-CACM, + volume = "18", + number = "7", + pages = "371--377", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A step-by-step approach to model the dynamic behavior and evaluate the performance of computing systems is proposed. It is based on a technique of variable aggregation and the concept of nearly decomposable systems, both borrowed from Econometrics. This approach is taken in order to identify in multiprogramming paging systems (i) unstable regimes of operations and (ii) critical computing loads which bring the system into states of saturation. This analysis leads to a more complete definition of the circumstances in which ``thrashing'' can set in.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "MBLE Res. Lab., Brussels, Belgium", + journalabr = "Commun ACM", + keywords = "computer selection and evaluation; computer systems programming; computing systems; decomposable; instabilities; multiprogramming; multiprogramming systems; performance; saturation; storage; virtual", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lauesen:1975:LSB, + author = "Soren Lauesen", + title = "A large semaphore based operating system", + journal = j-CACM, + volume = "18", + number = "7", + pages = "377--389", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper describes the internal structure of a large operating system as a set of cooperating sequential processes. The processes synchronize by means of semaphores and extended semaphores (queue semaphores). The number of parallel processes is carefully justified, and the various semaphore constructions are explained. The system is proved to be free of ``deadly embrace'' (deadlock). The design principle is an alternative to Dijkstra's hierarchical structuring of operating systems. The project management and the performance are discussed, too. The operating system is the first large one using the RC 4000 multiprogramming system.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Nordisk Brown Boveri, Copenhagen, Denmark", + journalabr = "Commun ACM", + keywords = "computer operating systems; large; multiprogramming system; operating system; operating systems (computers); parallel; parallel processing; processes; RC 4000; semaphore based", + treatment = "P Practical", +} + +@Article{Sager:1975:RLC, + author = "Naomi Sager and Ralph Grishman", + title = "Restriction Language for Computer Grammars of Natural Language", + journal = j-CACM, + volume = "18", + number = "7", + pages = "390--400", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents a programming language designed specifically for the compact and perspicuous statement of restrictions of a natural language grammar. It is based on ten years' experience parsing text sentences with the comprehensive English grammar of the N. Y. U. Linguistic String Project, and embodies in its syntax and routines the relations which were found to be useful and adequate for computerized natural language analysis. The language is used in the current implementation of the Linguistic String Parser.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6130 (Data handling techniques); C6140D (High level languages); C7820 (Humanities computing)", + classification = "721; 723", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "automata theory; computational linguistics; computer grammars; computer programming languages; grammars; literature; natural language; oriented languages; parsing; problem; programming language; Restriction Language; text; text editing", + treatment = "A Application; P Practical", +} + +@Article{Parnas:1975:UCT, + author = "D. L. Parnas and D. P. Siewiorek", + title = "Use of the Concept of Transparency in the Design of Hierarchically Structured Systems", + journal = j-CACM, + volume = "18", + number = "7", + pages = "401--408", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib", + abstract = "This paper deals with the design of hierarchically structured programming systems. It develops a method for evaluating the cost of requiring programmers to work with an abstraction of a real machine. A number of examples from hardware and software are given as illustrations of the method.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Tech. Hochschule Darmstadt, Darmstadt, West Germany", + journalabr = "Commun ACM", + keywords = "abstraction; computer systems programming; cost; design; hierarchically structured systems; programming; real machine; transparency", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Freeman:1975:DMA, + author = "H. Freeman and R. Shapira", + title = "Determining the Minimum-Area Encasing Rectangle for an Arbitrary Closed Curve", + journal = j-CACM, + volume = "18", + number = "7", + pages = "409--413", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (52A40)", + MRnumber = "51 12018", + mrreviewer = "Jacques Dubois", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a method for finding the rectangle of minimum area in which a given arbitrary plane curve can be contained. The method is of interest in certain packing and optimum layout problems. It consists of first determining the minimal-perimeter convex polygon that encloses the given curve and then selecting the rectangle of minimum area capable of containing this polygon. Three theorems are introduced to show that one side of the minimum-area rectangle must be colinear with an edge of the enclosed polygon and that the minimum-area encasing rectangle for the convex polygon is also the minimum-area rectangle for the curve.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); C1180 (Optimisation techniques)", + classification = "921; 922", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "enclosed curve; minimum-area encasing rectangle; optimization; optimum layout; optimum packing", + keywords = "arbitrary closed curve; encasing rectangle; minimisation; minimum area; optimum layout; packing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bobrow:1975:NHL, + author = "Daniel G. Bobrow", + title = "A Note on Hash Linking", + journal = j-CACM, + volume = "18", + number = "7", + pages = "413--415", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Hash searching is a technique in which a key is mapped into a unique address associated with that key. Most applications of this technique are for insertion and fast retrieval of data records containing key fields. In the use of hash search described in this paper, the key field is the virtual address of a machine cell with which additional information is associated. An address to auxiliary data not contained in that cell is called hash linking. (A hash link function is one which maps any machine virtual address into another unique address where additional information can be stored. ) This note describes several nonobvious applications of this technique.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; hash linking; information retrieval systems; LISP; locations; machine address; storage; storage allocation", + treatment = "P Practical", +} + +@Article{Weber:1975:DEW, + author = "R. E. Weber and B. Gilchrist", + title = "Discrimination in the employment of women in the computer industry", + journal = j-CACM, + volume = "18", + number = "7", + pages = "416--418", + month = jul, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Rutgers Univ., New Brunswick, NJ, USA", + keywords = "computer industry; discrimination; employment; women", + treatment = "G General Review", +} + +@Article{Shore:1975:ESF, + author = "John E. Shore", + title = "On the External Storage Fragmentation Produced by First-Fit and Best-Fit Allocation Strategies", + journal = j-CACM, + volume = "18", + number = "8", + pages = "433--440", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Report on some experiments whose results have helped to understand differences in the performance of two well-known storage-allocation strategies, first-fit and best-fit. For exponential and hyperexponential distributions of requests, first-fit outperformed best-fit; but for normal and uniform distributions, and for exponential distributions distorted in various ways, best-fit outperformed first-fit. It is hypothesized that when first-fit outperforms best-fit, it does so because first-fit, by preferentially allocating toward one end of memory, encourages large blocks to grow at the other end. Sufficient contiguous space is thereby more likely to be available for relatively large requests. Results of simulation experiments supported this hypothesis and showed that the relative performance of first-fit and best-fit depends on the frequency of requests that are large compared to the average request. when the coefficient of variation of the request distribution is greater than or approximately equal to unity, first-fit outperformed best-fit.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Naval Res. Lab., Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "allocation strategies; best fit; computer operating systems; dynamic memory allocation; encountered block; external storage fragmentation; first fit; pending storage; starting addresses; storage allocation", + treatment = "P Practical", +} + +@Article{Aho:1975:DPA, + author = "A. V. Aho and S. C. Johnson and J. D. Ullman", + title = "Deterministic Parsing of Ambiguous Grammars", + journal = j-CACM, + volume = "18", + number = "8", + pages = "441--452", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A25", + MRnumber = "51 12033", + mrreviewer = "S. Ginsburg", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "Methods of describing the syntax of programming languages in ways that are more flexible and natural than conventional BNF descriptions are considered. These methods involve the use of ambiguous context-free grammars together with rules to resolve syntactic ambiguities. It is shown how efficient LR and LL parsers can be constructed directly from certain classes of these specifications.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "ambiguities; ambiguous grammars; computer programming languages; context free grammars; context-free grammars; LL parsers; LR parsing; parser generation; programming languages; syntactic; translator writing systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Dijkstra:1975:GCN, + author = "Edsger W. Dijkstra", + title = "Guarded Commands, Nondeterminacy and Formal Derivation of Programs", + journal = j-CACM, + volume = "18", + number = "8", + pages = "453--457", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "52 4688", + mrreviewer = "John Kam", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib", + abstract = "So-called ``guarded commands'' are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state. For the formal derivation of programs expressed in terms of these constructs, a calculus is shown.", + acknowledgement = ack-nhfb, + annote = "Yet another ancient paper which is occasionally cited", + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Burroughs Corp., Nuenen, Netherlands", + journalabr = "Commun ACM", + keywords = "calculus; computer programming languages; constructs; correctness proof; derivation; guarded commands; k-guarded-commands; nondeterministic program components; programming language semantics; programming languages; programming methodology; sequencing primitives", + treatment = "A Application; P Practical", +} + +@Article{Cotton:1975:RSU, + author = "L. W. Cotton", + title = "Remark on stably updating mean and standard deviation of data", + journal = j-CACM, + volume = "18", + number = "8", + pages = "458--458", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + acknowledgement = ack-nhfb, + classcodes = "B0290F (Interpolation and function approximation); C4130 (Interpolation and function approximation); C7310 (Mathematics computing)", + corpsource = "Nat. Bur. of Stand., Washington, DC, USA", + country = "USA", + descriptors = "Simulation; statistics; numeric calculation;", + enum = "7158", + keywords = "algorithm; Hanson's article; new; numbers; numerical methods; remark; sequentially recomputing; series; stably updating mean; standard deviation of data; statistics", + kwds = "stat, updating, mean, standard deviation, variance", + language = "English", + location = "SEL: Wi", + references = "0", + revision = "16/01/94", + treatment = "A Application; G General Review", + xxauthor = "I. W. Cotton", +} + +@Article{Shapiro:1975:ICN, + author = "Stuart C. Shapiro and Stanley C. Kwasny", + title = "Interactive Consulting via Natural Language", + journal = j-CACM, + volume = "18", + number = "8", + pages = "459--462", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/expert.bib", + abstract = "Interactive programming systems often contain help commands to give the programmer on-line instruction regarding the use of the various systems commands. It is argued that it would be relatively easy to make these help commands significantly more helpful by having them accept requests in natural language. As a demonstration, Weizenbaum's ELIZA program has been provided with a script that turns it into a natural language system consultant.", + acknowledgement = ack-nhfb, + annote = "Help commands are significantly more useful in an interactive environment if they accept commands in a natural language. As a demonstration, Weizenbaum's ELIZA program has been provided with a script that turns into a natural language system consultant.", + classcodes = "C6110 (Systems analysis and programming); C6140 (Programming languages); C6150J (Operating systems)", + classification = "723", + corpsource = "Indiana Univ., Bloomington, IN, USA", + journalabr = "Commun ACM", + keywords = "computer aided instruction; computer assisted instruction; computer programming languages; ELIZA; help commands; instruction; interactive programming; natural language; natural language processing; natural language system consultant; on line; program; programming languages; sharing programs; systems commands; time sharing systems; time-; time-sharing systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Todd:1975:CLC, + author = "John Todd", + title = "Corrigendum: {``The Lemniscate Constants''}", + journal = j-CACM, + volume = "18", + number = "8", + pages = "462--462", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Dec 26 18:42:09 1995", + note = "See \cite{Todd:1975:LC}.", +} + +@Article{Vaucher:1975:CCS, + author = "J. G. Vaucher and P. Duval", + title = "Corrigendum: ``{A comparison of simulation event list algorithms}''", + journal = j-CACM, + volume = "18", + number = "8", + pages = "462--462", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:17:34 1997", + note = "See \cite{Vaucher:1975:CSE}.", +} + +@Article{Smith:1975:CPT, + author = "A. J. Smith", + title = "Comments on a paper by {T. C. Chen} and {I. T. Ho}", + journal = j-CACM, + volume = "18", + number = "8", + pages = "463--463", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Univ. of California, Berkeley, CA, USA", + keywords = "advantages; alternatives; binary coded decimal; codes; coding; compression of numbers; data handling; decimal data; decoding; deletions; Huffman codes; insertions; permutations; storage efficient representation; variable length codes", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Ghosh:1975:CSR, + author = "Sakti P. Ghosh", + title = "Consecutive Storage of Relevant Records with Redundancy", + journal = j-CACM, + volume = "18", + number = "8", + pages = "464--471", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "52 4743", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper studies the properties of a new class of file organizations (CRWR) where records relevant to every query are stored in consecutive storage locations but the organizations contain redundancy. Some theorems which provide tools for reducing redundancy in CRWR organizations have been also developed. Redundancies obtained by the application of these theorems are compared with that of query-inverted file organizations. Some CRWR organizations with minimum redundancy have also been developed for queries which specify sets of keys.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "consecutive storage; data processing; file organisation; file organizations; keys; query; records; redundancy; retrieval", + treatment = "N New Development; T Theoretical or Mathematical", +} + +@Article{Lamport:1975:MBP, + author = "Leslie Lamport", + title = "Multiple Byte Processing with Full-Word Instructions", + journal = j-CACM, + volume = "18", + number = "8", + pages = "471--475", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1975.bib", + abstract = "A method is described which allows parallel processing of packed data items using only ordinary full-word computer instructions, even though the processing requires operations whose execution is contingent upon the value of a datum. It provides a useful technique for processing small data items such as alphanumeric characters.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Massachusetts Computer Associates, Inc., Wakefield, MA, USA", + journalabr = "Commun ACM", + keywords = "alphanumeric characters; byte processing; character processing; data processing; datum; full-word instructions; packed data; parallel; parallel processing; processing; programming", + treatment = "P Practical", +} + +@Article{Shwayder:1975:CDR, + author = "Keith Shwayder", + title = "Combining Decision Rules in a Decision Table", + journal = j-CACM, + volume = "18", + number = "8", + pages = "476--480", + month = aug, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The techniques for minimizing logic circuits are applied to the simplification of decision tables by the combining of decision rules. This method is logically equivalent to the Quine-McCluskey method for finding prime implicants. If some of the decision rules implied in the ELSE Rule occur with low frequency, then the ELSE Rule can be used to further simplify the decision table. Several objectives merit consideration in optimizing a decision table. (1) reducing machine execution time; (2) reducing preprocessing time; (3) reducing required machine memory; (4) reducing the number of decision rules. Objectives (3) and (4) can be furthered with the above methods. Objective (1) is also attained if overspecified decision rules are not combined. Objective (2) must be compared against the potential benefits of objectives (1), (3), and (4) in deciding whether to use the above methods.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Samsonite Corp., Furniture Div., Denver, CO, USA", + journalabr = "Commun ACM", + keywords = "Boolean method; coding; computer systems programming; decision rules; decision table; decision tables; flowcharting; minimisation; minimizing logic circuits; prime implicants; Quine McCluskey method; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Steele:1975:MCG, + author = "Guy L. {Steele, Jr.}", + title = "Multiprocessing Compactifying Garbage Collection", + journal = j-CACM, + volume = "18", + number = "9", + pages = "495--508", + month = sep, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + note = "See corrigendum \cite{Steele:1976:CMC}.", + abstract = "Algorithms for a multiprocessing compactifying garbage collector are presented and discussed. \par The simple case of two processors, one performing LISP-like list operations and the other performing garbage collection continuously, is thoroughly examined. The necessary capabilities of each processor are defined, as well as interprocessor communication and interlocks. Complete procedures for garbage collection and for standard list processing primitives are presented and thoroughly explained. Particular attention is given to the problems of marking and relocating list cells while another processor may be operating on them. The primary aim throughout is to allow the list processor to run unimpeded while the other processor reclaims list storage. The more complex cases involving several list processors and one or more garbage collection processors are also briefly discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "capabilities; compactification; computer systems programming; data structures; free storage; garbage collection; gc processor; interlocks; interprocessor communication; LISP; list; list processing; list storage; management; multiprocessing; multiprocessing compactifying garbage collector; multiprocessing programs; operations; parallel processing; pointers; reclaimer; relocation; semaphores; storage; storage allocation; storage reclamation; synchronization", + treatment = "P Practical", +} + +@Article{Bentley:1975:MBS, + author = "Jon Louis Bentley", + title = "Multidimensional Binary Search Trees Used for Associative Searching", + journal = j-CACM, + volume = "18", + number = "9", + pages = "509--517", + month = sep, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "This paper develops the multidimensional binary search tree (or k-d tree, where k is the dimensionality of the search space) as a data structure for storage of information to be retrieved by associative searches. The k-d tree is defined and examples are given. It is shown to be quite efficient in its storage requirements. A significant advantage of this structure is that a single data structure can handle many types of queries very efficiently. Various utility algorithms are developed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm; content-addressable storage; data structures; efficient; homogeneous splitting; information; information retrieval; information retrieval systems; intersection query; K-D trees; multidimensional binary search tree; partial match; queries; retrieval; running times; single data; structure; trees (mathematics); utility algorithms", + treatment = "T Theoretical or Mathematical", +} + +@Article{Claudson:1975:DSR, + author = "R. Mark Claudson", + title = "Digital Simulation of River Plankton Population Dynamics", + journal = j-CACM, + volume = "18", + number = "9", + pages = "517--523", + month = sep, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper deals with the development of a mathematical model for and the digital simulation in Fortran IV of phytoplankton and zooplankton population densities in a river using previously developed rate expressions. As an investigation of the accuracy of the simulation methods, a simulation of the actual population dynamics of Asterionella in the Columbia River was made based on approximations of conditions in that river. The study demonstrates the usefulness of digital simulations in the examinations of certain aquatic ecosystems, as well as in environmental planning involving such examinations.", + acknowledgement = ack-nhfb, + classcodes = "C7330 (Biology and medical computing); C7440 (Civil and mechanical engineering computing)", + classification = "723; 901", + corpsource = "Hanford High School, Richland, WA, USA", + journalabr = "Commun ACM", + keywords = "approximations; aquatic ecosystems; computer simulation; digital simulation; ecological mechanisms; ecology; environmental engineering; environmental simulation; expressions; FORTRAN; mathematical modelling; mathematical models; pollution; rate; river plankton population dynamics; simulation; velocity cycle", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Piepmeier:1975:OBI, + author = "William F. Piepmeier", + title = "Optimal Balancing of {I/O} Requests to Disks", + journal = j-CACM, + volume = "18", + number = "9", + pages = "524--527", + month = sep, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + abstract = "Determining a policy for efficient allocation and utilization of a set of disk drives with differing operational characteristics is examined using analytical techniques. Using standard queueing theory, each disk drive is characterized by a queueing model with service time of a disk drive represented by the probability density function of the sum of two uniform distributions. Total response time of the set of disk models is then minimized under varying load conditions. The results indicate that faster devices should have higher utilization factors and that the number of different device types utilized tends to decrease with decreasing load. Specific examples using 2314 and 3330 combinations are examined.", + acknowledgement = ack-nhfb, + annote = "Determining a policy for efficient allocation and utilization of a set of disk drives with differing operational characteristics is examined using analytical techniques. Using standard queueing theory, each disk drive is characterized by a queueing model with service time of a disk drive represented by the probability density function of the sum of two uniform distributions. Total resp. time of the set of disk is minim. under vary. load. cond.", + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "921; 922", + corpsource = "Washington Univ., Saint Louis, MO, USA", + country = "USA", + descriptors = "Analysis; queueing theory; queueing system; model; disk; system evaluation; scheduling; distribution;", + enum = "3649", + journalabr = "Commun ACM", + keywords = "allocation; analytical techniques; balancing; characteristics; device assignment; disc; drives; efficient allocation; file organisation; input/output; modelling; operational; optimization; probability --- Queueing Theory; probability density function; queueing theory; scheduling; storage; utilization factors", + language = "English", + references = "5", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wegbreit:1975:MPA, + author = "Ben Wegbreit", + title = "Mechanical Program Analysis", + journal = j-CACM, + volume = "18", + number = "9", + pages = "528--539", + month = sep, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "53 9701", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "One means of analyzing program performance is by deriving closed-form expressions for their execution behavior. This paper discusses the mechanization of such analysis, and describes a system, Metric, which is able to analyze simple Lisp programs and produce, for example, closed-form expressions for their running time expressed in terms of size of input. This paper presents the reasons for mechanizing program analysis, describes the operation of Metric, explains its implementation, and discusses its limitations.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "algebraic manipulation; analysis; computer programming languages; execution behaviour; functional lisp; generating functions; LISP; lisp; list; mechanization; mechanizing program; metric; performance; processing; program analysis; programming; programming languages; programs; running time; size of input", + treatment = "P Practical", +} + +@Article{Gerritsen:1975:PSD, + author = "Rob Gerritsen", + title = "A Preliminary System for the Design of {DBTG} Data Structures", + journal = j-CACM, + volume = "18", + number = "10", + pages = "551--557", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "The functional approach to database design is introduced. In this approach the goal of design is to derive a data structure which is capable of supporting a set of anticipated queries rather than a structure which ``models the business'' in some other way. An operational computer program is described which utilizes the functional approach to design data structures conforming to the Data Base Task Group specifications. The automatic programming technology utilized by this program, although typically used to generate procedure, is here used to generate declaratives.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Pennsylvania, Philadelphia, PA, USA", + journalabr = "Commun ACM", + keywords = "automatic programming; Data Base; data processing; data structures; database design; functional approach; nonprocedural languages; operational computer program; preliminary system; Task Group; translation", + review = "ACM CR 7604-??", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Shu:1975:CHL, + author = "Nan C. Shu and Barron C. Housel and Vincent Y. Lum", + title = "{CONVERT}: {A} High Level Translation Definition Language for Data Conversion", + journal = j-CACM, + volume = "18", + number = "10", + pages = "557--567", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: 19 ACM SIGMOD Conf. on the Management of Data, King(ed), May.1975.", + abstract = "This paper describes a high level and nonprocedural translation definition language, CONVERT, which provides very powerful and highly flexible data restructuring capabilities. Its design is based on the simple underlying concept of a form which enables the users to visualize the translation processes, and thus makes data translation a much simpler task.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; convert; data; data conversion; data handling; data processing --- Data Structures; data translation; database reorganisation; nonprocedural translation definition language; problem oriented languages; programming languages; restructuring; translation definition language; utility program", + treatment = "A Application; P Practical", +} + +@Article{Smith:1975:OPR, + author = "John Miles Smith and Philip Yen-Tang Chang", + title = "Optimizing the Performance of a Relational Algebra Data Base Interface", + journal = j-CACM, + volume = "18", + number = "10", + pages = "568--579", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A relational algebra interface, called SQUIRAL, is described in detail. SQUIRAL seeks to minimize query response time and space utilization by: (1) performing global query optimization, (2) exploiting disjoint and pipelined concurrency, (3) coordinating sort orders in temporary relations, (4) employing directory analysis, and (5) maintaining locality in page references. Algorithms for implementing the operators of E. F. Codd's relational algebra are presented, and a methodology for composing them to optimize the performance of a particular user query is described.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "automatic; data; data processing; directory analysis; file; global query optimisation; inverted; manipulation language; optimisation; pipelined concurrency; programming; query response; query specification; relational algebra database interface; sort orders; space utilization; SQUIRAL; time; very high level language", + treatment = "T Theoretical or Mathematical", +} + +@Article{Astrahan:1975:ISE, + author = "M. M. Astrahan and D. D. Chamberlin", + title = "Implementation of a {Structured English Query Language}", + journal = j-CACM, + volume = "18", + number = "10", + pages = "580--588", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: 19 ACM SIGMOD Conf. on the Management of Data, King(ed), May.1975", + abstract = "SEQUEL is a nonprocedural language which does not make use of quantifiers or other mathematical concepts; rather, SEQUEL uses a block structured format of English key words (hence the acronym ``Structured English Query Language'' ). SEQUEL is intended for interactive, problem solving use by people who have need for interaction with a large database but who are not trained programmers. This class of users includes urban planners, sociologists, accountants, and other professionals. The objective of the language is to provide a simple, easy-to-learn means of expressing the primitive actions used by people to obtain information from tables, such as ``look up a value in a column.'' SEQUEL and its companion language, SQUARE, have been shown to be relationally complete, i.e. equivalent in power to Codd's relational calculus.", + acknowledgement = ack-nhfb, + annote = "Description of implementation of SEQUEL interpreter, especially optimizer, which uses indexes to simplify queries.", + classcodes = "C6130 (Data handling techniques); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "IBM Res. Div., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "CACM; data accessing; data handling; data organisation; data processing; data structure; data structures; data sublanguage; database; nonprocedural language; operations; optimisation algorithms; problem oriented languages; program interpreters; prototype interpreter; relation database IBM San Jose; relational model; SEQUEL; structured English query language", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Gavril:1975:MPP, + author = "Fanica Gavril", + title = "Merging with Parallel Processors", + journal = j-CACM, + volume = "18", + number = "10", + pages = "588--591", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Consider two linearly ordered sets A, B, vertical A vertical equals m, vertical B vertical equals n, m less than equivalent to n, and p,p less than equivalent to m, parallel processors working synchronously. The paper presents an algorithm for merging A and B with the p parallel processors, which requires at most 2 left bracket log//2(2m plus 1) right bracket plus left bracket 3m/p right bracket plus left bracket m/p right bracket left bracket log//2(n/m) right bracket steps. If n equals 2** beta m ( beta an integer), the algorithm requires at most 2 left bracket log//2(m plus 1) right bracket plus left bracket m/p right bracket (2 plus beta ) steps. In the case where m and n are of the same order of magnitude, i.e. n equals km with k being a constant, the algorithm requires 2 left bracket log//2(m plus 1) right bracket plus right bracket m/p right bracket (3 plus k) steps. These performances compare very favorably with the previous best parallel merging algorithm, Batcher's algorithm, which requires n/p plus ((m plus n)/2p)log//2m steps in the general case and km/p plus ((k plus l)/2)(m/p)log//2m in the special case where n equals km.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "722; 723", + corpsource = "Univ. of Illinois, Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "Batcher's algorithm; computer systems programming --- Sorting; computer systems, digital; linearly ordered sets; merging; parallel binary insertion; parallel processing; parallel processors; programming theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Reiser:1975:HRE, + author = "M. Reiser and H. Kobayashi", + title = "{Horner}'s Rule for the Evaluation of General Closed Queueing Networks", + journal = j-CACM, + volume = "18", + number = "10", + pages = "592--593", + month = oct, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1975.bib", + abstract = "The solution of separable closed queueing networks requires the evaluation of homogeneous multinomial expressions. The number of terms in those expressions grows combinatorially with the size of the network such that a direct summation may become impractical. An algorithm is given which does not show a combinatorial operation count. The algorithm is based on a generalization of Horner's rule for polynomials. It is also shown how mean queue size and throughput can be obtained at negligible extra cost once the normalization constant is evaluated.", + acknowledgement = ack-nhfb, + annote = "An algorithm is given which makes it possible to solve separable closed queueing networks independent from the size of the network. The algorithm does not show a combinatorial operation count; it is based on a generalization of Horner's rule for polynomials. Also is shown how mean queue size and throughput can be obtained at negligible extra cost once the normalization constant is evaluated.", + classcodes = "B0240C (Queueing theory); C1140C (Queueing theory)", + classification = "723; 912; 922", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + country = "USA", + descriptors = "Closed queueing network; algorithm; evaluation;", + enum = "3660", + journalabr = "Commun ACM", + keywords = "closed queueing networks; combinatorial operation count; expressions; homogeneous multinomial; Horner's rule; load dependent service rate; multinomial sums; operations research --- Computer Applications; probability; queueing theory", + language = "English", + references = "8", + treatment = "T Theoretical or Mathematical", +} + +@Article{Salton:1975:VSM, + author = "G. Salton and A. Wong and C. S. Yang", + title = "A Vector Space Model for Automatic Indexing", + journal = j-CACM, + volume = "18", + number = "11", + pages = "613--620", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "In a document retrieval, or other pattern matching environment where stored entities (documents) are compared with each other or with incoming patterns (search requests), it appears that the best indexing (property) space is one where each entity lies as far away from the others as possible; in these circumstances the value of an indexing system may be expressible as a function of the density of the object space; in particular, retrieval performance may correlate inversely with space density. An approach based on space density computations is used to choose an optimum indexing vocabulary for a collection of documents. Typical evaluation results are shown, demonstrating the usefulness of the model.", + acknowledgement = ack-nhfb, + annote = "Optimizing of relationship strength based data access.", + classcodes = "C6130 (Data handling techniques); C7240 (Information analysis and indexing)", + classification = "723; 901", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "automatic indexing; content analysis; density; document retrieval; incoming patterns; indexing; information science; library mechanisation; pattern matching environment; space; vector space model", + treatment = "A Application; P Practical", +} + +@Article{Boyce:1975:SQR, + author = "Raymond F. Boyce and Donald D. Chamberlin and W. Frank {King, III} and Michael M. Hammer", + title = "Specifying Queries as Relational Expressions: The Square Data Sublanguage", + journal = j-CACM, + volume = "18", + number = "11", + pages = "621--628", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: in Douque74 (IFIP TC-2), 1974. Also published in/as: ACM SIGPLAN-SIGIR 1974, Nance (ed), pp. 31--47. Also published in/as: IBM, San Jose Research Report RJ1291, October 1973.", + abstract = "This paper presents a data sublanguage called SQUARE, intended for use in ad hoc, interactive problem solving by non-computer specialists. SQUARE is based on the relational model of data, and is shown to be relationally complete; however, it avoids the quantifiers and bound variables required by languages based on the relational calculus. Facilities for query, insertion, deletion, and update on tabular data bases are described. A syntax is given, and suggestions are made for alternative syntaxes, including a syntax based on English key words for users with limited mathematical background.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "casual user; data processing; data sublanguage; database; English key words; interactive problem; nonprocedural language; problem oriented languages; query languages; relational calculus; relational expressions; SQUARE; square; tabular data", + treatment = "A Application; P Practical", +} + +@Article{Ledgard:1975:GCS, + author = "Henry F. Ledgard and Michael Marcotty", + title = "A genealogy of control structures", + journal = j-CACM, + volume = "18", + number = "11", + pages = "629--639", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The classic result of Bohm and Jacopini on the theoretical completeness of if-then-else and while-do is discussed. Several recent ideas on control structures are then explored. These include a review of various other control structures, results on time\slash space limitations, and theorems relating the relative power of control structures under several notions of equivalence. In conclusion, the impact of theoretical results on the practicing programmer and the importance of one-in, one-out control structures as operational abstractions are discussed. It is argued further that there is insufficient evidence to warrant more than if-then-else, while-do, and their variants.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. of Massachusetts, Amherst, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; go to statements; language design; operational abstractions; PASCAL; program control structures; programming; structured programming", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Graham:1975:PSE, + author = "Susan L. Graham and Steven P. Rhodes", + title = "Practical Syntactic Error Recovery", + journal = j-CACM, + volume = "18", + number = "11", + pages = "639--650 (or 639--649??)", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a recovery scheme for syntax errors which provides automatically-generated high quality recovery with good diagnostic information at relatively low cost. Previous recovery techniques are summarized and empirical comparisons are made. Suggestions for further research on this topic conclude the paper.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "compilers; computer programming languages; correction; debugging; diagnostic information; error; error compensation; error correction; parsing; program compilers; program debugging; simple precedence; syntactic error recovery; system recovery", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bitner:1975:BPT, + author = "James R. Bitner and Edward M. Reingold", + title = "Backtrack Programming Techniques", + journal = j-CACM, + volume = "18", + number = "11", + pages = "651--656", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/graph.coloring.bib", + abstract = "The purpose of this paper is twofold. First, a brief exposition of the general backtrack technique and its history is given. Second, it is shown how the use of macros can considerably shorten the computation time in many cases. In particular, this technique has allowed the solution of two previously open combinatorial problems, the computation of new terms in a well-known series, and the substantial reduction in computation time for the solution to another combinatorial problem.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6100 (Software techniques and systems)", + classification = "723", + corpsource = "Univ. of Illinois, Urbana, IL, USA", + journalabr = "Commun ACM", + keywords = "backtrack; combinatorial computing; combinatorial problems; computer programming; depth first search; depth-first search; difference-preserving codes; exhaustive; exhaustive search; graph coloring related algorithms; macros; non-attacking queen's problem; nonattacking queen's problem; pentominoes; problems; programming theory; search; shorten the computation time; squaring the square; tiling; tiling problems", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Kou:1975:NSB, + author = "Lawrence T. Kou and C. K. Wong", + title = "A Note on the Set Basis Problem Related to the Compaction of Character Sets", + journal = j-CACM, + volume = "18", + number = "11", + pages = "656--657", + month = nov, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "52 7196", + mrreviewer = "Dorothy Bollman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This note discusses the reduction of the set basis problem to the clique cover problem.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "character sets; clique; compaction of character sets; computational complexity; computer programming; cover problem; data compression; polynomial completeness; set basis problem; set covering", + treatment = "T Theoretical or Mathematical", +} + +@Article{Naur:1975:PLN, + author = "Peter Naur", + title = "Programming Languages, Natural Languages, and Mathematics", + journal = j-CACM, + volume = "18", + number = "12", + pages = "676--683", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (68A30)", + MRnumber = "56 13752", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).", + abstract = "Some social aspects of programming are illuminated through analogies with similar aspects of mathematics and natural languages. The split between pure and applied mathematics is found similarly in programming. The development of natural languages toward flexionless, word-order based language types speaks for programming language design based on general, abstract constructs. By analogy with incidents of the history of artificial, auxiliary languages it is suggested that Fortran and Cobol will remain dominant for a long time to come. The most promising avenues for further work of wide influence are seen to be high quality program literature (i.e. programs) of general utility and studies of questions related to program style.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Datalogisk Inst., Copenhagen Univ., Copenhagen, Denmark", + journalabr = "Commun ACM", + keywords = "abstract constructs; artificial; auxiliary languages; computer programming languages; descriptive and; literature; prescriptive attitudes; programming language; programming languages; pure and applied mathematics; social aspects of automation; social aspects of programming; style", + treatment = "P Practical", +} + +@Article{Goodenough:1975:EHI, + author = "John B. Goodenough", + title = "Exception Handling: Issues and a Proposed Notation", + journal = j-CACM, + volume = "18", + number = "12", + pages = "683--696", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper defines exception conditions, discusses the requirements exception handling language features must satisfy, and proposes some new language features for dealing with exceptions in an orderly and reliable way. The proposed language features serve to highlight exception handling issues by showing how deficiencies in current approaches can be remedied.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "SofTech Inc., Waltham, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; conditions; error; exception conditions; exception handling; goto statement; language features; multilevel exit; ON conditions; programming; programming languages; proposed notation; structured programming", + treatment = "P Practical", +} + +@Article{Jazayeri:1975:IEC, + author = "Mehdi Jazayeri and William F. Ogden and William C. Rounds", + title = "The Intrinsically Exponential Complexity of the Circularity Problem for Attribute Grammars", + journal = j-CACM, + volume = "18", + number = "12", + pages = "697--706", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "52 16115", + mrreviewer = "I. Hal Sudborough", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/AG.bib", + note = "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975)", + abstract = "Attribute grammars are an extension of context-free grammars devised by Knuth as a mechanism for including the semantics of a context-free language with the syntax of the language. The circularity problem for a grammar is to determine whether the semantics for all possible sentences (programs) in fact will be well defined. It is proved that this problem is, in general, computationally intractable. Specifically, it is shown that any deterministic algorithm which solves the problem must for infinitely many cases use an exponential amount of time. An improved version of Knuth's circularity testing algorithm is also given, which actually solves the problem within exponential time.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", + classification = "721; 723", + corpsource = "Univ. of North Carolina, Chapel Hill, NC, USA", + journalabr = "Commun ACM", + keywords = "attribute grammars; automata theory; circ; circularity problem; computational complexity; computer programming languages; context free grammars; context-free grammars; deterministic algorithm; exponential time; intrinsically exponential complexity; semantics", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hunt:1975:CLK, + author = "Harry B. {Hunt, III} and Thomas G. Szymanski and Jeffrey D. Ullman", + title = "On the Complexity of {LR(k)} Testing", + journal = j-CACM, + volume = "18", + number = "12", + pages = "707--716", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (68A30)", + MRnumber = "52 12402", + mrreviewer = "Pavel Strnad", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Papers from the Second ACM Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).", + abstract = "The problem of determining whether an arbitrary context-free grammar is a member of some easily parsed subclass of grammars such as the LR(k) grammars is considered. The time complexity of this problem is analyzed both when k is considered to be a fixed integer and when k is considered to be a parameter of the test. In the first case, it is shown that for every k there exists an O(n**k** plus **2) algorithm for testing the LR(k) property, where n is the size of the grammar in question. On the other hand, if both k and the subject grammar are problem parameters, then the complexity of the problem depends very strongly on the representation chosen for k. More specifically, it is shown that this problem is NP-complete when k is expressed in unary. When k is expressed in binary the problem is complete for nondeterministic exponential time. These results carry over to many other parameterized classes of grammars, such as the LL(k), strong LL(k), SLR(k), and strong LC(k) grammars.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", + classification = "721; 723", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "automata theory; computer programming languages", + keywords = "computational complexity; context free grammar; context-free grammars; LR(k) grammars; nondeterministic exponential time; NP complete; parsing; problems; time complexity", + treatment = "T Theoretical or Mathematical", +} + +@Article{Graham:1975:FUL, + author = "Susan L. Graham and Mark Wegman", + title = "A fast and usually linear algorithm for global flow analysis", + journal = j-CACM, + volume = "18", + number = "12", + pages = "716--716", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See \cite{Graham:1976:FUL} for full paper.", + abstract = "A new algorithm for global flow analysis on reducible graphs is presented. The algorithm is shown to treat a very general class of function spaces. \par For a graph of $e$ edges, the algorithm has a worst case time bound of $O(e \log e)$ function operations. \par It is also shown that in programming terms, the number of operations is proportional to $e$ plus the number of exits from program loops. Consequently a restriction to one-entry one-exit control structures linearity. The algorithm can be extended to yet larger classes of function spaces and graphs by relaxing the time bound. Examples are given of code improvement problems which can be solved using the algorithm.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", + corpsource = "Univ. of California, Berkeley, CA, USA", + keywords = "bound; code optimisation; code optimization; common; common subexpression elimination; compression; data flow; depth-first search; flow graph; function spaces; global flow analysis; go-to-less programming; graph theory; information propagation; live-dead analysis; path; path compression; reducibility; reducible graphs; subexpression elimination; worst case time", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lipton:1975:RMP, + author = "Richard J. Lipton", + title = "Reduction: {A} Method of Proving Properties of Parallel Programs", + journal = j-CACM, + volume = "18", + number = "12", + pages = "717--721", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "53 4599", + mrreviewer = "O. A. Leticevskii", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + note = "Papers from the Second {ACM} Symposium on Principles of Programming Languages (Palo Alto, Calif., 1975).", + abstract = "When proving that a parallel program has a given property it is often convenient to assume that a statement is indivisible, i.e. that the statement cannot be interleaved with the rest of the program. Here sufficient conditions are obtained to show that the assumption that a statement is indivisible can be relaxed and still preserve properties such as halting. Thus correctness proofs of a parallel system can often be greatly simplified.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "computation sequence; computer metatheory; deadlock; free; halting; indivisible; interruptible; parallel processing; parallel programs; process; programming theory; reduction; semaphore; verification method", + treatment = "T Theoretical or Mathematical", +} + +@Article{Schwartz:1975:ADS, + author = "J. T. Schwartz", + title = "Automatic Data Structure Choice in a Language of Very High Level", + journal = j-CACM, + volume = "18", + number = "12", + pages = "722--728", + month = dec, + year = "1975", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib", + abstract = "SETL is a set-theoretically oriented language of very high level whose repertoire of semantic objects includes finite sets, ordered n-tuples, and sets of ordered n-tuples usable as mappings. This paper describes the structure of an optimizer for this language. Among other methods of interest, the optimizer uses techniques which allow relations of inclusion and membership to be established, the domains and ranges of (tabulated) mappings to be estimated from above and below, and the single-valuedness of (tabulated) mappings to be proved. Once facts of this kind have been established, automatic choice of data structures becomes possible. The methods employed are based upon, and extend, known techniques of data flow analysis.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6140D (High level languages)", + classification = "723", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "automatic programming; computer programming languages; data flow analysis; data processing --- Data Structures; data structure choice; data structures; language; mappings; optimisation; program; programming languages; programming theory; set theoretically oriented; SETL", + treatment = "T Theoretical or Mathematical", +} + +@Article{Kleinrock:1976:SLO, + author = "Leonard Kleinrock and William E. Naylor and Holger Opderbeck", + title = "A Study of Line Overhead in the {ARPANET}", + journal = j-CACM, + volume = "19", + number = "1", + pages = "3--13", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib", + abstract = "The form, extent, and effect of the communication line overhead in the ARPANET are considered. The source of this overhead is separated into various levels of protocol hierarchy and the characteristics of each level are summarized. Then the line efficiency for various models of system use is studied. Some measurements of line efficiency for the ARPANET are presented and by extrapolation these measurements are used to anticipate overhead in a heavily loaded network. Similar results are derived for a recently proposed network protocol and compared with those for the current system.", + acknowledgement = ack-nhfb, + annote = "The form, extend, and effect of the communication line overhead in the Arpanet are considered.", + classcodes = "C5620 (Computer networks and techniques)", + classification = "723", + corpsource = "Univ. of California, Los Angeles, CA, USA", + country = "USA", + date = "08/12/80", + descriptors = "ARPANET; packet switching; performance evaluation; OVERHEAD;", + enum = "1703", + journalabr = "Commun ACM", + keywords = "ARPANET; communication line; computer networks; computer systems, digital --- Time Sharing; computers; heavily loaded network; hierarchy; line efficiency; line overhead; protocol", + language = "English", + references = "23", + treatment = "P Practical", +} + +@Article{Wilhelm:1976:ADS, + author = "Neil C. Wilhelm", + title = "An Anomaly in Disk Scheduling: {A} Comparison of {FCFS} and {SSTF} Seek Scheduling Using an Empirical Model for Disk Accesses", + journal = j-CACM, + volume = "19", + number = "1", + pages = "13--18 (or 13--17??)", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A model for disk accesses based on published measurements is developed. The model is used to show that under highly probable conditions, FCFS seek scheduling is superior to SSTF scheduling in the sense of having a lower mean queue length. A simple example of an arrival sequence illustrating this anomaly is presented.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "721; 722", + corpsource = "Univ. of Rochester, Rochester, NY, USA", + journalabr = "Commun ACM", + keywords = "(computers); comparison; data storage, magnetic; disc accesses; disc scheduling; empirical model; FCFS; magnetic disc and drum storage; operating systems; seek scheduling; SSTF", + treatment = "P Practical", +} + +@Article{Agnew:1976:QAR, + author = "Carson E. Agnew", + title = "On Quadratic Adaptive Routing Algorithms", + journal = j-CACM, + volume = "19", + number = "1", + pages = "18--22", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib", + abstract = "Two analytic models of a store-and-forward communications network are constructed, one to find the optimal message routing and the other to illustrate the equilibrium (stationary state) maintained by an adaptive routing algorithm. These models show that adaptive routing does not satisfy the necessary conditions for an optimal routing. Adaptive routing tends to overuse the direct path and underuse alternate routes because it does not consider the impact of its current routing decision on the future state of the network. The form of the optimality conditions suggests that a modification of the adaptive algorithm will result in optimality. The modification requires the substitution of a quadratic bias term instead of a linear one in the routing table maintained at each network node. Simulation results are presented which confirm the theoretical analysis for a simple network.", + acknowledgement = ack-nhfb, + annote = "Two analytic models of a store-and-forward communications network are constructed, one to find the optimal message routing and the other to illustrate the equilibrium maintained by an adaptive routing algorithm. These models show that adaptive routing does not satisfy the necessary conditions for an optimal routing. Adaptive routing tends to overuse the direct path and underuse alternate routes because it does not consider the impact of the ro", + classcodes = "B6210Z (Other data transmission); C5600 (Data communication equipment and techniques)", + classification = "723", + corpsource = "Stanford Univ., Stanford, CA, USA", + country = "USA", + descriptors = "Routing algorithm; adaptive routing; quadratic routing; alternate routing; store-and-forward; computer network; distributed computing system; message switching;", + enum = "37", + journalabr = "Commun ACM", + keywords = "adaptive routing; algorithms; alternate routing; communications network; computer network; computer programming; digital communication systems; distributed network; equilibrium; forward; message switching; optimal message; quadratic adaptive routing; quadratic routing; routing; routing algorithms; store-and-forward network", + language = "English", + references = "0", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Karlton:1976:PHB, + author = "P. L. Karlton and S. H. Fuller and R. E. Scroggs and E. B. Kaehler", + title = "Performance of Height-Balanced Trees", + journal = j-CACM, + volume = "19", + number = "1", + pages = "23--28", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper presents the results of simulations that investigate the performance of height-balanced (HB left bracket k right bracket ) trees. It is shown that the only statistic of HB left bracket 1 right bracket trees (AVL trees) that is a function of the size of the tree is the time to search for an item in the tree. For sufficiently large trees, the execution times of all procedures for maintaining HB left bracket 1 right bracket trees are independent of the size of the tree.", + acknowledgement = ack-nhfb, + annote = "Binary tree balancing when inserting and deleting.", + classcodes = "C4290 (Other computer theory); C6120 (File organisation)", + classification = "723; 921", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "deletion; execution times; file organisation; height balanced trees; performance; search; traceback; trees (mathematics)", + keywords = "information retrieval systems; mathematical techniques", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Florentin:1976:IRC, + author = "J. J. Florentin", + title = "Information Reference Coding", + journal = j-CACM, + volume = "19", + number = "1", + pages = "29--33", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Items in business systems have to be identified by reference codes, which can later be used as data codes and file keys in an associated data processing system. In business systems associated with large collections of integrated files (databases) it is vital to assign codes in a methodical way so as to control future extension and changes while maintaining correct program action. The principles of methodical coding are discussed, and the way in which logical connections between data items must be reflected in the reference code framework is shown through a set-theoretic information model.", + acknowledgement = ack-nhfb, + annote = "Codes to denote associative tuples.", + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Birkbeck Coll., Univ. of London, London, UK", + journalabr = "Commun ACM", + keywords = "business systems; data codes; data handling; data processing system; data processing, business; databases; file keys; file organisation; information model; integrated files; logical connections; methodical coding; reference codes", + treatment = "P Practical", +} + +@Article{Litecky:1976:SEE, + author = "Charles R. Litecky and Gordon B. Davis", + title = "Study of Errors, Error-Proneness, and Error Diagnosis in {Cobol}", + journal = j-CACM, + volume = "19", + number = "1", + pages = "33--37", + month = jan, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper provides data on Cobol error frequency for correction of errors in student-oriented compilers, improvement of teaching, and changes in programming language. Cobol was studied because of economic importance, widespread usage, possible error-inducing design, and lack of research.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of Wisconsin, Madison, WI, USA", + journalabr = "Commun ACM", + keywords = "COBOL; computer programming languages; error diagnosis; errors; misspellings; program diagnostics; programming", + treatment = "P Practical", +} + +@Article{Knuth:1976:EAB, + author = "Donald E. Knuth", + title = "Errata: {``Ancient Babylonian algorithms''}", + journal = j-CACM, + volume = "19", + number = "2", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "108.01A15", + MRnumber = "52 13133", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "See \cite{Knuth:1972:ABA}.", + acknowledgement = ack-nhfb, +} + +@Article{Bochmann:1976:SEL, + author = "Gregor V. Bochmann", + title = "Semantic Evaluation from Left to Right", + journal = j-CACM, + volume = "19", + number = "2", + pages = "55--62", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "55 13879", + mrreviewer = "V. N. Agafonov", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/AG.bib; ftp://ftp.ira.uka.de/pub/bibliography/Database/dbase.bib", + abstract = "This paper describes attribute grammars and their use for the definition of programming languages and compilers; a formal definition of attribute grammars and a discussion of some of its important aspects are included. The paper concentrates on the evaluation of semantic attributes in a few passes from left to right over the derivation tree of a program. A condition for an attribute grammar is given which assures that the semantics of any program can be evaluated in a single pass over the derivation tree, and an algorithm is discussed which decides how many passes from left to right are in general necessary, given the attribute grammar. These notions are explained in terms of an example grammar which describes the scope rules of Algol 60. Practical questions, such as the relative efficiency of different evaluation schemes, and the ease of adapting the attribute grammar of a given programming language to the left-to-right evaluation scheme are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Univ. of Montreal, Montreal, Que., Canada", + journalabr = "Commun ACM", + keywords = "Algol 60; attribute grammars; compilers; computer programming languages; context free grammar; context-free grammars; context-free languages; derivation tree; eval class; left to right; multipass; programming languages; semantic attributes", + treatment = "T Theoretical or Mathematical", +} + +@Article{Rivest:1976:SOS, + author = "Ronald L. Rivest", + title = "On Self-Organizing Sequential Search Heuristics", + journal = j-CACM, + volume = "19", + number = "2", + pages = "63--67", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (68A20)", + MRnumber = "53 12068", + mrreviewer = "Robert Wagner", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper examines a class of heuristics for maintaining a sequential list in approximately optimal order with respect to the average time required to search for a specified element, assuming that each element is searched for with a fixed probability independent of previous searches performed. The ``move to front'' and ``transposition'' heuristics are shown to be optimal to within a constant factor, and the transposition rule is shown to be the more efficient of the two. Empirical evidence suggests that transposition is in fact optimal for any distribution of search probabilities.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723; 922", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; probability", + keywords = "combinatorial mathematics; list processing; rule; self organising; sequential search heuristics; sorting; transposition", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ives:1976:PEF, + author = "F. M. Ives", + title = "Permutation Enumeration: Four New Permutation Algorithms", + journal = j-CACM, + volume = "19", + number = "2", + pages = "68--72", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Classical permutation enumeration algorithms encounter special cases requiring additional computation every nth permutation when generating the n! permutations on n marks. Four new algorithms have the attribute that special cases occur every n(n minus 1) permutations. Two of the algorithms produce the next permutation with a single exchange of two marks. The other two algorithms infrequently exchange more than two marks, but the rules for generating the next permutation are very simple. Performance tests which have counted execution of assignment statements, comparisons, arithmetic operations, and subscripted array references have shown superiority of the new algorithms compared to Boothroyd's implementation of M. B. Wells' algorithm and Erlich's implementation of the Johnson-Trotter algorithm.", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", + classification = "723", + corpsource = "Western Washington State Coll., Bellingham, WA, USA", + journalabr = "Commun ACM", + keywords = "combinatorial mathematics; computer programming; enumeration; loop free algorithms; permutation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Martelli:1976:AHS, + author = "Alberto Martelli", + title = "Application of Heuristic Search Methods to Edge and Contour Detection", + journal = j-CACM, + volume = "19", + number = "2", + pages = "73--83", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents a method for detecting edges and contours in noisy pictures. The properties of an edge are embedded in a figure of merit and the edge detection problem becomes the problem of minimizing the given figure of merit. This problem can be represented as a shortest path problem on a graph and can be solved using well-known graph search algorithms. The relations between this representation of the minimization problem and a dynamic programming approach are discussed, showing that the graph search method can lead to substantial improvements in computing time. Moreover, if heuristic search methods are used, the computing time will depend on the amount of noise in the picture. Some experimental results are given; these show how various information about the shape of the contour of an object can be embedded in the figure of merit, thus allowing the extraction of contours from noisy pictures and the separation of touching objects.", + acknowledgement = ack-nhfb, + classcodes = "B0260 (Optimisation techniques); B6140C (Optical information, image and video signal processing); C1180 (Optimisation techniques); C1230 (Artificial intelligence); C1250 (Pattern recognition); C5530 (Pattern recognition and computer vision equipment); C7490 (Computing in other engineering fields)", + classification = "723; 921", + corpsource = "Istituto di Elaborazione della Informazione Consiglio Nazionale delle Ricerche, Piza, Italy", + journalabr = "Commun ACM", + keywords = "contours; dynamic programming; edge and contour detection; extraction of; heuristic programming; heuristic search; image processing; mathematical programming, dynamic; noisy; pattern; pattern recognition; pattern recognition systems; picture processing; pictures; problem; recognition; shortest path; solving", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Siler:1976:SEM, + author = "Kenneth F. Siler", + title = "A Stochastic Evaluation Model for Database Organizations in Data Retrieval Systems", + journal = j-CACM, + volume = "19", + number = "2", + pages = "84--95", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "This paper discusses a simulation model of a data retrieval system which has the effect of significantly reducing the cost of experimentation and enabling research never attempted before. The model is designed to estimate the retrieval workload of alternative data retrieval systems. These data retrieval systems can be organized under several database organizations, including inverted list, threaded list, and cellular list organizations and hybrid combinations of these systems. Effectiveness of the methodology is demonstrated by using the model to study the effect of database organizations in data retrieval systems.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 922", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "cellular list; data processing; data retrieval systems; database management systems; database organisations; information retrieval systems; inverted list; list; mathematical models; physical database design; simulation; stochastic evaluation model; stochastic processes; threaded", + treatment = "P Practical", +} + +@Article{Fagin:1976:CEC, + author = "Ronald Fagin", + title = "A Counterintuitive Example of Computer Paging", + journal = j-CACM, + volume = "19", + number = "2", + pages = "96--97", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 7000a", + mrreviewer = "W. Kwasowiec", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "See corrigendum \cite{Fagin:1976:CCE}.", + abstract = "A counterexample is exhibited to a natural conjecture concerning the optimal way to group records into pages in the independent reference model of computer paging (an organization is said to be optimal if the ``least recently used'' miss ratio is minimized).", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "allocation; computer operating systems; computer paging; independent reference model; least recently; most likely together; record; storage organisation; used; virtual storage", + treatment = "P Practical", +} + +@Article{Artzy:1976:FDT, + author = "Ehud Artzy and James A. Hinds and Harry J. Saal", + title = "A Fast Division Technique for Constant Divisors", + journal = j-CACM, + volume = "19", + number = "2", + pages = "98--101", + month = feb, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (10A10)", + MRnumber = "54 1707", + mrreviewer = "C. F. Kelemen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "A fast algorithm for division by constant divisors is presented. The method has proved very useful implemented as microcode on a binary machine, and can be adapted directly into hardware. The mathematical foundations of the algorithm are presented as well as some performance measures.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723", + corpsource = "State Univ. of New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "bit addressable memory; computer programming; constant divisors; digital arithmetic; fast division; microprogram", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Newell:1976:CSE, + author = "Allen Newell and Herbert A. Simon", + title = "Computer Science as Empirical Inquiry: Symbols and Search", + journal = j-CACM, + volume = "19", + number = "3", + pages = "113--126", + month = mar, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68-01", + MRnumber = "57 4555", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C6130 (Data handling techniques)", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + keywords = "artificial intelligence; cognition; computer science; empirical inquiry; heuristic programming; heuristic search; list; list processing; physical symbol systems; problem solving; processing; symbols; Turing", + treatment = "A Application; P Practical", +} + +@Article{Babad:1976:JPM, + author = "Jair M. Babad and Mario M. Modiano", + title = "Joining Policies in a Multipriority Multiclass Batch Computer System", + journal = j-CACM, + volume = "19", + number = "3", + pages = "127--136", + month = mar, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35 (68A99)", + MRnumber = "53 7429", + mrreviewer = "Erol Gelenbe", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A multipriority batch computer system which users from several different classes may join, with toll, service, and waiting charges is formulated here as a semi-Markov decision process, in which the aim of arriving users is to minimize their expected loss. The optimal joining policy of arriving users who may join the system at some of its queues is a control limit policy, with a single control number for any possible queue and the user's class; a newly arriving user will join a queue that is not filled up to the control number corresponding to this queue and the user's class. In this paper control numbers, as well as lower and upper bounds for the control numbers and the capacities of the system's queues are derived.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723; 922", + corpsource = "Univ. of Chicago, Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "batch processing (computers); control number; data processing; Markov processes; multipriority batch computer system; operating system; operations; operations research; optimal joining policy; price; priority queues; probability --- Queueing Theory; research; scheduling; semi Markow process", + treatment = "P Practical", +} + +@Article{Allen:1976:PDF, + author = "F. E. Allen and J. Cocke", + title = "A Program Data Flow Analysis Procedure", + journal = j-CACM, + volume = "19", + number = "3", + pages = "137--147 (or 137--146??)", + month = mar, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly ``reach'' each mode of the control flow graph of the program and all the definitions that are ``live'' on each edge of the graph. The procedure uses an ``interval'' ordered edge listing data structure and handles reducible and irreducible graphs indistinguishably.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "compilers; data flow analysis; data processing; edge listing data; flow graphs; optimisation; program optimisation; programming theory; static analysis; structure", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Minski:1976:IRP, + author = "Naftaly Minski", + title = "Intentional Resolution of Privacy Protection in Database Systems", + journal = j-CACM, + volume = "19", + number = "3", + pages = "148--159", + month = mar, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:28:23 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper is concerned with the control over what a user is allowed to do with a piece of information supplied to him by the database. The ability to condition the supply of information on its intended use is called here ``intentional resolution'' of privacy protection. The practical importance of intentional resolution is demonstrated by several examples, and its realization is discussed. It appears to be necessary for the database to impose a certain amount of control over the internal behavior of users' programs which interact with it. A model for user-database interaction which admits such a control is developed.", + acknowledgement = ack-nhfb, + classification = "723", + journalabr = "Commun ACM", + keywords = "data processing", +} + +@Article{Naftaly:1976:IRP, + author = "M. Naftaly", + title = "Intentional resolution of privacy protection in database systems", + journal = j-CACM, + volume = "19", + number = "3", + pages = "148--159", + month = mar, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C6120 (File organisation); C7100 (Business and administration)", + corpsource = "Rutgers Univ., New Brunswick, NJ, USA", + keywords = "data base systems; database management systems; intentional; interaction with databases; privacy protection; protection in programming languages; resolution; security; security of data", + treatment = "P Practical", +} + +@Article{Smoot:1976:DIS, + author = "O. R. Smoot", + title = "Development of an international system for legal protection of computer programs", + journal = j-CACM, + volume = "19", + number = "4", + pages = "171--174", + month = apr, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Computer and Business Equipment Mfg. Assoc., Washington, DC, USA", + keywords = "computer programs; informal report; international system; legal protection; legislation; market data; security of data; software protection; technological predictions", + treatment = "G General Review; P Practical", +} + +@Article{Lientz:1976:CEV, + author = "Bennet P. Lientz", + title = "A comparative evaluation of versions of {BASIC}", + journal = j-CACM, + volume = "19", + number = "4", + pages = "175--181", + month = apr, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "From its inception, the BASIC language has grown in terms of its usage, scope of usage, and its features. This article compares ten of the current versions of BASIC with each other, with two earlier versions, and with the proposed standard for minimal BASIC. The comparison is arranged by the features of the versions and by computational comparison of computation and times and processing costs.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "BASIC; computer programming languages; interpretive language summary", + treatment = "P Practical", +} + +@Article{Raymond:1976:LLA, + author = "J. Raymond", + title = "{LG}: {A} language for analytic geometry", + journal = j-CACM, + volume = "19", + number = "4", + pages = "182--187", + month = apr, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "50-04 50D15 68A05", + MRnumber = "57 7341", + mrreviewer = "Wolfgang Bohm", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib", + abstract = "A conversational programming language for analytic geometry is described, together with some aspects of its implementation. The language allows the flexible definition of geometric objects and elements, computes their parameters, and displays the results. It also provides the capability of specifying a geometric figure via a collection of parameters and displaying various loci corresponding to these parameters. A third characteristic consists of the possibility of using this language to design other user oriented languages. LG has been specifically designed for use by nonprogrammers; it is easy to learn and very close to the natural language used in geometry.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6140D (High level languages)", + classification = "723", + corpsource = "Univ. of Ottawa, Ottawa, Ont., Canada", + journalabr = "Commun ACM", + keywords = "analytic geometry; computer; computer graphics; computer programming languages; conventional programming language; geometry; graphics; interactive programming; LG; problem oriented language; problem oriented languages", + treatment = "P Practical", +} + +@Article{Fagin:1976:CCE, + author = "Ronald Fagin", + title = "Corrigendum: {``A Counterintuitive Example of Computer Paging''}", + journal = j-CACM, + volume = "19", + number = "4", + pages = "187", + month = apr, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 7000b", + mrreviewer = "W. Kwasowiec", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "See \cite{Fagin:1976:CEC}.", + acknowledgement = ack-nhfb, +} + +@Article{Katz:1976:LAP, + author = "Shmuel Katz and Zohar Manna", + title = "Logical Analysis of Programs", + journal = j-CACM, + volume = "19", + number = "4", + pages = "188--206", + month = apr, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "56 17183", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Most present systems for verification of computer programs are incomplete in that intermediate inductive assertions must be provided manually by the user, termination is not proven, and incorrect programs are not treated. As a unified solution to these problems, this paper suggests conducting a logical analysis of programs by using invariants which express what is actually occurring in the program. Techniques for the automatic generation of invariants are examined. Criteria for using the invariants to check simultaneously for correctness (including termination) or incorrectness are provided. Implications of the approach for the automatic diagnosis and correction of logical errors are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723; 921", + corpsource = "Weizmann Inst. of Sci., Rehovoth, Israel", + journalabr = "Commun ACM", + keywords = "automatic diagnosis; computer programming languages; correctness; incorrectness; invariants; logical analysis; mathematical techniques; program debugging; program testing; program verification", + treatment = "P Practical", +} + +@Article{Denning:1976:LMS, + author = "Dorothy E. Denning", + title = "A Lattice Model of Secure Information Flow", + journal = j-CACM, + volume = "19", + number = "5", + pages = "236--243", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A25", + MRnumber = "55 1821", + mrreviewer = "George I. Davida", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Papers from the Fifth ACM Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975).", + abstract = "Mechanisms that guarantee secure information flow in a computer system are discussed. These mechanisms are examined within a mathematical framework suitable for formulating the requirements of secure information flow among security classes. The central component of the model is a lattice structure derived from the security classes and justified by the semantics of information flow. The model provides a unifying view of all systems that restrict information flow, enables a classification of them according to security objectives, and suggests some new approaches. It also leads to the construction of automatic program certification mechanisms for verifying the secure flow of information through a program.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C6120 (File organisation); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Purdue Univ., Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; data processing; lattice; mathematical models; program certification; secure information flow; security; security classes; security of data", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Millen:1976:SKV, + author = "Jonathan K. Millen", + title = "Security Kernel Validation in Practice", + journal = j-CACM, + volume = "19", + number = "5", + pages = "243--250", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A security kernel is a software and hardware mechanism that enforces access controls within a computer system. The correctness of a security kernel on a PDP-11\slash 45 is being proved. This paper describes the technique used to carry out the first step of the proof: validating a formal specification of the program with respect to axioms for a secure system. Application of the kernel will be in providing normally responsive multiprogrammed or time-shared service to computer system users, while restricting access to data to those users with permission for it.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "MITRE Corp., Bedford, MA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems, digital --- Time Sharing; correctness; data processing; formal specification; operating systems (computers); protection; security kernel; security of data; validation; verification", + treatment = "P Practical", +} + +@Article{Lampson:1976:ROS, + author = "Butler W. Lampson and Howard E. Sturgis", + title = "Reflections on an Operating System Design", + journal = j-CACM, + volume = "19", + number = "5", + pages = "251--265", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + abstract = "The main features of a general purpose multiaccess operating system developed for the CDC 6400 at Berkeley are presented, and its good and bad points are discussed as they appear in retrospect. Distinctive features of the design were the use of capabilities for protection, and the organization of the system into a sequence of layers, each building on the facilities provided by earlier ones and protecting itself from the malfunctions of later ones. There were serious problems in maintaining the protection between layers when levels were added to the memory hierarchy. These problems are discussed and a new solution is described.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "capabilities; CDC 6400; computer operating systems; faults; hierarchy; layering domains; memory; memory hierarchy; operating system; operating systems (computers); protection; security of data; sharing programs; time-", + treatment = "P Practical", +} + +@Article{Habermann:1976:MHF, + author = "A. N. Habermann and Lawrence Flon and Lee Cooprider", + title = "Modularization and Hierarchy in a Family of Operating Systems", + journal = j-CACM, + volume = "19", + number = "5", + pages = "266--272", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + abstract = "This paper describes the design philosophy used in the construction of a family of operating systems. Fundamental to the design are the concepts of level and module. Further, the system design is structured hierarchically based upon functions. Family members can share much of the software as a result of the implementation of run-time modules at the lowest system level. The system is expected to produce several family members --- including batch and timesharing system --- with widely differing storage management strategies.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "address space; computer operating systems; data; incremental machine design; module; operating systems; operating systems (computers); type; virtual memory; virtual storage", + treatment = "P Practical", +} + +@Article{Howard:1976:PM, + author = "John H. Howard", + title = "Proving Monitors", + journal = j-CACM, + volume = "19", + number = "5", + pages = "273--279 (or 273--278??)", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Monitors are devices for defining shared abstract objects in a multiprogramming system and for scheduling access to them. It is shown that scheduling and sequential properties of monitors can be proved by using state variables which record the monitors' history and by defining extended proof rules for their wait and signal operations. These two techniques are defined, discussed, and applied to examples to prove properties such as freedom from indefinitely repeated overtaking or unnecessary waiting, upper bounds on queue lengths, and historical behavior.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. of Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "alarm; bounded buffer; clocks; computer metatheory; computer operating systems; computer systems programming --- Multiprogramming; concurrency; correctness; disc head; historical; monitors; multiprogramming; operating systems (computers); proof rules; scheduling; semaphores; variables", + treatment = "P Practical", +} + +@Article{Owicki:1976:VPP, + author = "Susan Owicki and David Gries", + title = "Verifying Properties of Parallel Programs: An Axiomatic Approach", + journal = j-CACM, + volume = "19", + number = "5", + pages = "279--285", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (68A40)", + MRnumber = "55 6925", + mrreviewer = "Derek C. Oppen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + note = "Papers from the {Fifth {ACM} Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975)}.", + abstract = "An axiomatic method for proving a number of properties of parallel programs is presented. A deductive system which is in some sense complete for partial correctness is defined. A crucial axiom provides for the use of auxiliary variables, which are added to a parallel program as an aid to proving it correct. The information in a partial correctness proof can be used to prove such properties as mutual exclusion, freedom from deadlock, and program termination. Techniques for verifying these properties are presented and illustrated by application to the dining philosophers problem. The language and axioms offered give guides for the construction of correct and comprehensible programs.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)", + classification = "723", + corpsource = "Computer Sci. Dept., Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "axiomatic method; computer metatheory; computer operating systems; computer systems programming; concurrent processes; correctness proofs; deadlock; multiprogramming; mutual exclusion; parallel processing; parallel programs; program testing; program verification; structured; synchronisation", + treatment = "P Practical", +} + +@Article{Madison:1976:CPL, + author = "A. Wayne Madison and Alan P. Batson", + title = "Characteristics of Program Localities", + journal = j-CACM, + volume = "19", + number = "5", + pages = "285--294", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib", + abstract = "The term ``locality'' is used to denote that subset of a program's segments which are referenced during a particular phase of its execution. In this paper the concept of a locality is made more explicit through a formal definition of what constitutes a phase of localized reference behavior, and by a corresponding mechanism for the detection of localities in actual reference strings. This definition provides for the existence of a hierarchy of localities at any given time. empirical data from a sample of production Algol 60 programs is used to display distributions of locality sizes and lifetimes. These results are discussed in terms of their implications for the modeling of program behavior and memory management in virtual memory systems.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Dept. of Appl. Math. and Computer Sci., Univ. of Virginia, Charlottesville, VA, USA", + journalabr = "Commun ACM", + keywords = "bounded locality intervals; computer operating systems; computer programming languages; locality; memory; memory management; program behaviour; storage management; virtual; virtual storage", + treatment = "P Practical", +} + +@Article{Prieve:1976:VOV, + author = "Barton G. Prieve and R. S. Fabry", + title = "{VMIN} --- an Optimal Variable-Space Page Replacement Algorithm", + journal = j-CACM, + volume = "19", + number = "5", + pages = "295--297", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A criterion for comparing variable space page replacement algorithms is presented. An optimum page replacement algorithm, called VMIN, is described and shown to be optimum with respect to this criterion. The results of simulating VMIN, Denning's working set, and the page partitioning replacement algorithms on five virtual memory programs are presented to demonstrate the improvement possible over the known realizable variable space algorithms.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Bell Labs., Naperville, IL, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems programming --- Supervisory and Executive Programs; demand paging; multilevel memory; optimal page replacement; page replacement algorithms; performance measurement; systems; virtual memory programs; virtual storage; VMIN; working set", +} + +@Article{Chu:1976:APR, + author = "Wesley W. Chu and Holger Opderbeck", + title = "Analysis of the {PFF} Replacement Algorithm via a {Semi-Markov} Model", + journal = j-CACM, + volume = "19", + number = "5", + pages = "298--304", + month = may, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "54 9194", + mrreviewer = "U. M. Von Maydell", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Papers from the Fifth ACM Symposium on Operating Systems Principles (Univ. Texas, Austin, Tex., 1975). See corrigendum \cite{Chu:1976:CAP}.", + abstract = "An analytical model is presented to estimate the performance of the Page Fault Frequency (PFF) replacement algorithm. In this model, program behavior is represented by the LRU stack distance model and the PFF replacement algorithm is represented by a semi-Markov model. Using these models, such parameters as the inter-page-fault interval distribution, the probability of the number of distinct pages being referenced during an inter-page-fault interval, etc., may be analytically determined. Using these models to evaluate these parameter values permits study of the performance of the replacement algorithm by simulating the page fault events rather than every page reference event. This significantly reduces the required computation time in estimating the performance of the PFF algorithm.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "behaviour; computer operating systems; computer systems programming --- Supervisory and Executive Programs; mathematical models; of replacement algorithm; page fault events; Page Fault Frequency; PFF replacement algorithm; program; semi Markov model; simulation; virtual storage", + treatment = "P Practical", +} + +@Article{Taulbee:1976:PEP, + author = "O. E. Taulbee and S. D. Conte", + title = "Production and employment of {Ph.D.}'s in computer science", + journal = j-CACM, + volume = "19", + number = "6", + pages = "311--313", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics)", + corpsource = "Univ. of Pittsburgh, Pittsburgh, PA, USA", + keywords = "computer science; employment; faculty; production; salaries", + treatment = "P Practical", +} + +@Article{Severance:1976:PGA, + author = "Dennis G. Severance and Ricardo A. Duhne", + title = "A Practitioner's Guide to Addressing Algorithms", + journal = j-CACM, + volume = "19", + number = "6", + pages = "314--326", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "This paper consolidates a number of popular rules of thumb which have been suggested for the design of record addressing algorithms, and discusses the applicability of these rules to large commercial databases. Guidelines for selecting identifier transformations, overflow techniques, loading factors, bucket sizes, and loading order are considered. Particular attention is focused on the reasonableness of common heuristics for determining primary or secondary bucket sizes. A mathematical model which explicitly considers storage device characteristics and time\slash space cost tradeoffs is used to analyze the effect of design parameters on overall system costs. A specific design example is presented and solved.", + acknowledgement = ack-nhfb, + annote = "This paper consolidates a number of popular rules of thumb which have been suggested for the design of record addressing algorithms, and discusses the applicability of these rules to large commercial databases.", + classcodes = "C6120 (File organisation); C7100 (Business and administration)", + classification = "823; 901", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "bucket; computer systems programming --- Utility Programs; data management; data processing; database management systems; file organisation; file retrieval; functions; hashing; information; information retrieval systems --- Evaluation; loading factors; record addressing; retrieval; rules of thumb; searching; sizes; synonym resolution", + treatment = "A Application; E Economic; P Practical", +} + +@Article{Baskett:1976:IMC, + author = "Forest Baskett and Alan Jay Smith", + title = "Interference in Multiprocessor Computer Systems with Interleaved Memory", + journal = j-CACM, + volume = "19", + number = "6", + pages = "327--334", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "The memory interference caused by several processors simultaneously using several memory modules is analyzed. Exact results are computed for a simple model of such a system. The limiting value is derived for the relative degree of memory interference as the system size increases. The assumptions and results of the simple model are tested against some measurements of program behavior and simulations of systems using memory references from real programs. The model results provide a good indication of the performance that should be expected from real systems of this type.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C5400 (Analogue and digital computers and systems)", + classification = "722", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "computer systems; computer systems, digital; interference; interleaved memory; memory; multiprocessing; multiprocessing systems; multiprocessor; trace driven simulation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Frieder:1976:PDA, + author = "Gideon Frieder and Harry J. Saal", + title = "Process for the Determination of Addresses in Variable Length Addressing", + journal = j-CACM, + volume = "19", + number = "6", + pages = "335--338", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm is presented for the assignment of instruction addresses and formats under the following conditions: the length of the instruction varies as a function of the distance of the instruction from its target; there exists an optimality criterion which implies some preferential choices subject to the addressing constraints. This may be, for example, achieving the smallest number of long instructions, in which case the total code length is minimized, or minimizing the assigned address of a specified point in the program. The algorithm is suitable for arbitrary program structure and a choice of optimization criteria.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation)", + classification = "723", + corpsource = "IBM Israel Sci. Center, Haifa, Israel", + journalabr = "Commun ACM", + keywords = "assembler; computer operating systems; formats; instruction addresses; paging; programming; variable length addressing; virtual storage", + treatment = "P Practical", +} + +@Article{Wise:1976:RLE, + author = "David S. Wise", + title = "Referencing Lists by an Edge", + journal = j-CACM, + volume = "19", + number = "6", + pages = "338--342", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An edge reference into a list structure is a pair of pointers to adjacent nodes. Such a reference often requires little additional space, but its use can yield efficient algorithms. For instance, a circular link between the ends of a list is redundant if the list is always referenced by that edge, and list traversal is easier when that link is null. Edge references also allow threading of nonrecursive lists, can replace some header cells, and enhance the famous exclusive-or trick to double-link lists.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Indiana Univ., Bloomington, IN, USA", + journalabr = "Commun ACM", + keywords = "circular link; computer programming --- Subroutines; computer programming languages; cursor; data structures; doubly linked; edge reference; header cells; list; list processing; list structure; overlapping sublist; pointer; traversal", + treatment = "A Application; P Practical", +} + +@Article{Schumacher:1976:SAD, + author = "Helmut Schumacher and Kenneth C. Sevcik", + title = "The synthetic approach to decision table conversion", + journal = j-CACM, + volume = "19", + number = "6", + pages = "343--351", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Previous approaches to the problem of automatically converting decision tables to computer programs have been based on decomposition. An optimal program is located only through implicit enumeration of all possible decision trees using a technique such as branch-and-bound. The new approach described in this paper uses dynamic programming to synthesize an optimal decision tree from which a program can be created. Using this approach, the efficiency of creating an optimal program is increased substantially, permitting generation of optimal programs for decision tables with as many as ten to twelve conditions.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723; 921", + corpsource = "Univ. of Toronto, Toronto, Ont., Canada", + journalabr = "Commun ACM", + keywords = "computer systems programming; decision table conversion; decision tables; decision trees; dynamic programming; mathematical techniques --- Combinatorial Mathematics; optimal program; programming theory", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Clark:1976:ELM, + author = "Douglas W. Clark", + title = "An Efficient List Moving Algorithm Using constant Workspace", + journal = j-CACM, + volume = "19", + number = "6", + pages = "352--354 (or 353--354??)", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "An efficient algorithm is presented for moving arbitrary list structures, using no storage (apart from program variables) other than that required to hold the original list and the copy. The original list is destroyed as it is moved. No mark bits are necessary, but pointers to the copy must be distinguishable from pointers to the original. The algorithm is superior in execution speed to previous algorithms for the same problem. Some variations and extensions of the algorithm are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "complexity; computer programming --- Subroutines; computer programming languages; constant workspace; data processing --- Data Structures; LISP; list copying; list moving; list processing; space; storage management", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Steele:1976:CMC, + author = "Guy L. {Steele, Jr.}", + title = "Corrigendum: {``Multiprocessing Compactifying Garbage Collection''}", + journal = j-CACM, + volume = "19", + number = "6", + pages = "354--354", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:29:03 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1976.bib", + note = "See \cite{Steele:1975:MCG}.", +} + +@Article{Knott:1976:NSP, + author = "Gary D. Knott", + title = "A Numbering System for Permutations of Combinations", + journal = j-CACM, + volume = "19", + number = "6", + pages = "355--356", + month = jun, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1976.bib", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C7310 (Mathematics computing)", + corpsource = "Nat. Inst. of Health, Bethesda, MD, USA", + keywords = "Algol procedures; coding systems; combinatorial mathematics; combinatorics; inverse; permuted combination numbering system; storage mapping functions", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Conte:1976:TCC, + author = "S. D. Conte and M. H. Halstead", + title = "Technology of Computer Center Management: a Proposed Course for Graduate Professional Programs in Computer Science or in Information Systems", + journal = j-CACM, + volume = "19", + number = "7", + pages = "369--370", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper is a report on a course entitled, ``The Technology of Computer Center Management,'' which has been offered at Purdue for the past four years. The course is suitable either for graduate professional programs in information systems or for graduate professional programs in computer science. Although there are currently no suitable textbooks for this course, a selected bibliography is included which covers various course topics.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901; 912", + corpsource = "Purdue Univ., West Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "administration; computer centre management; computer science; computer system; data processing; education; educational courses; graduate professional programs; information science; information systems; management; management science; performance", + treatment = "P Practical", +} + +@Article{Keller:1976:FVP, + author = "Robert M. Keller", + title = "Formal Verification of Parallel Programs", + journal = j-CACM, + volume = "19", + number = "7", + pages = "371--384", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "54 14430", + mrreviewer = "W. D. Maurer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "Two formal models for parallel computation are presented: an abstract conceptual model and a parallel-program model. The former model does not distinguish between control and data states. The latter model is includes the capability for the representation of an infinite set of control states by allowing there to be arbitrarily many instruction pointers (or processes) executing the program. An induction principle is presented which treats the control and data state sets on the same ground. Through the use of ``place variables'', it is observed that certain correctness conditions can be expressed without enumeration of the set of all possible control states. Examples are presented in which the induction principle is used to demonstrate proofs of mutual exclusion. Also discussed is an extension of the program model which allows each process to have its own local variables and permits shared global variables. Correctness of certain forms of implementation is also discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C5400 (Analogue and digital computers and systems); C6150G (Diagnostic, testing, debugging and evaluating systems); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Princeton Univ., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "assertions; computer metatheory --- Programming Theory; computer systems, digital; correctness; data state sets; deadlock; exclusion; mutual; operating systems (computers); parallel processing; parallel programs; Petri net; program; testing; transition system; verification", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{King:1976:SEP, + author = "James C. King", + title = "Symbolic Execution and Program Testing", + journal = j-CACM, + volume = "19", + number = "7", + pages = "385--394", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "54 6541", + mrreviewer = "P. W. Baker", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes the symbolic execution of programs. Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values. The execution proceeds as in a normal execution except that values may be symbolic formulas over the input symbols. The difficult, yet interesting issues arise during the symbolic execution of conditional branch type statements. A particular system called EFFIGY which provides symbolic execution for program testing and debugging is also described. It interpretively executes programs written in a simple PL/I style programming language. It includes many standard debugging features, the ability to manage and to prove things about symbolic expressions, a simple program testing manager, and a program verifier. A brief discussion of the relationship between symbolic execution and program proving is also included.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer metatheory --- Formal Logic; computer programming languages; debugging; EFFIGY; effigy; interpretation; PL/I; program debugging; program proving; program testing; program verification; symbolic; symbolic execution", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Metcalfe:1976:EDP, + author = "Robert M. Metcalfe and David R. Boggs", + title = "{Ethernet}: Distributed Packet Switching for Local Computer Networks", + journal = j-CACM, + volume = "19", + number = "7", + pages = "395--404", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/Ai.misc.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/misc.1.bib", + abstract = "Ethernet is a branching broadcast communication system for carrying digital data packets among locally distributed computing stations. The packet transport mechanism provided by Ethernet has been used to build systems which can be viewed as either local computer networks or loosely coupled multiprocessors. \par An Ethernet's shared communication facility, its Ether, is a passive broadcast medium with no central control. Coordination of access to the Ether for packet broadcasts is distributed among the contending transmitting stations using controlled statistical arbitration. \par Switching of packets to their destinations on the Ether is distributed among the receiving stations using packet address recognition. Design principles and implementation are described, based on experience with an operating Ethernet of 100 nodes along a kilometer of coaxial cable. A model for estimating performance under heavy loads and a packet protocol for error controlled communication are included for completeness.", + acknowledgement = ack-nhfb, + classcodes = "B6210L (Computer communications); C5620 (Computer networks and techniques)", + classification = "718; 722; 723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "broadcast; broadcast communication; communication; computer networks; computer systems, digital --- Real Time Operation; computers --- Data Communication Systems; data transmission; digital communication systems; distributed communication; distributed computing; distributed control; Ethernet; LANs; multiprocessing; multiprocessors; networks; operating; packet switching; statistical arbitration; switching systems", + treatment = "A Application; P Practical", +} + +@Article{Cheng:1976:SDR, + author = "Cheng-Wen Cheng and Jonas Rabin", + title = "Synthesis of Decision Rules", + journal = j-CACM, + volume = "19", + number = "7", + pages = "404--406", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Decision tables can be used as an effective tool during an interview to record the logic of processes to be automated. The result of such an interview is not a structure of complete decision tables but rather sets of decision rules. The purpose of this paper is to provide a procedure for synthesizing the decision rules and thus provide an aid in developing a structure of complete decision tables.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C7100 (Business and administration)", + classification = "723; 922", + corpsource = "Western Electric Res. Center, Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; data processing --- Security of Data; decision rules; decision tables; decision theory and analysis; interview; logical design; logical tables; management; specification language; system design", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Fishman:1976:SGD, + author = "George S. Fishman", + title = "Sampling from the {Gamma-distribution} on a computer", + journal = j-CACM, + volume = "19", + number = "7", + pages = "407--409", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "54 6449", + mrreviewer = "Artenio De Matteis", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib", + abstract = "This paper describes a new technique for sampling from the gamma distribution on a digital computer and compares it with an alternative technique. The method suggested uses the rejection technique.", + acknowledgement = ack-nhfb, + classcodes = "B0240 (Probability and statistics); C1140 (Probability and statistics); C7100 (Business and administration); C7310 (Mathematics computing)", + classification = "912; 922", + corpsource = "Univ. of North Carolina, Chapel Hill, NC, USA", + country = "USA", + descriptors = "RNG; simulation;", + enum = "951", + journalabr = "Commun ACM", + keywords = "gamma distribution; gamma variates; operations research; probability; probability --- Random Processes; rejection technique; sampling; shape parameter; Wallace's method", + language = "English", + references = "0", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Maly:1976:CT, + author = "Kurt Maly", + title = "Compressed Tries", + journal = j-CACM, + volume = "19", + number = "7", + pages = "409--415", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "54 9195", + mrreviewer = "Fabrizio Luccio", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper presents a new data structure, called a compressed trie or C-trie, to be used in information retrieval systems. It has the same underlying m-ary tree structure as a trie, where m is a parameter of the trie, but whereas the fields of the nodes in a trie have to be large enough to hold a key or at least a pointer, the fields in a C-trie are only one bit long. First, the C-trie is analyzed as a data structure, and then several methods of its use for relatively static data bases are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "Univ. of Minnesota, Minneapolis, MN, USA", + journalabr = "Commun ACM", + keywords = "data processing --- Data Structures; data storage, digital; data structure; data structures; database management systems; databases; information; information retrieval systems; key; m ary; retrieval systems; retrieval time; storage requirement; tree; trie", + treatment = "P Practical", +} + +@Article{Burton:1976:BSV, + author = "Warren Burton", + title = "A buddy system variation for disk storage allocation", + journal = j-CACM, + volume = "19", + number = "7", + pages = "416--417", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A generalization of the buddy system for storage allocation is described. It is shown how limitations on block sizes make it possible to force logical storage blocks to coincide with physical storage blocks, such as tracks and cylinders. This new variation of the buddy system has been developed for allocating storage for geometrical data items (polygons, sets of points, etc. ).", + acknowledgement = ack-nhfb, + classcodes = "C5320C (Storage on moving magnetic media); C6120 (File organisation)", + classification = "722; 723", + corpsource = "Univ. of East Anglia, Norwich, UK", + journalabr = "Commun ACM", + keywords = "buddy system; computer operating systems; computer systems programming --- Supervisory and Executive Programs; data storage, magnetic --- Disk; disc storage; integral valued function; magnetic disc and drum storage; storage allocation", + treatment = "P Practical", +} + +@Article{Gonnet:1976:HAE, + author = "G. H. Gonnet", + title = "Heaps applied to event driven mechanisms", + journal = j-CACM, + volume = "19", + number = "7", + pages = "417--418", + month = jul, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1976.bib", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6120 (File organisation)", + corpsource = "Univ. of Waterloo, Waterloo, Ont., Canada", + country = "USA", + descriptors = "Simulation; event set;", + enum = "7331", + keywords = "algorithm theory; data structures; discrete event simulation; event; heaps; priority queue; scanning mechanisms", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Donovan:1976:TPS, + author = "John J. Donovan", + title = "Tools and Philosophy for Software Education", + journal = j-CACM, + volume = "19", + number = "8", + pages = "430--436", + month = aug, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a set of tools and a philosophy for teaching software that have been found very useful in course at MIT over the past seven years. \par The tools include programs such as simulators, graders, compilers, and monitor. These allow the instructor to augment the basic concepts with relevant, exciting, and economical student project activities.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming)", + classification = "723; 901", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; computer software; education; grading; grading programs; philosophy; programs; simulators; software education; student assignments; tools", + treatment = "P Practical", +} + +@Article{Tennent:1976:DSP, + author = "R. D. Tennent", + title = "The Denotational Semantics of Programming Languages", + journal = j-CACM, + volume = "19", + number = "8", + pages = "437--453", + month = aug, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "55 1791", + mrreviewer = "Gianni Aguzzi", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey. The application of the theory to formal language specification is demonstrated and other applications are surveyed. The first language considered, LOOP, is very elementary and its definition merely introduces the notation and methodology of the approach. Then the semantic concepts of environments, stores, and continuations are introduced to model classes of programming language features and the underlying mathematical theory of computation due to Scott is motivated and outlined. Finally, the paper presents a formal definition of the language GEDANKEN.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "721; 723", + corpsource = "Queen's Univ., Kingston, Ont., Canada", + journalabr = "Commun ACM", + keywords = "applicative; automata theory --- Context Free Languages; computer metatheory; computer programming languages --- Analysis; continuation; environment; formal language; formal languages; function; functional; GEDANKEN; gedanken; higher order; higher-order function; imperative; loop; LOOP; mathematical theory of computation; pl-semantics binder; programming language; programming languages; recursive definition; semantics; store; theory of computation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Clark:1976:DS, + author = "James H. Clark", + title = "Designing Surfaces in {3-D}", + journal = j-CACM, + volume = "19", + number = "8", + pages = "454--460", + month = aug, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A99 (50D15 65D10)", + MRnumber = "54 4216", + mrreviewer = "Wolfgang Bohm", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/virtual.bib", + abstract = "An experimental system for computer-aided design of free-form surfaces in three dimensions is described. The surfaces are represented in the system as parametric basis splines. The principal features of the system are: the surfaces are rendered as isoparametric line drawings on a head-mounted display, and they are designed with the aid of a three-dimensional ``wand,'' which allows 3-D movements of the points controlling the shapes of the surfaces; all of the interactions with the surfaces are in real-time; and the mathematical formulations used assume no knowledge of them by the user of the system. Also examined are some of the features that should be part of a practical 3-D system for designing space-forms.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays)", + classification = "722; 723; 901", + corpsource = "Univ. of Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "3D displays; B splines; CAD; computer graphics; computer peripheral equipment --- Light Pens; computer systems, digital --- Real Time Operation; computer-aided design; engineering --- Computer Aided Design; free form surfaces; image processing; isoparametric line drawings; picture processing; real; surface design; surfaces; three dimensional surfaces; time graphics", + treatment = "A Application; P Practical; X Experimental", +} + +@Article{Harrison:1976:POS, + author = "Michael A. Harrison and Walter L. Ruzzo and Jeffrey D. Ullman", + title = "Protection in Operating Systems", + journal = j-CACM, + volume = "19", + number = "8", + pages = "461--471", + month = aug, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A99", + MRnumber = "54 14474", + mrreviewer = "George I. Davida", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib", + abstract = "A model of protection mechanisms in computing systems is presented and its appropriateness is argued. The ``safety'' problem for protection systems under this model is to determine in a given situation whether a subject can acquire a particular right to an object. In restricted cases, it can be shown that this problem is decidable; i.e., there is an algorithm to determine whether a system in a particular configuration is safe. In general, and under surprisingly weak assumptions, it cannot be decided if a situation is safe. Various implications of this fact are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4220 (Automata theory); C6150J (Operating systems)", + classification = "721; 723", + corpsource = "Univ. of California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "(computers); automata theory --- Turing Machines; computability and decidability; computer operating systems --- Design; computer security; data processing; decidability; operating systems; protection; protection systems; security model; security of data; Turing machine; Turing machines", + ort = "ordner sicherheit", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Hirschberg:1976:ITO, + author = "D. S. Hirschberg", + title = "An Insertion Technique for One-Sided Height-Balanced Trees", + journal = j-CACM, + volume = "19", + number = "8", + pages = "471--473", + month = aug, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A restriction on height-balanced binary trees is presented. It is seen that this restriction reduces the extra memory requirements by half (from two extra bits per node to one) and maintains fast search capabilities at a cost of increased time requirements for inserting new nodes.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "723", + corpsource = "Princeton Univ., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "balanced; balanced trees; binary; binary trees; computer programming; data processing; insertion technique; one sided height; search; trees; trees (mathematics)", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Chu:1976:CAP, + author = "Wesley W. Chu and Holger Opderbeck", + title = "Corrigendum: {``Analysis of the PFF replacement algorithm via a semi-Markov model''}", + journal = j-CACM, + volume = "19", + number = "9", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "529.68A50", + MRnumber = "55 6998", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "See \cite{Chu:1976:APR}.", + acknowledgement = ack-nhfb, +} + +@Article{Wegbreit:1976:CRC, + author = "Ben Wegbreit", + title = "Corrigendum: ``{Faster Retrieval from Context Trees}''", + journal = j-CACM, + volume = "19", + number = "9", + pages = "??--??", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:31:01 1997", + note = "See \cite{Wegbreit:1976:FRC}.", + keywords = "context trees; data structures; frame problem; variable bindings", + xxnote = "Cannot find this corrigendum in 1976--1977 issues, or on Compendex database, or in ACM Computing Archive CD-ROM.??", +} + +@Article{Wadler:1976:AAR, + author = "Philip L. Wadler", + title = "Analysis of an Algorithm for Real Time Garbage Collection", + journal = j-CACM, + volume = "19", + number = "9", + pages = "491--500", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "54 14473", + mrreviewer = "George I. Davida", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "List processing systems often use a method called garbage collection for reclaiming unused memory space. A real time garbage collection system avoids suspending the operations of a list processor for the long times that garbage collection normally requires by performing garbage collection on a second processor in parallel with list processing operations, or on a single processor time-shared with them. Algorithms for recovering discarded list structures in this manner are presented and analyzed to determine sufficient conditions under which the list processor never need to wait on the collector. These techniques are shown to require at most twice as much processing power as regular garbage collectors, if they are used efficiently. The average behavior of the program is shown to be very nearly equal to the worst-case performance, so that the sufficient conditions are also suitable for measuring the typical behavior of the algorithm.", + acknowledgement = ack-nhfb, + classcodes = "C5400 (Analogue and digital computers and systems); C6120 (File organisation)", + classification = "723", + comment = "This algorithm contains an error that is pointed out by \cite{Gries:1977:BPB}", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; computer programming languages --- lisp; computer systems programming; data processing --- Data Structures; data structure; data structures; garbage collection; Lisp; list; list processor; multiprocessing; parallel processing; processing; real time; storage management; storage reclamation; time change", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Yap:1976:NUB, + author = "Chee K. Yap", + title = "New Upper Bounds for Selection", + journal = j-CACM, + volume = "19", + number = "9", + pages = "501--508", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "54 6559", + mrreviewer = "Thomas G. Szymanski", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The worst-case, minimum number of comparisons complexity V//i (n) of the i-th selection problem is considered. A new upper bound for V//i (n) improves the bound given by the standard Hadian-Sobel algorithm by a generalization of the Kirkpatrick-Hadian-Sobel algorithm, and extends Kirkpatrick's method to a much wider range of application. This generalization compares favorably with a recent algorithm by L. Hyafil.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Dept. of Computer Sci., Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "comparison problems; computational complexity; computer metatheory; concrete computational complexity; selection problem; upper bounds; worst case analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Loui:1976:WDT, + author = "Michael C. Loui", + title = "Weighted Derivation Trees", + journal = j-CACM, + volume = "19", + number = "9", + pages = "509--513", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "54 1727", + mrreviewer = "Stephen Soule", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The nodes of a weighted derivation tree are associated with weighting functions over the vocabulary of a context-free grammar. An algorithm is presented for constructing the optimal derivation tree having the same structure as a given weighted derivation tree. In addition, the correctness of the algorithm is established. The method may be applied to problems involving probabilistic parsing or combinatorial optimization.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "721; 723; 921", + corpsource = "Dept. of Computer Sci., Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "ambiguity; automata theory; combinatorial optimisation; computer programming --- Subroutines; context free grammars; context-free grammars; derivation trees; mathematical programming; parse tree; parsing; probabilistic; structural; trees (mathematics); weighting functions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Walter:1976:RAC, + author = "Kenneth G. Walter", + title = "Recursion Analysis for Compiler Optimization", + journal = j-CACM, + volume = "19", + number = "9", + pages = "514--516", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A relatively simple method for the detection of recursive use of procedures is presented for use in compiler optimization. Implementation considerations are discussed, and a modification of the algorithm is given to further improve optimization. This analysis can also be used to determine what possible subset of values could be assumed by variables which can only take on a relatively small discrete set of values. The most common are parameters of variables assuming values of label, procedure, or Pascal's enumerated type.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Computing and Information Sci. Dept., Case Western Reserve Univ., Cleveland, OH, USA", + journalabr = "Commun ACM", + keywords = "compiler optimisation; computer operating systems; nonrecursion; optimisation; program compilers; recursion analysis; relative", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Bitner:1976:EGB, + author = "James R. Bitner and Gideon Ehrlich and Edward M. Reingold", + title = "Efficient Generation of the Binary Reflected {Gray} Code and Its Applications", + journal = j-CACM, + volume = "19", + number = "9", + pages = "517--521", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94A10 (68A10)", + MRnumber = "54 12349", + mrreviewer = "B. D. Sharma", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Algorithms are presented to generate the n-bit binary reflected Gray code and codewords of fixed weight in that code. Both algorithms are efficient in that the time required to generate the next element from the current one is constant. Applications to the generation of the combinations of n things taken k at a time, the compositions of integers, and the permutations of a multiset are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723; 921", + corpsource = "Dept. of Computer Sci., Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; codes, symbolic; combinations; combinatorial computing; compositions; computer programming --- Subroutines; fixed weight; Gray code; mathematical techniques; subsets", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Deutsch:1976:EIA, + author = "L. Peter Deutsch and Daniel G. Bobrow", + title = "An Efficient, Incremental, Automatic Garbage Collector", + journal = j-CACM, + volume = "19", + number = "9", + pages = "522--526", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A reference count scheme for reclaiming non-self-referential structures, and a linearizing, compacting, copying scheme to reorganize all storage at the users discretion are proposed. The algorithms are designed to work well in systems which use multiple levels of storage, and large virtual address space. They depend on the fact that most cells are referenced exactly once, and that reference counts need only be accurate when storage is about to be reclaimed. A transaction file stores changes to reference counts, and a multiple reference table stores the count for items which are referenced more than once.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + comment = "Transaction-based reference counting; interesting blend of marking and ref-counting collection", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "address space; computer operating systems --- Storage Allocation; computer programming; computer programming languages --- lisp; garbage collector; Lisp; multiple reference; olit memory lisp; storage management; storage reclamation; table stores; transaction file stores; virtual", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Wegbreit:1976:FRC, + author = "Ben Wegbreit", + title = "Faster Retrieval from Context Trees", + journal = j-CACM, + volume = "19", + number = "9", + pages = "526--529", + month = sep, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "See corrigendum \cite{Wegbreit:1976:CRC}.", + abstract = "Context trees provide a convenient way of storing data which is to be viewed as a hierarchy of contexts. This note presents an algorithm which improves on previous context tree retrieval algorithms. It is based on the observation that in typical uses context changes are infrequent relative to retrievals, so that data can be cached to speed up retrieval. A retrieval is started from the position of the previous retrieval and auxiliary structures are built up to make the search rapid. Algorithms for addition and deletion of data and for garbage collection are outlined.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6120 (File organisation)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; context tree; context trees; data processing --- Data Structures; data structure; data structures; frame problem; garbage collection; retrieval algorithms; storage management; trees (mathematics); variable bindings", + treatment = "T Theoretical or Mathematical", +} + +@Article{Blinn:1976:TRC, + author = "James F. Blinn and Martin E. Newell", + title = "Texture and Reflection in Computer Generated Images", + journal = j-CACM, + volume = "19", + number = "10", + pages = "542--547", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib", + abstract = "In 1974 E. A. Catmull developed a new algorithm for rendering images of bivariate surface patches. This paper describes extensions of this algorithm in the areas of texture simulation and lighting models. The parametrization of a patch defines a coordinate system which is used as a key for mapping patterns onto the surface. The intensity of the pattern at each picture element is computed as a weighted average of regions of the pattern definition function. The shape and size of this weighting function are chosen using digital signal processing theory. The patch rendering algorithm allows accurate computation of the surface normal to the patch at each picture element, permitting the simulation of mirror reflections. Several examples of images synthesized using these new techniques are included.", + acknowledgement = ack-nhfb, + annote = "early paper on texture mapping, discusses spherical sky textures", + classcodes = "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)", + classification = "723", + corpsource = "Univ. of Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "CACM; computer graphics; computerised picture processing; graphic display; hidden surface removal; image processing; reflection of light; shading; texture environment; texture mapping; texture simulation", + treatment = "A Application; P Practical; T Theoretical or Mathematical", +} + +@Article{Clark:1976:HGM, + author = "James H. Clark", + title = "Hierarchical Geometric Models for Visible Surface Algorithms", + journal = j-CACM, + volume = "19", + number = "10", + pages = "547--554", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib", + abstract = "By using an extension of traditional structure information, or a geometric hierarchy, five significant improvements to current techniques of computer picture production are possible. First, the range of complexity of an environment is greatly increased while the visible complexity of any given scene is kept within a fixed upper limit. Second, a meaningful way is provided to vary the amount of detail presented in a scene. Third, ``clipping'' becomes a very fast logarithmic search for the resolvable parts of the environment within the field of view. Fourth, frame to frame coherence and clipping define a graphical ``working set,'' or fraction of the total structure that should be present in primary store for immediate access by the visible surface algorithm. Finally, the geometric structure suggests a recursive descent, visible surface algorithm in which the computation time potentially grows linearly with the visible complexity of the scene.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)", + classification = "723; 921", + corpsource = "Univ. of California, Santa Cruz, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithms; computer graphics; geometric models; hidden surface; hierarchical data structures; image processing; mathematical techniques --- Combinatorial Mathematics; model; visible surface algorithms", + treatment = "A Application; P Practical; T Theoretical or Mathematical", +} + +@Article{Levin:1976:PAD, + author = "Joshua Z. Levin", + title = "A Parametric Algorithm for Drawing Pictures of Solid Objects Composed of Quadric Surfaces", + journal = j-CACM, + volume = "19", + number = "10", + pages = "555--563", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "55 13867", + mrreviewer = "Wolfgang Bohm", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/graphics.bib", + abstract = "An algorithm for drawing pictures of three-dimensional objects, with surfaces made up of patches of quadric surfaces, is described. The emphasis of this algorithm is on calculating the intersections of quadric surfaces. A parameterization scheme is used. Each quadric surface intersection curve (QSIC) is represented as a set of coefficients and parameter limits. Each value of the parameter represents at most two points, and these may easily be distinguished. This scheme can find the coordinates of points of even quartic (fourth-order) intersection curves, using equations of no more than second order. Methods of parameterization for each type of QSIC are discussed, as well as surface bounding and hidden surface removal.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)", + classification = "723; 921", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "algorithms; computer graphics; curves and surfaces; graphics; hidden; intersections; mathematical techniques --- Function Evaluation; parametric algorithm; quadric surface intersection curve; quadric surfaces; quadrics; scanline algorithms; solid objects; surface bounding; surface removal; surfaces; three dimensional", + treatment = "A Application; P Practical; T Theoretical or Mathematical", +} + +@Article{Burtnyk:1976:IST, + author = "N. Burtnyk and M. Wein", + title = "Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key Frame Animation", + journal = j-CACM, + volume = "19", + number = "10", + pages = "564--569", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.76.bib", + abstract = "A significant increase in the capability for controlling motion dynamics in key frame animation is achieved through skeleton control. This technique allows an animator to develop a complex motion sequence by animating a stick figure representation of an image. This control sequence is then used to drive an image sequence through the same movement. \par The simplicity of the stick figure image encourages a high level of interaction during the design stage. Its compatibility with the basic key frame animation technique permits skeleton control to be applied selectively to only those components of a composite image sequence that require enhancement.", + acknowledgement = ack-nhfb, + classcodes = "C5540 (Terminals and graphic displays); C6130B (Graphics techniques)", + classification = "723; 742", + corpsource = "Nat. Res. Council of Canada, Ottawa, Ont., Canada", + journalabr = "Commun ACM", + keywords = "computer generated animation; computer graphics; computerised picture processing; figure animation; image processing; interactive graphics; interactive skeleton; interactive skeleton control; key frame animation; motion analysis and motion dynamics; motion pictures --- Animation; skeleton control; stick; stick figure animation", + treatment = "A Application; P Practical; T Theoretical or Mathematical", +} + +@Article{Frane:1976:BBS, + author = "James W. Frane", + title = "The {BMD} and {BMDP} Series of Statistical Computer Programs", + journal = j-CACM, + volume = "19", + number = "10", + pages = "570--576", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/siggraph/76.bib", + abstract = "The BMD and BMDP series are the results of methodological research and programming effort at the UCLA Health Sciences Computing Facility since 1957. The original users of the BMD and BMDP programs were intended to be researchers in the health sciences. However, the programs have been used for a wide variety of biological and behavioral applications. The programs are also used for problems in the physical sciences, although they are not intended to solve highly ill-conditioned problems which are sometimes encountered there. Control language, graphics capabilities, statistical features, data management and limitations are discussed.", + acknowledgement = ack-nhfb, + classcodes = "B0240 (Probability and statistics); C1140 (Probability and statistics); C6130 (Data handling techniques); C7310 (Mathematics computing); C7330 (Biology and medical computing); C7810 (Social and behavioural sciences computing)", + classification = "723; 922", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "analysis; analysis of; biology computing; BMD; BMDP; cluster analysis; computing; contingency tables; data; data processing; discriminant analysis; factor analysis; graphics; mathematical statistics --- Computer Applications; outlines; regression; social and behavioural sciences; statistical analysis; statistical computer programs; statistics; time series; variance", + treatment = "A Application; P Practical", +} + +@Article{Duong-Kien:1976:IMA, + author = "C. Duong-Kien and H.-J. Hoffmann and D. Muth", + title = "An improvement to {Martin}'s algorithm for computation of linear precedence functions", + journal = j-CACM, + volume = "19", + number = "10", + pages = "576--577", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "54 9176", + mrreviewer = "Daniel J. Rosenkrantz", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + corpsource = "Tech. Hochschule Darmstadt, Darmstadt, West Germany", + keywords = "Boolean; Boolean algebra; linear precedence functions; matrices; syntax analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Montanelli:1976:SWM, + author = "Richard G. {Montanelli, Jr.} and Sandra A. Mamrak", + title = "Status of Women and Minorities in Academic Computer Science", + journal = j-CACM, + volume = "19", + number = "10", + pages = "578--581", + month = oct, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The results of a survey concerning women and minority students and faculty in computer science during the years 1971 to 1975 are presented. Analysis of the data indicates that effective affirmative action programs for recruitment into graduate degree programs are needed to enlarge the number of women and minorities qualified for later employment in computer science. Also, possible discrimination in employment of women and minority graduate students is revealed.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901", + corpsource = "Dept. of Computer Sci., Univ. of Illinois, Urbana, IL, USA", + journalabr = "Commun ACM", + keywords = "academic employment; affirmative action; computer programming; computer science; computer science education; data processing; discrimination against; discrimination against women; education; employment; faculty; graduate students; minorities", + treatment = "P Practical", +} + +@Article{Ross:1976:HHS, + author = "D. T. Ross", + title = "Homilies for humble standards (computer applications)", + journal = j-CACM, + volume = "19", + number = "11", + pages = "595--600", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C7000 (Computer applications)", + corpsource = "SofTech. Inc., Waltham, MA, USA", + keywords = "computer applications; standards; systems methodology", + treatment = "P Practical", +} + +@Article{Ledgard:1976:CUC, + author = "Henry F. Ledgard and William C. Cave", + title = "{Cobol} Under Control", + journal = j-CACM, + volume = "19", + number = "11", + pages = "601--608", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A sample set of Cobol programming standards is offered. These standards constrain code to be developed in a ``structured'' form for both data and control structures. They do not require syntax beyond the existing Cobol language and in fact utilize a typical limited subset of the 1974 ANS Cobol standard. This approach has reduced the cost and time to produce and maintain large software systems.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6140D (High level languages)", + classification = "723; 912", + corpsource = "Univ. of Massachusetts, Amherst, MA, USA", + journalabr = "Commun ACM", + keywords = "COBOL; computer programming --- Structured Programming; computer programming languages; computer programs --- Standardization; control structures; data structure; live; management; multiple customer environments; programming standards; sample set; standards; structured programming", + treatment = "P Practical", +} + +@Article{Wilcox:1976:DIT, + author = "Thomas R. Wilcox and Alan M. Davis and Michael H. Tindall", + title = "Design and Implementation of a Table Driven, Interactive Diagnostic Programming System", + journal = j-CACM, + volume = "19", + number = "11", + pages = "609--616", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "CAPS is a highly interactive diagnostic compiler\slash interpreter that allows beginning programmers to prepare, debug, and execute fairly simple programs at a graphics display terminal. Complete syntax checking and most semantic analysis is performed as the program is entered and as it is subsequently edited. Analysis is performed character by character. The most remarkable feature of CAPS is its ability to automatically diagnose errors both at compile time and at run time. Errors are not automatically corrected. Instead, CAPS interacts with the student to help him find the cause of his error. Most components of CAPS are table driven, both to reduce the space needed for implementation and to increase the flexibility of the multilingual system. Over 500 students have used CAPS to learn Fortran, PL/I, or Cobol in conjunction with a computer assisted course on introductory computer science.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6150C (Compilers, interpreters and other processors)", + classification = "722; 723; 901", + corpsource = "Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "caps; CAPS; compiler/interpreter; compilers; computer operating systems --- Program Compilers; computer programming languages --- Procedure Orientation; computer science education; computer systems, digital; data processing --- Educational Applications; design; education --- Computer Applications; implementation; interactive diagnostic; interactive programming; Plato IV; program; program interpreters; programming system; student; table driven", + treatment = "P Practical", +} + +@Article{Rubin:1976:ETF, + author = "Frank Rubin", + title = "Experiments in Text File Compression", + journal = j-CACM, + volume = "19", + number = "11", + pages = "617--623 (or 617--622??)", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A system for the compression of data files, viewed as strings of characters, is presented. \par The method is general, and applies equally well to English, to PL/I, or to digital data. The system consists of an encoder, an analysis program, and a decoder. \par Two algorithms for encoding a string differ slightly from earlier proposals. The analysis program attempts to find an optimal set of codes for representing substrings of the file. Four new algorithms for this operation are described and compared. Various parameters in the algorithms are optimized to obtain a high degree of compression for sample texts.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "IBM, Poughkeepsie, NY, USA", + journalabr = "Commun ACM", + keywords = "analysis program; comparison of algorithms; computer programming --- Subroutines; data file compaction; data processing; decoder; encoder; Huffman codes; N-gram encoding; strings of characters; text compression; text editing; text file compression", + treatment = "P Practical; X Experimental", +} + +@Article{Eswaran:1976:NCP, + author = "K. P. Eswaran and J. N. Gray and R. A. Lorie and I. L. Traiger", + title = "The notions of consistency and predicate locks in a database system", + journal = j-CACM, + volume = "19", + number = "11", + pages = "624--633", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "57 2005", + mrreviewer = "W. W. Armstrong", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: IBM Research Report RJ1487, San Jose, CA, December, 1974.", + abstract = "In database systems, users access shared data under the assumption that the data satisfies certain consistency constraints. This paper defines the concepts of transaction, consistency and schedule and shows that consistency requires that a transaction cannot request new locks after releasing a lock. Then it is argued that a transaction needs to lock a logical rather than a physical subset of the database. These subsets may be specified by predicates. An implementation of predicate locks which satisfies the consistency condition is suggested.", + acknowledgement = ack-nhfb, + annote = "If transactions are well-formed (they obtain and release all locks required to avoid conflicts) and 2-phase (they don't obtain locks after having released one), they maintain consistency. Original 2-phase protocol. Serializability? Definitions of transactions, permissible locking sequence in transactions, the importance and complexity of predicate locks. Two-phase transactions.", + classcodes = "C6120 (File organisation); C7100 (Business and administration)", + classification = "723; 913", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems --- Scheduling; computer systems programming --- Multiprocessing Programs; consistency; data base systems; database management systems; database system; predicate locks; relation database IBM San Jose CACM; schedule; shared data; transaction", + treatment = "P Practical", +} + +@Article{Maruyama:1976:ORD, + author = "K. Maruyama and S. E. Smith", + title = "Optimal Reorganization of Distributed Space Disk Files", + journal = j-CACM, + volume = "19", + number = "11", + pages = "634--642", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Os/storage.bib", + abstract = "A basic problem in database maintenance is to establish the proper tradeoff between performance, storage costs, and reorganization costs. This paper considers the optimum points at which to reorganize database. A disk file organization which allows for distributed free space is described. The file is called a DSDF (Distributed Space Disk File). A cost function describing the excess costs due to physical disorganization is defined, and this function is minimized to obtain the optimum reorganization points. Numerical examples based on the characteristics of existing disk storage devices are given.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "722; 723; 901", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "accessing; cost; data base systems --- Optimization; data processing --- File Organization; data storage, magnetic; database organizations; disc files; distributed space; DSDF; file organisation; information retrieval systems; insertions; magnetic disc and drum storage; memory hierarchy; performance; reorganizing; updates", + treatment = "P Practical", +} + +@Article{Hamlet:1976:HBL, + author = "Richard G. Hamlet", + title = "High-Level Binding with Low-Level Linkers", + journal = j-CACM, + volume = "19", + number = "11", + pages = "642--644", + month = nov, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An easy to implement scheme is described by which a compiler can enforce agreement between complex data types in separately compiled modules. The scheme is designed to work with any existing link editor or linking loader, no matter how deficient. Obscure run-time errors caused by inconsistent usages are forestalled by static errors detected at linking time.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "agreement; compiler; complex data types; computer operating systems; computer programming languages; high level binding; link editor; low level linkers; modules; program compilers; separately compiled", + treatment = "P Practical", +} + +@Article{Sammet:1976:RPL, + author = "Jean E. Sammet", + title = "Roster of Programming Languages for 1974--75", + journal = j-CACM, + volume = "19", + number = "12", + pages = "655--669", + month = dec, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This roster contains a list of 167 currently existing higher-level languages which have been developed or reported in the United States; have been implemented on at least one general-purpose computer; and are believed to be in use in the United States by someone other than the developer. A programming ( equals higher-level) language is defined as a set of characters and rules for combining them which has the following characteristics: the language requires no knowledge of machine code by the user; the language is significantly independent of a particular computer; there is a one-many translation of instructions from source code to object code; and the notation of the language is fairly natural to its problem area and is not a fixed tabular format. Of the total of 167 languages, 79 are in categories: numerical scientific, business data processing, list processing, string processing, formula manipulation, and multipurpose. The remaining 88 are in various specialized application areas.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "IBM, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; computer programming languages; higher level language; programming languages", + treatment = "G General Review; P Practical", +} + +@Article{Arden:1976:CSE, + author = "Bruce W. Arden", + title = "The Computer Science and Engineering Research Study ({COSERS})", + journal = j-CACM, + volume = "19", + number = "12", + pages = "670--673", + month = dec, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The Computer Science and Engineering Research Study (COSERS) is briefly described. The motivation, organization, and schedule for this NSF supported study are given. For possible further reference, the subject area panel chairmen and the members of the Steering Committee are identified.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + classification = "901; 912", + corpsource = "Princeton Univ., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer engineering research; computer science research; computers --- Research; COSERS; engineering research; national research study; research and development management", + treatment = "P Practical", +} + +@Article{Nunamaker:1976:CAD, + author = "J. F. {Nunamaker, Jr.} and Benn R. {Konsynski, Jr.} and Thomas Ho and Carl Singer", + title = "Computer-Aided Analysis and Design of Information Systems", + journal = j-CACM, + volume = "19", + number = "12", + pages = "674--687", + month = dec, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes the use of computer-aided analysis for the design and development of an integrated financial management system by the Navy Material Command Support Activity (NMCSA). Computer-aided analysis consists of a set of procedures and computer programs specifically designed to aid in the process of applications software design, computer selection and performance evaluation. There are four major components: Problem Statement Language, Problem Statement Analyzer, Generator of Alternative Designs, and Performance Evaluator. The statement of requirements was written in ADS (Accurately Defined Systems) and analyzed by a Problem Statement Analyzer for ADS. The analyzed problem statement was translated to the form necessary for use by the SODA (Systems Optimization and Design Algorithm) program for the generation of alternative specifications of program modules and logical database structures.", + acknowledgement = ack-nhfb, + classcodes = "B7900 (Military systems and equipment); B7990 (Other military topics); C6110 (Systems analysis and programming); C7120 (Financial computing); C7150 (Military computing)", + classification = "723; 901", + corpsource = "Univ. of Arizona, Tucson, AZ, USA", + journalabr = "Commun ACM", + keywords = "accurately defined systems; ads; analysis; CAD; computer aided analysis; computer systems, digital --- Computer Aided Design; computer-aided analysis; data base systems --- Computer Aided Design; data processing --- Financial Applications; financial data processing; financial management system; information retrieval systems; information systems; integrated; logic design --- Computer Aids; logical database structures; management information systems; military computing; performance evaluator; problem statement analyser; problem statement language; soda; systems", + treatment = "A Application; E Economic; P Practical", +} + +@Article{Stockman:1976:SPR, + author = "George Stockman and Laveen Kanal and M. C. Kyle", + title = "Structural Pattern Recognition of Carotid Pulse Waves Using a General Waveform Parsing System", + journal = j-CACM, + volume = "19", + number = "12", + pages = "688--695", + month = dec, + year = "1976", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A general waveform parsing system (WPS) with application to structural pattern recognition of carotid pulse waves is described. The carotid arterial pulse wave is of medical importance because of variation in its structure induced by arterial aging and cardiovascular disease. The syntax-driven waveform analysis system has been applied with good results to these pulse waves to detect and measure structural variations. The waveform applied with good results to these pulse waves to detect and measure structural variations. The waveform parsing system is modeled on a compiler-compiler system and allows the user to enter application specific information as data. It is thus general enough to be applicable to other waveforms.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1120 (Mathematical analysis); C1250 (Pattern recognition); C1290L (Systems theory applications in biology and medicine); C7330 (Biology and medical computing)", + classification = "461; 721; 723", + journalabr = "Commun ACM", + keywords = "automata theory --- Context Free Languages; biomedical engineering --- Computer Aided Diagnosis; cardiovascular disease; carotid pulse waves; data processing --- Medical Information; medical computing; pattern recognition; pattern recognition systems; structural pattern recognition; waveform analysis; waveform parsing system", + treatment = "T Theoretical or Mathematical", +} + +@Article{vanGelder:1977:SPC, + author = "Allen {van Gelder}", + title = "Structured programming in {COBOL}: an approach for application programmers", + journal = j-CACM, + volume = "20", + number = "1", + pages = "2--12", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "Techniques for designing and writing Cobol programs are presented. Previous work in structured programming is drawn upon and adapted. The presentation is informal: the terminology is nonmathematical as far as possible, no theorems are proved, and examples are used frequently. Top-down program design is implemented through the use of structured flowcharts, disciplined specifications, and step by step verification. A well-formed Cobol program is defined. The proper use of the GO TO and other Cobol coding practices are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6140D (High level languages)", + classification = "723", + corpsource = "ACM, Seattle, WA, USA", + country = "USA", + descriptors = "Program construction; COBOL; standard;", + enum = "3174", + journalabr = "Commun ACM", + keywords = "application; application programming; COBOL; Cobol; computer metatheory --- Programming Theory; computer programming; computer programming languages --- Cobol; flowchart; GO TO; GO TO statement; program verification; programming; repeat statement; software reliability; structured flowcharts; structured programming; top down; top-down; well formed program; well-formed program", + language = "English", + references = "24", + treatment = "P Practical", +} + +@Article{Austing:1977:SLC, + author = "Richard H. Austing and Bruce H. Barnes and Gerald L. Engel", + title = "A Survey of the Literature in Computer Science Education Since {Curriculum '68}", + journal = j-CACM, + volume = "20", + number = "1", + pages = "13--21", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A bibliography of approximately two hundred references in computer science education appearing in the literature since the publication of ``Curriculum '68'' is presented. The bibliography itself is preceded by brief descriptive materials organizing the references into the categories of survey reports, activities of professional organizations, philosophy of programs, description of programs, description of courses and other materials.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901; 912", + corpsource = "ACM, Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "bibliography; computer science; computer science curricula; computer science education; computers; curricula; education; education --- Bibliographies", + treatment = "B Bibliography", +} + +@Article{Babad:1977:RFP, + author = "Jair M. Babad", + title = "A Record and File Partitioning Model", + journal = j-CACM, + volume = "20", + number = "1", + pages = "22--31 (or 22--30??)", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "This paper presents a model in which several requests access a file system, and each request requires information from one or more variable length data-items. The file system uses one or more storage devices, and each record may be partitioned into subrecords that are stored on different devices. One of the subrecords is designated as the primary record; when a request for a record is made, the primary record is first accessed, and other subrecords are accessed only if the pertinent information is not stored in the primary record. The model that is presented in this paper, both as a nonlinear programming model and a mixed integer programming model, is a very general one; several types of file systems may be derived from it by an appropriate selection of its parameters. This model has already been used in the optimization of library routines' storage at a large scale operating system.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "722; 723; 901; 921", + corpsource = "Univ. of Chicago, Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "data processing; data storage, digital --- Mathematical Models; file design; file organisation; file partitioning; file systems; information retrieval systems --- Optimization; integer programming; integer programming model; mixed; nonlinear; nonlinear programming model; partitioning; programming; record", + treatment = "A Application; P Practical; T Theoretical or Mathematical", +} + +@Article{Zobrist:1977:DCO, + author = "Albert L. Zobrist and Frederick R. {Carlson, Jr.}", + title = "Detection of Combined Occurrences", + journal = j-CACM, + volume = "20", + number = "1", + pages = "31--36 (or 31--35??)", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In this paper it is supposed that the variables x//1,\ldots{},x//n each have finite range with the variable x//i taking on p//i possible values and that the values of the variables are changing with time. It is supposed further that it is desired to detect occurrences in which some subset of the variables achieve particular values. Finally, it is supposed that the problem involves the detection of a large number of combined occurrences for a large number of changes of values of variables. Two efficient solutions for this problem are described. Both methods have the unusual property of being faster for systems where the sum p//1 plus\ldots{} plus p//n is larger. A chess playing application of the second solution algorithm is provided.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming); C6130 (Data handling techniques)", + classification = "461; 723; 912", + corpsource = "Jet Propulsion Lab., Pasadena, CA, USA", + journalabr = "Commun ACM", + keywords = "$n$ tuples; artificial; artificial intelligence; chess; coding; combined occurrences; computer programming; error analysis; hash coding; intelligence; pattern recognition; pattern recognition systems; programming; retrieval; secondary keys; sorting; systems science and cybernetics --- Artificial Intelligence; theory", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Batson:1977:SSL, + author = "A. P. Batson and R. E. Brundage", + title = "Segment Sizes and Lifetimes in {Algol 60} Programs", + journal = j-CACM, + volume = "20", + number = "1", + pages = "36--44", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Heaps.bib", + abstract = "The characteristics of the virtual memory requirements of a sample of Algol 60 programs have been measured. Distributions are presented for the sizes of memory requests and for their holding times (lifetimes). The results are presented in terms of J. B. Johnston's contour model and a simple abstract machine. They provide new empirical evidence of certain aspects of the construction and behavior of real programs, and some of their implications for the design of virtual memory systems are presented and discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "722; 723", + corpsource = "Univ. of Virginia, Charlottesville, VA, USA", + journalabr = "Commun ACM", + keywords = "abstract; ALGOL; ALGOL 60; computer operating systems --- Storage Allocation; computer programming languages --- Algol; computer systems, digital; data storage, digital; Johnston's contour model; machine; program behaviour; segmentation; storage allocation; virtual memory; virtual storage", + treatment = "P Practical", +} + +@Article{Gries:1977:BPB, + author = "David Gries", + title = "On Believing Programs to be Correct", + journal = j-CACM, + volume = "20", + number = "1", + pages = "49--50", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", +} + +@Article{Muller:1977:AMD, + author = "Mervin E. Muller", + title = "An Approach to Multidimensional Data Array Processing by Computer", + journal = j-CACM, + volume = "20", + number = "2", + pages = "63--77", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "Attention is first given to some of the general problems of multidimensional table and array processing. This is followed by a summary of some recent developments in array processing capabilities at the World Bank, in particular, the system identified as WRAPS (World Bank Retrieval and Array Processing System).", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723; 901", + journalabr = "Commun ACM", + keywords = "array processing; arrays; computer; data processing; information retrieval systems; multidimensional data; table lookup; World Bank Retrieval and Array Processing System; WRAPS; wraps", + treatment = "P Practical", +} + +@Article{Clark:1977:ESL, + author = "Douglas W. Clark and C. Cordell Green", + title = "An Empirical Study of List Structure in {LISP}", + journal = j-CACM, + volume = "20", + number = "2", + pages = "78--87", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "Static measurements of the list structure of five large Lisp programs are reported and analyzed. These measurements reveal substantial regularity, or predictability, among pointers to atoms and especially among pointers to lists. Pointers to atoms are found to obey, roughly, Zipf's law, which governs word frequencies in natural languages; pointers to lists usually point to a location physically nearby in memory. The use of such regularities in the space-efficient representation of list structure is discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6140D (High level languages)", + classification = "723", + comment = "Great paper; evidence pro CDR-coding, con fancy CONS", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; data processing --- Data Structures; empirical study; LISP; list structure; measurements; regularity", + treatment = "P Practical", +} + +@Article{Preparata:1977:CHF, + author = "F. P. Preparata and S. J. Hong", + title = "Convex Hulls of Finite Sets of Points in Two and Three Dimensions", + journal = j-CACM, + volume = "20", + number = "2", + pages = "87--93", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (52A25)", + MRnumber = "58 8475", + mrreviewer = "V. Medek", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib", + abstract = "The convex hulls of sets of n points in two and three dimensions can be determined with O(n log n) operations. The presented algorithms use the ``divide and conquer'' technique and recursively apply a merge procedure for two nonintersecting convex hulls. Since any convex hull algorithm requires at least O(n log n) operations, the time complexity of the proposed algorithms is optimal within a multiplicative constant.", + acknowledgement = ack-nhfb, + annote = "$O(n \log n)$ time", + classcodes = "C6130B (Graphics techniques)", + classification = "723; 931", + corpsource = "Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "complexity; computational complexity; computer graphics; computer programming; convex hull algorithm; divide-and-conquer; finite sets of points; structural analysis --- Computer Applications; time; worst-case analysis", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Easton:1977:TFW, + author = "M. C. Easton and B. T. Bennett", + title = "Transient-Free Working-Set Statistics", + journal = j-CACM, + volume = "20", + number = "2", + pages = "93--99", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "58 25108", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Transient free-average working-set size and transient-free missing-page rate for a finite sample of a reference string are defined. Use of these statistics is appropriate if the contents of the working set at the start of the recorded string are unknown. If a certain stationarity condition holds, these statistics provide unbiased estimates of expected working-set sizes, missing-page probabilities, and interference distance probabilities. Two other pairs of estimators are shown to be biased. Expressions for the transient-free statistics are obtained in terms of interval statistics. Methods are described for handling long strings containing many distinct page names.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723; 922", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; statistical methods", + keywords = "missing page rate; programming; statistics; transient free; working set", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Bresenham:1977:LAI, + author = "Jack Bresenham", + title = "A Linear Algorithm for Incremental Digital Display of Circular Arcs", + journal = j-CACM, + volume = "20", + number = "2", + pages = "100--106", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib", + abstract = "Circular arcs can be drawn on an incremental display device such as a cathode ray tube, digital plotter, or matrix printer using only sign testing and elementary addition and subtraction. This paper describes methodology for producing dot or step patterns closest to the true circle.", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "IBM System Communications Div., Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "addition; arc generation; arcs; circle drawing; circular; computer graphics; computer programming --- Subroutines; dot generation; imaging techniques; incremental digital display; linear algorithm; raster display; sign testing; subtraction", + treatment = "P Practical", +} + +@Article{Kotiah:1977:OCO, + author = "Thoddi C. T. Kotiah and David I. Steinberg", + title = "Occurrences of Cycling and Other Phenomena Arising in a Class of Linear Programming Models", + journal = j-CACM, + volume = "20", + number = "2", + pages = "107--112", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An investigation into the average queue size for a certain class of queues has resulted in the formulation of linear programming problems which are ill-conditioned in some cases. In attempting to solve these linear programming models, using IBM's MPS package, instances of cycling were encountered. Small perturbations in the input data resulted in problems which did not cycle. This fact, plus several other observed phenomena suggest that the primary reason that cycling is not known to occur more frequently is that round-off errors in the computations perturb the problem sufficiently to prevent cycling (or at least to prevent indefinite cycling).", + acknowledgement = ack-nhfb, + classcodes = "C1140C (Queueing theory); C1180 (Optimisation techniques)", + classification = "723; 921; 922", + corpsource = "Southern Illinois Univ., Edwardsville, IL, USA", + journalabr = "Commun ACM", + keywords = "average queue size; cycling; linear programming; mathematical programming, linear; MPS package; phenomena; probability --- Queueing Theory; queueing theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Knott:1977:NSB, + author = "Gary D. Knott", + title = "A Numbering System for Binary Trees", + journal = j-CACM, + volume = "20", + number = "2", + pages = "113--115", + month = feb, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", + corpsource = "Nat. Inst. of Health, Bethesda, MD, USA", + keywords = "binary search trees; binary trees; numbering system; permutations; ranking function; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Clapson:1977:IAT, + author = "Philip Clapson", + title = "Improving the Access Time for Random Access Files", + journal = j-CACM, + volume = "20", + number = "3", + pages = "127--135", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Clustering in the key set is decreased by smoothing the key-to-address transformation, and by adding shadow buckets to an open chaining file. The keys are pre-hashed before the address division, to remove the effect of sequential properties in the key set. Shadow buckets in the key search sequence reduce the effect of nonuniformity in file loading, and decrease the number of maximum probes needed to locate a record. The combined effects of these techniques lead to improved file performance for secondary storage devices, as shown by empirical studies.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "IBM United Kingdom Ltd., Feltham, UK", + journalabr = "Commun ACM", + keywords = "access time; chaining file; data processing --- File Organization; data storage, digital; file loading; file organisation; improved file; information retrieval systems --- Design; key search sequence; maximum probes; nonuniformity; open; performance; random access files; secondary storage devices; sequential properties; shadow buckets", + treatment = "P Practical", +} + +@Article{Yu:1977:EIR, + author = "C. T. Yu and G. Salton", + title = "Effective Information Retrieval Using Term Accuracy", + journal = j-CACM, + volume = "20", + number = "3", + pages = "135--142", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 7012", + mrreviewer = "Fujio Nishida", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Evaluation of a retrieval system in this study is based on optimizing the performance of a specific user query. The concept of query term accuracy is introduced as the probability of occurrence of a query term in the documents relevant to that query. By relating term accuracy to the frequency of occurrence of the term in the documents of a collection it is possible to give formal proofs of the effectiveness with respect to a given user query of a number of automatic indexing systems that have been used successfully in experimental situations. Among these are inverse document frequency weighting, thesaurus construction, and phrase generation.", + acknowledgement = ack-nhfb, + classcodes = "C7250 (Information storage and retrieval)", + classification = "723; 901", + corpsource = "Univ. of Alberta, Edmonton, Alta., Canada", + journalabr = "Commun ACM", + keywords = "automatic indexing; concept; evaluation; formal proofs; information retrieval; information retrieval system evaluation; information retrieval systems; information science --- Indexing; performance; query term accuracy", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lunde:1977:EES, + author = "Amund Lunde", + title = "Empirical Evaluation of Some Features of Instruction Set Processor Architectures", + journal = j-CACM, + volume = "20", + number = "3", + pages = "143--153", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/risc.bib", + abstract = "This paper presents methods for empirical evaluation of features of Instruction Set Processors (ISPs). ISP features are evaluated in terms of the time used or saved by having or not having the feature. \par The methods are based on analysis of traces of program executions. The concept of a register life is in troduced, and used to answer questions like: How many registers are used simultaneously? How many would be sufficient all of the time? Most of the time? What would the overhead be if the number of registers were reduced? What are registers used for during their lives? The paper also discusses the problem of detecting desirable but non-existing instructions. Other problems are briefly discussed. Experimental results are presented, obtained by analyzing 41 programs running on the DEC system 10 ISP.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "722; 723", + corpsource = "Carnegie-Mellon Univ., Pittsburg, PA, USA", + journalabr = "Commun ACM", + keywords = "architectures; computer architecture; computer programming languages --- Machine Orientation; computer selection and evaluation; computers, digital --- General Purpose Application; evaluation; execution time; instruction set processor; instruction sets; instruction tracing; microcoding; MIPS; op code utilization; pipelining; program behavior; reduced; register life; register structures; register utilization; restricted instruction set computer architecture; RISC; simultaneous register lives", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Brown:1977:MMR, + author = "R. M. Brown and J. C. Browne and K. M. Chandy", + title = "Memory Management and Response Time", + journal = j-CACM, + volume = "20", + number = "3", + pages = "153--165", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50 (60K30)", + MRnumber = "55 6996", + mrreviewer = "Jacek Blazewicz", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib", + abstract = "This paper presents a methodology for including the effects of finite memory size and workload memory requirements in queueing network models of computer systems. Empirical analyses and analytic studies based on applying this methodology to an actual multiaccess interactive system are reported. A multiphase, analytically soluble model is proposed as being broadly applicable to the analysis of interactive computer systems which use nonpaged memories.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "722; 723; 922", + corpsource = "Univ. of Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems --- Storage Allocation; computer systems, digital; distribution; interactive computer; job swap time; memory; memory requirement; model; multi-access systems; multiphase; nonpaged memories; performance measures; probability --- Queueing Theory; response time; storage management; systems; utilization; workload variables", + treatment = "T Theoretical or Mathematical", +} + +@Article{Burton:1977:RMS, + author = "Warren Burton", + title = "Representation of Many-Sided Polygons and Polygonal Lines for Rapid Processing", + journal = j-CACM, + volume = "20", + number = "3", + pages = "166--171", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/siggraph/77.bib", + abstract = "A representation for polygons and polygonal lines is described which allows sets of consecutive sides to be collectively examined. The sets of sides are arranged in a binary tree hierarchy by inclusion. A fast algorithm for testing the inclusion of a point in a many-sided polygon is given. It is shown that the points of intersection of two polygonal lines can be located by what is essentially a binary tree search. The algorithm and a practical example are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques)", + classification = "723; 921", + corpsource = "Michigan Tech. Univ., Houghton, MI, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; data processing --- Natural Sciences Applications; image processing; mathematical techniques --- Trees", + keywords = "binary tree hierarchy; computer graphics; fast algorithm; inclusion; polygonal lines; polygons; rapid processing; representation; speed", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Hunt:1977:OSR, + author = "H. B. {Hunt, III} and T. G. Szymanski and J. D. Ullman", + title = "Operations on Sparse Relations", + journal = j-CACM, + volume = "20", + number = "3", + pages = "171--176", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (68A30)", + MRnumber = "55 4774", + mrreviewer = "Armin Cremers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Various computations on relations, Boolean matrices, or directed graphs, such as the computation of precedence relations for a context-free grammar, can be done by a practical algorithm that is asymptotically faster than those in common use. The heart of the algorithms is a general theorem giving sufficient conditions under which an expression whose operands are sparse relations and whose operators are composition, transitive closure, union, and inverse, can be computed efficiently.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic)", + classification = "721; 723", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "automata theory --- Grammars; computational complexity; computations; computer metatheory --- Programming Theory; computer programming; context free grammar; context-free grammars; precedence relations; sparse relations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Nolan:1977:ECU, + author = "Richard L. Nolan", + title = "Effects of Chargeout on User\slash Manager Attitudes", + journal = j-CACM, + volume = "20", + number = "3", + pages = "177--185", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The relationship of internal pricing systems for computer services (chargeout systems) and user management attitudes about their computer-based information systems is investigated. Development and maintenance of computer-based systems is asserted to be a category of organizational change. A ``felt need'' for the change on the part of the user\slash manager is prerequisite to any change taking place. The research methods of behavioral science are applied to investigate the user\slash manager environment and the effects of chargeout.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + classification = "723", + corpsource = "Harvard Univ., Boston, MA, USA", + journalabr = "Commun ACM", + keywords = "attitudes; chargeout; computer facilities; computer services; data processing, business; DP management; internal pricing systems; user/manager attitudes", + treatment = "E Economic", +} + +@Article{Borovits:1977:CUM, + author = "Israel Borovits and Philip Ein-Dor", + title = "Cost\slash utilization: {A} measure of system performance", + journal = j-CACM, + volume = "20", + number = "3", + pages = "185--191", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method is presented for evaluating computer system performance in terms of a cost\slash utilization factor and a measure of imbalance. These coefficients indicate the extent to which the total system cost is effectively utilized. The method includes a technique for the visual representation of system performance.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723; 911", + corpsource = "Tel-Aviv Univ., Tel-Aviv, Israel", + journalabr = "Commun ACM", + keywords = "computer systems, digital; cost accounting", + keywords = "computer; computer selection and evaluation; cost; cost/utilization factor; evaluating; measure; measure of imbalance; system performance; total system", + treatment = "E Economic; P Practical", +} + +@Article{Bays:1977:CNF, + author = "C. Bays", + title = "A comparison of next-fit, first-fit, and best-fit", + journal = j-CACM, + volume = "20", + number = "3", + pages = "191--192", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. of South Carolina, Columbia, SC, USA", + keywords = "best; comparison; first fit; fit; next fit; storage allocation", + treatment = "P Practical", +} + +@Article{Bertsch:1977:SRP, + author = "Eberhard Bertsch", + title = "The storage requirement in precedence parsing", + journal = j-CACM, + volume = "20", + number = "3", + pages = "192--196 (or 192--194??)", + month = mar, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Precedence tables and linear precedence functions have been used and extensively studied as aids for syntax-directed compiling. If a precedence table exists but cannot be reshaped into a pair of precedence functions, several techniques for eliminating blank entries may be used. In that case, all nonblank entries have to be kept, however. Thus, there is a considerable gap between the storage requirements of precedence functions and precedence tables. The purpose of this paper is to show that the gap between precedence functions and precedence tables can be closed in a natural way.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Univ des Saarlandes, Saarbrucken, West Germany", + journalabr = "Commun ACM", + keywords = "computer metatheory --- Programming Theory; computer operating systems; computer programming --- Subroutines; precedence parsing; program compilers; storage requirement; value table", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Morris:1977:SI, + author = "James H. {Morris, Jr.} and Ben Wegbreit", + title = "Subgoal Induction", + journal = j-CACM, + volume = "20", + number = "4", + pages = "209--222", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "56 4222", + mrreviewer = "Andrea Maggiolo-Schettini", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "A proof method, subgoal induction, is presented as an alternative or supplement to the commonly used inductive assertion method. Its major virtue is that it can often be used to prove a loop's correctness directly from its input-output specification without the use of an invariant. The relation between subgoal induction and other commonly used induction rules is explored and, in particular, it is shown that subgoal induction can be viewed as a specialized form of computation induction.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "computer metatheory --- Programming Theory; computer programming; computer programming languages --- Program Debugging; functional verification correctness; program proving; programming theory; subgoal induction", + treatment = "T Theoretical or Mathematical", +} + +@Article{Tanimoto:1977:EPS, + author = "Steven L. Tanimoto and Theodosios Pavlidis", + title = "Editing of Picture Segmentations Using Local Analysis of Graphs", + journal = j-CACM, + volume = "20", + number = "4", + pages = "223--229", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A major problem in picture processing is the elimination of the large number of spurious regions that result from an initial segmentation by region growing techniques. This paper describes a nonsemantic editing scheme which performs eliminations on the basis of local properties of the region adjacency graph. The scheme is based on definitions of graph properties which are satisfied when a spurious region is present; then editing is equivalent to fast graph operations. A number of examples are shown.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + classification = "723; 921", + corpsource = "Univ. of Connecticut, Storrs, CT, USA", + journalabr = "Commun ACM", + keywords = "editing; graphs; image processing; local analysis; mathematical techniques --- Graph Theory; pattern recognition systems; picture processing; picture segmentations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Findler:1977:SMC, + author = "Nicholas V. Findler", + title = "Studies in Machine Cognition Using the Game of Poker", + journal = j-CACM, + volume = "20", + number = "4", + pages = "230--245", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A progress report is presented of on-going research efforts concerning human decision-making under uncertainty and risk and human problem-solving and learning processes on the one hand, and machine learning, large scale programming system, and novel programming techniques on the other. There has also been interest in how humans make deductive and inductive inferences and form and optimize heuristic rules, and how machines can reach similar results. Although the vehicle of these investigations has been the game of poker, a conceptual framework has been provided that should have a fairly wide range of applicability.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + classification = "461; 723; 912; 922", + corpsource = "State Univ. of New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "artificial intelligence; data processing --- Psychology Applications; decision theory and analysis; human decision making; human problem solving; large scale programming systems; learning; machine cognition; machine learning; poker; probability; processes; risk; systems science and cybernetics; uncertainty", + treatment = "T Theoretical or Mathematical", +} + +@Article{Maruyama:1977:ADA, + author = "K. Maruyama and S. E. Smith", + title = "Analysis of Design Alternatives for Virtual Memory Indexes", + journal = j-CACM, + volume = "20", + number = "4", + pages = "245--254", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A class of index structures modeled after the structure of VSAM --- similar to B-trees but biased toward sequential processing --- is described. Design alternatives within this class of index structures are analyzed. These alternatives include a choice of search strategy, whether or not pages in the index are structured, and whether or not keys are compressed. The average cost of retrieving entries from these indexes is expressed as a weighted sum of the cost of a basic key comparison and the cost of crossing a page boundary in the index structure. Formulas for the retrieval costs for possible combinations of design alternatives are given.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "compressed; costs; data processing --- Data Handling; data storage, digital; design alternatives; index structures; pages; retrieval; search strategy; structured; virtual memory; virtual storage", + treatment = "P Practical", +} + +@Article{Lucas:1977:SHS, + author = "Henry C. {Lucas, Jr.} and Jimmy A. Sutton", + title = "Stage Hypothesis and the {S}-Curve: Some Contradictory Evidence", + journal = j-CACM, + volume = "20", + number = "4", + pages = "254--259", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The s-shaped budget curve of R. Nolan's stage model of computer development in an organization (Comm ACM v 16 n 7 Jul 1973 p 399) is tested. Research on the data processing budgets of California counties fails to support the s-shaped curve or the use of budgets as a basis for a stage model. However, the results do not invalidate the concept of a stage model. The analysis suggests an alternative model of budget growth and a separation between models of budgeting growth and growth stages in the development of the computer resource.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management)", + classification = "723; 911; 912", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "budget curve; computer development; data; data processing; DP management; management --- Applications; processing budgets; stage hypothesis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Yao:1977:ABA, + author = "S. B. Yao", + title = "Approximating block accesses in database organizations", + journal = j-CACM, + volume = "20", + number = "4", + pages = "260--261", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Purdue Univ., West Lafayette, IN, USA", + keywords = "approximating; block accesses; database organizations; file organisation; inverted file; selectivity estimation I/O cost query optimization CACM", + treatment = "A Application; T Theoretical or Mathematical", + xxtitle = "Approximating Block Accesses in Database Organization", +} + +@Article{Hollander:1977:RUI, + author = "C. R. Hollander", + title = "Remark on uniform insertion on structured data structures", + journal = j-CACM, + volume = "20", + number = "4", + pages = "261--262", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "IBM Sci. Center, Palo Alto, CA, USA", + keywords = "data structures; structured data structures; uniform insertion", + treatment = "T Theoretical or Mathematical", +} + +@Article{Bandyopadhyay:1977:CWI, + author = "S. K. Bandyopadhyay", + title = "Comment on weighted increment linear search for scatter tables", + journal = j-CACM, + volume = "20", + number = "4", + pages = "262--263", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Aeronautical Dev. Establ., Bangalore, India", + keywords = "address; file organisation; hash; primary clustering; scatter tables; weighted increment linear search", + treatment = "P Practical", +} + +@Article{Thompson:1977:SMC, + author = "C. D. Thompson and H. T. Kung", + title = "Sorting on a Mesh-Connected Parallel Computer", + journal = j-CACM, + volume = "20", + number = "4", + pages = "263--271", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (68A20)", + MRnumber = "55 11693", + mrreviewer = "Jo Ann Howell", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.comm.bib", + abstract = "Two algorithms are presented for sorting n**2 elements on an n multiplied by n mesh-connected processor array that require O (n) routing and comparison steps. The best previous algorithm takes time O(n log n). The algorithms are shown to be optimal in time within small constant factors. Extensions to higher-dimensional arrays are also given.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "722; 723", + corpsource = "Carnegie-Mellon Univ., Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; computer systems programming --- Sorting; computer systems, digital", + keywords = "mesh connected; parallel computer; parallel processing; sorting", + treatment = "P Practical", +} + +@Article{Robinson:1977:PTH, + author = "Lawrence Robinson and Karl N. Levitt", + title = "Proof Techniques for Hierarchically Structured Programs", + journal = j-CACM, + volume = "20", + number = "4", + pages = "271--283", + month = apr, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "57 14584", + mrreviewer = "Franco Sirovich", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "A method for describing and structuring programs that simplifies proofs of their correctness is presented. The method formally represents a program in terms of levels of abstraction, each level of which can be described by a self-contained nonprocedural specification. The proofs, like the programs, are structured by levels. Although only manual proofs are described, the method is also applicable to semiautomatic and automatic proofs. Preliminary results indicate that the method can be applied to large programs, such as operating systems.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "461; 723; 912", + corpsource = "Stanford Res. Inst., Menlo Park, CA, USA", + journalabr = "Commun ACM", + keywords = "computer metatheory --- Programming Theory; computer programming; correctness; hierarchically structured programs; program testing; proofs; structured programming; systems science and cybernetics --- Hierarchical Systems", + treatment = "P Practical", +} + +@Article{Holt:1977:SKS, + author = "R. C. Holt and D. B. Wortman and D. T. Barnard and J. R. Cordy", + title = "{SP/k}: {A} System for Teaching Computer Programming", + journal = j-CACM, + volume = "20", + number = "5", + pages = "301--309", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "SP/k, a compatible subset of the PL/I language, is a sequence of language subsets called SP/1, SP/2,\ldots{} SP/8. Each subset introduces new programming language constructs while retaining all the constructs of preceding subsets. The features of the SP/k language were chosen to encourage structured problem solving by computers, to make the language easy to learn and use, to eliminate confusing and redundant constructs, and to make the language easy to compile. Language features, processor design, and system experience are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6140D (High level languages)", + classification = "723; 901", + corpsource = "Univ. of Toronto, Toronto, Ont., Canada", + journalabr = "Commun ACM", + keywords = "compatible subset; computer programming; computer science education; PL/1; PL/I language; programming; SP/k; teaching", + keywords = "computer programming languages; education", + treatment = "P Practical", +} + +@Article{Fishman:1977:ASA, + author = "George S. Fishman", + title = "Achieving Specific Accuracy in Simulation Output Analysis", + journal = j-CACM, + volume = "20", + number = "5", + pages = "310--315", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "This paper extends the use of the regenerative property of queueing systems in the analysis of simulation output. In particular, it describes a sequential estimation method which when used with the regenerative property allows results to be obtained with specified statistical accuracy. This method includes a test to check the normality assumption on which the sequential procedure relies. The paper illustrates the method using the empty and idle state as the regenerative state. A second example then describes how using the most frequently entered state as the regenerative state reduces the chance of making a costly error in a preliminary simulation run. The paper also described how a variance reduction method due to Page [9] can be used to obtain a specified accuracy with considerably fewer job completions than are required when no variance reduction technique is applied.", + acknowledgement = ack-nhfb, + classcodes = "C1220 (Simulation, modelling and identification)", + classification = "723; 912; 922", + corpsource = "Univ. of North Carolina, Chapel Hill, NC, USA", + country = "USA", + descriptors = "Simulation; time series analysis;", + enum = "952", + journalabr = "Commun ACM", + keywords = "accuracy; computer simulation; confidence in terval; mathematical statistics; operations research --- Computer Applications; probability --- Queueing Theory; queueing systems; queueing theory; ratio estimator; regenerative property; sequential estimation method; sequential estimator; simulation; simulation output analysis; stopping rule; variance reduction", + language = "English", + references = "0", + treatment = "P Practical", +} + +@Article{Morgan:1977:OPD, + author = "Howard L. Morgan and K. Dan Levin", + title = "Optimal Program and Data Locations in Computer Networks", + journal = j-CACM, + volume = "20", + number = "5", + pages = "315--322", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + abstract = "An optimization procedure for the allocation of program and data files in a computer network is presented. This algorithm takes into account the dependencies between files and programs such as occur in real heterogeneous computer networks. A search procedure for the file location problem is described, along with an example and a possible application of the model.", + acknowledgement = ack-nhfb, + classcodes = "C5620 (Computer networks and techniques); C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Pennsylvania, Philadelphia, PA, USA", + journalabr = "Commun ACM", + keywords = "computer networks; computer programming --- Subroutines; computers --- Data Communication Systems; data base systems --- Optimization; data locations; data processing --- Data Handling; mathematical models; optimization procedure; program; storage allocation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Baer:1977:CTB, + author = "J.-L. Baer and B. Schwab", + title = "A Comparison of Tree-Balancing Algorithms", + journal = j-CACM, + volume = "20", + number = "5", + pages = "322--330", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Several algorithms-height-balance (i.e. AVL and extensions), weight-balance (i.e. BB and WB), and total restructuring-for building balanced binary search trees are compared. The criteria for comparison encompass theoretical aspects (e.g. path lengths) and implementation independent and machine/algorithm-dependent measures (e.g. run time). A detailed analysis of code is also presented at a level believed to be language-and compiler-independent. The quality of the resulting trees and the overhead spent on building them are analyzed, and some guidelines are given for an efficient use of the methods. If insertion and subsequent queries are the only operations of in terest, then ``pure'' AVL trees present the overall best qualities.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723; 901; 921", + corpsource = "Univ. of Washington, Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; balance; balanced binary search; comparison; height balance; total restructuring; tree balancing algorithms; trees; weight", + keywords = "analysis of algorithms; AVL trees; binary search trees; computer programming --- Subroutines; data processing; information retrieval systems; information storage and retrieval; mathematical techniques --- Trees; path length; weight-balanced trees", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stillman:1977:CHS, + author = "Neil J. Stillman and P. Bruce Berra", + title = "A Comparison of Hardware and Software Associative Memories in the Context of Computer Graphics", + journal = j-CACM, + volume = "20", + number = "5", + pages = "331--339", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib", + abstract = "The Associative Processing of Line Drawings (APLD) System utilizes a hardware associative memory and creates, modifies, deletes, stores, and retrieves two-dimensional line drawings consisting of points, lines, rectangles, and triangles. The APLD functions were duplicated on the TX-2 computer at M. I. T. 's Lincoln Laboratory under the LEAP Language and Data Structure. A comparison of the hardware approach with the software simulation illustrates the advantages of the hardware associative memory.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130B (Graphics techniques)", + classification = "722; 723", + corpsource = "Defense Communications Agency, Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "associative and memory; associative memories; associative processing of line drawings; comparison; computer graphics; computer systems, digital --- Parallel Processing; content-addressable storage; data storage, digital --- Associative; hardware; image processing; software", + treatment = "P Practical", +} + +@Article{Shapiro:1977:CRP, + author = "Marvin Shapiro", + title = "Choice of Reference Points in Best-Match File Searching", + journal = j-CACM, + volume = "20", + number = "5", + pages = "339--343", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Improvements to the exhaustive search method of best-match file searching have previously been achieved by doing a preprocessing step involving the calculation of distances from a reference point (Comm ACM, V16 n 4 April 1973 p 230). This paper discusses the proper choice of reference points and extends the previous algorithm to use more than one reference point. It is shown that reference points should be located outside of data clusters.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "Nat. Inst. of Health, Bethesda, MD, USA", + journalabr = "Commun ACM", + keywords = "best match; choice; computer programming --- Subroutines; data processing; file organisation; file searching; information retrieval systems; reference points", + treatment = "P Practical", +} + +@Article{Hanani:1977:OEB, + author = "Michael Z. Hanani", + title = "An Optimal Evaluation of {Boolean} Expressions in an Online Query System", + journal = j-CACM, + volume = "20", + number = "5", + pages = "344--347", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 9627", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "In the system discussed, in a response to a query, the entire file containing hundreds of thousands of records has to be searched, and the Boolean expression is evaluated for each record. The method presented improves the performance of such a system by speeding up the process of computing the truth value of a Boolean expression for an individual record. This is done by evaluating the expression based on the values of a subset of its components rather than the entire expression.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6120 (File organisation)", + classification = "722; 723; 901", + corpsource = "Ben Gurion Univ., Negev, Israel", + journalabr = "Commun ACM", + keywords = "Boolean algebra; Boolean expressions; computer programming --- Subroutines; computer systems, digital --- On Line Systems; data base systems; data processing --- Data Handling; file organisation; file searching; information retrieval systems; online query system; optimal evaluation; order sort clauses by cost and selectivity CACM", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Milman:1977:AOD, + author = "Y. Milman", + title = "An Approach to Optimal Design of Storage Parameters in Databases", + journal = j-CACM, + volume = "20", + number = "5", + pages = "347--350", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "55 7007", + mrreviewer = "Clement T. Yu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Storage and response-time requirements are contradictory in nature, and in any real-world, the problem, one has to attain a rational equilibrium between them. The actual location of this equilibrium depends on the conditions of the specific problem. The purpose of this paper is to present a simple approach that can be employed to locate such an equilibrium, and to demonstrate its use in an actual application.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Contahal Ltd., Tel-Aviv, Israel", + journalabr = "Commun ACM", + keywords = "data base systems; data storage, digital; database management systems; databases; optimal design; storage parameters", + treatment = "P Practical", +} + +@Article{Hunt:1977:FAC, + author = "James W. Hunt and Thomas G. Szymanski", + title = "A Fast Algorithm for Computing Longest Common Subsequences", + journal = j-CACM, + volume = "20", + number = "5", + pages = "350--353", + month = may, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10 (68A20)", + MRnumber = "55 9596", + mrreviewer = "C. L. Liu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib", + abstract = "Previously published algorithms for handling the longest common subsequence of two sequence of length n have had a best-case running time of O(n//2). An algorithm for this problem is presented which has a running time O((r plus n) log n), where r is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of O(n**2 log n).", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + comment = "``Previously published algorithms for finding the longest common subsequence of two sequences of length $n$ have had a best--case running time of $O(n^2)$. An algorithm for this problem is presented which has a running time of $O((r + n) \log n)$, where $r$ is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of $O(n^2 \log n)$. However, for those applications where most positions of one sequence match relatively few positions in the other sequence, a running time of $O(n \log n$) can be expected.''", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; computer programming --- Subroutines; data processing; fast algorithm; file searching; longest common subsequences; two sequences", + treatment = "T Theoretical or Mathematical", +} + +@Article{Taulbee:1977:PEP, + author = "Orrin E. Taulbee and S. D. Conte", + title = "Production and Employment of {Ph.D.}'s in Computer Science --- 1976", + journal = j-CACM, + volume = "20", + number = "6", + pages = "370--372", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Statistics are presented on the production and employment of Ph. D's in computer science for the calendar year 1975-76. Data include profiles of graduate students and of faculty at 60 Ph. D. --- producing departments as well as breakdown of degrees granted by specialty areas. Significant trends are noted and comparisons with comparable data gathered for the 1974-75 calendar year are made.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901; 912", + corpsource = "Univ. of Pittsburgh, Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "computer science; computer science education; data processing; education; employment; PhD; production; statistics", + treatment = "G General Review", +} + +@Article{Shneiderman:1977:EIU, + author = "Ben Shneiderman and Richard Mayer and Don McKay and Peter Heller", + title = "Experimental Investigations of the Utility of Detailed Flowcharts in Programming", + journal = j-CACM, + volume = "20", + number = "6", + pages = "373--381", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes previous research on flowcharts and a series of controlled experiments to test the utility of detailed flowcharts as an aid to program composition, comprehension, debugging, and modification. No statistically significant difference between flowchart and nonflowchart groups has been shown, thereby calling into question the utility of detailed flowcharting. A program of further research is suggested.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Indiana Univ., Bloomington, IN, USA", + journalabr = "Commun ACM", + keywords = "aid; comprehension; computer programming; computer programming languages; controlled experiments; debugging; detailed flowcharts; flowcharting; modification; program composition; utility", + treatment = "P Practical", +} + +@Article{Ledgard:1977:TVD, + author = "H. F. Ledgard and R. W. Taylor", + title = "Two Views of Data Abstraction", + journal = j-CACM, + volume = "20", + number = "6", + pages = "382--384", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. of Massachusetts, Amherst, MA, USA", + keywords = "data abstraction; data structures; database; language; types data abstraction", + treatment = "G General Review", +} + +@Article{Zloof:1977:SBA, + author = "Mosh{\'e} M. Zloof and S. Peter {de Jong}", + title = "The System {for Business Automation} ({SBA}): Programming Language", + journal = j-CACM, + volume = "20", + number = "6", + pages = "385--396", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "The system for business automation (SBA) is a system within which application experts --- nonprogrammers --- can describe and execute their applications on a computer. The user of SBA views the application as manipulation of information in two-dimensional pictures of tables, business forms, and reports on a display terminal. The application can be automated gradually by giving ``examples'' to the system of how the information would be manipulated manually. The Query-by-Example database language is a subset of the SBA programming language.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C7100 (Business and administration)", + classification = "723; 901", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "administrative data processing; automatic programming; business automation; by Example; computer programming languages; data processing --- Data Structures; data processing, business; database language; display terminal; information retrieval systems; nonprogrammers; problem oriented languages; programming language; Query; SBA", + treatment = "E Economic; P Practical", +} + +@Article{Guttag:1977:ADT, + author = "John V. Guttag", + title = "Abstract Data Types and the Development of Data Structures", + journal = j-CACM, + volume = "20", + number = "6", + pages = "396--404", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "Abstract data types can play a significant role in the development of software that is reliable, efficient, and flexible. This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the examples presented is a top-down development of a symbol table for a block structured language; a discussion of the proof of its correctness is given. A brief discussion of the problems involved in constructing algebraic specifications that are both consistent and complete is also provided.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 921", + corpsource = "Univ. of Southern California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "abstract data types; algebraic technique; computer metatheory; computer programming --- Reliability; computer programming languages; data processing --- Data Structures; data structures; data types; development; functional types olit data abstraction; mathematical techniques --- Algebra; specification", + treatment = "P Practical", +} + +@Article{Smith:1977:DAA, + author = "John Miles Smith and Diane C. P. Smith", + title = "Database Abstractions: Aggregation", + journal = j-CACM, + volume = "20", + number = "6", + pages = "405--413", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A new data type, called aggregate, is developed which, under certain criteria of ``well-definedness,'' specifies aggregation abstractions. A top-down methodology for database design is described which separates decisions concerning aggregate structure from decisions concerning key identification. It is suggested that aggregate types, and other types which support real-world abstractions without introducing implementation detail, should be incorporated into programming languages.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Utah, Salt Lake City, UT, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; data aggregates; data base systems --- Design; data processing; data types", + keywords = "abstractions; aggregation; data structures; databases", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gries:1977:SID, + author = "David Gries and Narain Gehani", + title = "Some Ideas on Data Types in High-Level Languages", + journal = j-CACM, + volume = "20", + number = "6", + pages = "414--420", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "A number of issues are explored concerning the notion that a data type is a set of values together with a set of primitive operations on those values. Among these are the need for a notation for iterating over the elements of any finite set (instead of the more narrow for i: equals 1 to n notation), the use of the domain of an array as a data type, the need for a simple notation for allowing types of parameters to be themselves parameters (but in a restrictive fashion), and resulting problems with conversion of values from one type to another.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "computer meta theory --- Algorithmic Languages; computer programming languages; data processing --- Data Structures; data structures; data types; high level languages; primitive operations; programming theory; types olit iteration", + treatment = "T Theoretical or Mathematical", +} + +@Article{Peterson:1977:BS, + author = "James L. Peterson and Theodore A. Norman", + title = "Buddy Systems", + journal = j-CACM, + volume = "20", + number = "6", + pages = "421--431", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Two algorithms are presented for implementing any of a class of buddy systems for dynamic storage allocation. Each buddy system corresponds to a set of recurrence relations which relate the block sizes provided to each other. Analyses of the internal fragmentation of the binary buddy system, the Fibonacci buddy system, and the weighted buddy system are given. Comparative simulation results are also presented for internal, external, and total fragmentation.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "algorithms; buddy systems; computer operating systems; computer programming --- Subroutines; computer programs; data storage, digital; dynamic storage allocation; recurrence relations; storage allocation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Robson:1977:BSA, + author = "J. M. Robson", + title = "A Bounded Storage Algorithm for Copying Cyclic Structures", + journal = j-CACM, + volume = "20", + number = "6", + pages = "431--433", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "A new algorithm is presented which copies cyclic list structures using bounded workspace and linear time. Unlike a previous similar algorithm, this one makes no assumptions about the storage allocation system in use and uses only operations likely to be available in a high-level language. The distinctive feature of this algorithm is a technique for traversing the structure twice, using the same spanning tree in each case, first from left to right and then from right to left.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. of Lancaster, Lancaster, UK", + journalabr = "Commun ACM", + keywords = "bounded storage algorithm; computer programming --- Subroutines; computer programs; computer systems programming; copying; cyclic structures; list; list processing; structures", + treatment = "P Practical", +} + +@Article{Bird:1977:NRE, + author = "R. S. Bird", + title = "Notes on Recursion Elimination", + journal = j-CACM, + volume = "20", + number = "6", + pages = "434--439", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "Various methods of recursion elimination are applied to the schematic recursive procedure: proc S(x); px then N(x); S(fx); S(gx); M(x) fi. Procedures with this general form arise in connection with tree traversal and sorting algorithms. Each method of recursion removal involves the use of one or more stacks, and the solutions are compared on the basis of their running time.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "721; 723", + corpsource = "Univ. of Reading, Reading, UK", + journalabr = "Commun ACM", + keywords = "automata theory --- Recursive Functions; computer programming; computer systems programming --- Sorting; functional; programming theory; recursion elimination; running time; sorting algorithms; stacks; tree traversal", + treatment = "T Theoretical or Mathematical", +} + +@Article{Warren:1977:FRW, + author = "Henry S. {Warren, Jr.}", + title = "Functions Realizable with Word-Parallel Logical and Two's-Complement Addition Instructions", + journal = j-CACM, + volume = "20", + number = "6", + pages = "439--441", + month = jun, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94A20", + MRnumber = "58 26591", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A theorem is given for deducing whether or not a given function can be computed through the use of ``programming tricks'' involving binary numbers. This is followed by an efficient implementation of sign propagation that does not use shifting instructions or branching instructions. The sign-propagation device and a given expression for mixed length adds and subtracts are used in an experimental compiler currently being developed for translating PL/I to microcode for a variety of machines.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods); C6130 (Data handling techniques)", + classification = "722; 723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "addition instructions; computer architecture --- Microprogramming; computer metatheory; computer programming; digital arithmetic; functions realisable; two's complement; word parallel logical instructions", + treatment = "P Practical", +} + +@Article{Mamrak:1977:DRT, + author = "Sandra A. Mamrak", + title = "Dynamic Response Time Prediction for Computer Networks", + journal = j-CACM, + volume = "20", + number = "7", + pages = "461--468", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Five interactive systems currently available on the ARPA network are compared. A system environment is defined in which response time measurements can be made, and statistical, simulation, and analytical tools are used to describe and then predict the response time behavior. The effect of network queueing delays is discussed. Finally, a dynamic response time monitor for ARPA network users is proposed based on the success of the response time prediction methodologies and models.", + acknowledgement = ack-nhfb, + classcodes = "C5620 (Computer networks and techniques)", + classification = "722; 723; 922", + corpsource = "Ohio State Univ., Columbus, OH, USA", + journalabr = "Commun ACM", + keywords = "ARPA; computer networks; computer simulation; computer systems, digital --- Fast Response Capability; dynamic prediction; mathematical models; response time; statistical methods; time-sharing systems", + treatment = "P Practical", +} + +@Article{Ruschitzka:1977:UAS, + author = "Manfred Ruschitzka and R. S. Fabry", + title = "A Unifying Approach to Scheduling", + journal = j-CACM, + volume = "20", + number = "7", + pages = "469--477", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "This paper presents a scheme for classifying scheduling algorithms based on an abstract model of a scheduling system which formalizes the notion of priority. Various classes of scheduling algorithms are defined and related to existing algorithms. A criterion for the implementation efficiency of an algorithm is developed and results in the definition of time-invariant algorithms, which include most of the commonly implemented ones. For time-invariant algorithms, the dependence of processing rates on priorities is derived. The abstract model provides a framework for implementing flexible schedulers in real operating systems. The policy-driven scheduler of Bernstein and Sharp is discussed as an example of such an implementation.", + acknowledgement = ack-nhfb, + classcodes = "C5420 (Mainframes and minicomputers)", + classification = "723; 922", + corpsource = "Rutgers Univ., New Brunswick, NJ, USA", + country = "USA", + descriptors = "Scheduling; queueing discipline; priority; processor sharing; process management;", + enum = "2645", + journalabr = "Commun ACM", + keywords = "algorithms; computer operating systems --- Scheduling; computer programming --- Subroutines; computer systems programming; implementation efficiency; operating systems; priority; probability --- Queueing Theory; processor sharing; scheduling; scheduling algorithms; scheduling models; time-sharing systems; unifying approach", + language = "English", + references = "0", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Tajibnapis:1977:CPT, + author = "William D. Tajibnapis", + title = "A Correctness Proof of a Topology Information Maintenance Protocol for a Distributed Computer Network", + journal = j-CACM, + volume = "20", + number = "7", + pages = "477--485", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94A20", + MRnumber = "58 4703", + mrreviewer = "Fan R. K. Chung", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "One of the major constraints on a topology information scheme is that it may not involve a central controller. The Topology Information Protocol that was implemented on the MERIT Computer Network is presented and explained; this protocol is quite general and could be implemented on any computer network. It is based on Baran's ``Hot Potato Heuristic Routing Doctrine.'' A correctness proof of this Topology Information Protocol is also presented.", + acknowledgement = ack-nhfb, + annote = "(VBI-001559)", + classcodes = "C5620 (Computer networks and techniques)", + classification = "722; 723", + country = "USA", + descriptors = "Protocol verification;", + enum = "11285", + journalabr = "Commun ACM", + keywords = "computer networks; computer programming --- Subroutines; computer systems, digital --- Multiprocessing; computers --- Data Communication Systems; correctness proof; distributed computer network; protocol; protocols; topology information maintenance", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Heckel:1977:TCS, + author = "Paul G. Heckel and Butler W. Lampson", + title = "A terminal-oriented communication system", + journal = j-CACM, + volume = "20", + number = "7", + pages = "486--494", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper describes a system for full-duplex communication between a time-shared computer and its terminals. The system consists of a communications computer directly connected to the time-shared system, a number of small remote computers to which the terminals are attached, and connecting medium speed telephone lines. It can service a large number of terminals of various types. The overall system design is presented along with the algorithms used to solve three specific problems: local echoing, error detection and correction on the telephone lines, and multiplexing of character output.", + acknowledgement = ack-nhfb, + classcodes = "B6210L (Computer communications); C5600 (Data communication equipment and techniques)", + classification = "718; 722; 723", + corpsource = "Interactive Systems Consultants, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "character output; communication system; computer networks; computer programming --- Subroutines; computers --- Data Communication Systems; data communication systems; detection and correction; digital communication systems --- Computer Interfaces; error; full duplex; local echoing; multiplexing; system design; terminal oriented; time sharing; time-sharing systems", + treatment = "P Practical", +} + +@Article{Schneider:1977:SIT, + author = "Ben Ross {Schneider, Jr.} and Reid M. Watts", + title = "{SITAR}: an Interactive Text Processing System for Small Computers", + journal = j-CACM, + volume = "20", + number = "7", + pages = "495--499", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "SITAR, a System for Interactive Text-editing, Analysis, and Retrieval, is in many ways comparable to interactive bibliographical search and retrieval systems, but has several additional features. It is implemented on a PDP\slash 11 time-sharing computer invoked by a CRT with microprogrammed editing functions. Extensive experience with SITAR shows that the combined powers of simple commands, string orientation, circular file structure, a CRT with local memory, and conversational computing produce a system much more powerful than the sum of its parts.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C7250 (Information storage and retrieval)", + classification = "722; 723; 901", + corpsource = "Lawrence Univ., Appleton, WI, USA", + journalabr = "Commun ACM", + keywords = "circular file structure; computer systems, digital; computers, miniature --- Applications; conversational computing; CRT with local memory; data processing --- Humanities Applications; information retrieval; information retrieval systems; interactive text processing system; orientation; simple commands; SITAR; small computers; string; text analysis; text editing; text handling", + treatment = "P Practical", +} + +@Article{Kessels:1977:AEQ, + author = "J. L. W. Kessels", + title = "Alternative to Event Queues for Synchronization in Monitors", + journal = j-CACM, + volume = "20", + number = "7", + pages = "500--503", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In the monitor concept, as proposed by Brinch Hansen and Hoare, event queues are used for synchronization. This paper describes another synchronizing primitive which is nearly as expressive as the conditional wait, but can be implemented more efficiently. An implementation of this primitive in terms of P and V operations is given together with a correctness proof. Two examples are presented: the readers and writers problem and the problem of information streams sharing a finite buffer pool.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Philips Res. Labs., Eindhoven, Netherlands", + journalabr = "Commun ACM", + keywords = "alternative; computer operating systems --- Scheduling; computer programming --- Subroutines; computer systems programming; event queues; monitors; operating systems (computers); synchronization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Denning:1977:CPS, + author = "Dorothy E. Denning and Peter J. Denning", + title = "Certification of Programs for Secure Information Flow", + journal = j-CACM, + volume = "20", + number = "7", + pages = "504--513", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "An information flow policy specifies a set of security classes for information, a flow relation defining permissible flows among these classes, and a method of binding each storage object to some class. This paper presents a compile-time mechanism that certifies a program only if it specifies no flows in violation of the flow policy. Because it exploits the properties of a lattice structure among security classes, the procedure is sufficiently simple that it can easily be included in the analysis phase of most existing compilers. Appropriate semantics are presented and proved correct. An important application is the confinement problem. The mechanism can prove that a program cannot cause supposedly nonconfidential results to depend on confidential input data.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Purdue Univ., West Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "certification mechanism; compilers; computer operating systems --- Program Compilers; data processing; lattice structure; program compilers; programs; secure information flow; security of data", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Barth:1977:SGC, + author = "Jeffrey M. Barth", + title = "Shifting Garbage Collection Overhead to Compile Time", + journal = j-CACM, + volume = "20", + number = "7", + pages = "513--518", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The paper assumes a transaction oriented collection scheme, as proposed by Deutsch and Bobrow, the necessary features of which are summarized. Implementing the described optimization requires global flow analysis to be performed on the source program. It is shown that at compile time certain program actions that affect the reference counts of cells can be deduced. This information is used to find actions that cancel when the code is executed and those that can be grouped to achieve improved efficiency.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "automatic storage; compile time; computer operating systems; computer programming languages --- List Processing; flow analysis; garbage collection overhead; global; optimization; reclamation; storage management; transaction oriented collection scheme", + treatment = "P Practical", +} + +@Article{Ashcroft:1977:LNL, + author = "E. A. Ashcroft and W. W. Wadge", + title = "{Lucid}, a Nonprocedural Language with Iteration", + journal = j-CACM, + volume = "20", + number = "7", + pages = "519--526", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Pfpbib.bib", + abstract = "Lucid is a formal system in which programs can be written and proofs of programs carried out. The proofs are particularly easy to follow and straight-forward to produce because the statements in a Lucid program are simply axioms from which the proof proceeds by (almost) conventional logic reasoning, with the help of a few axioms and rules of inference for the special lucid functions. As a programming language, Lucid is unconventional because, among other things, the order of statements is irrelevant and assignment statements are equations. Nevertheless, Lucid programs need not look much different than iterative programs in a conventional structured programming language using assignment and conditional statements and loops.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6140D (High level languages)", + classification = "723", + corpsource = "Univ. of Waterloo, Waterloo, Ont., Canada", + journalabr = "Commun ACM", + keywords = "computer metatheory --- Algorithmic Languages; computer programming --- Reliability; computer programming languages; Dataflow; formal languages; formal system; Formal Systems; iteration; Lucid; lucid; nonprocedural language; proofs; Proving; Semantics; structured programming", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Brownlee:1977:AIS, + author = "J. Nevil Brownlee", + title = "An {Algol-based} implementation of {SNOBOL} 4 patterns", + journal = j-CACM, + volume = "20", + number = "7", + pages = "527--529", + month = jul, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "When a string appears as the subject of a SNOBOL4 statement, it may be scanned to see whether or not it contains a specified pattern. However, since the scanner is fundamentally an interpreter (using pattern graphs as its input code), pattern matching appears to be a time-consuming process. This paper describes an alternative approach in which SNOBOL4 patterns are compiled into Algol functions, which can be combined into larger (more complicated) patterns, and which are directly executed. It was developed as part of the implementation of ``Snobal\slash 67'', a Burroughs B6700 compiler for a SNOBAL4-like language.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Univ. of Auckland, Private Bag, Auckland, New Zealand", + journalabr = "Commun ACM", + keywords = "ALGOL; compiled; computer operating systems --- Program Compilers; computer programming languages; implementation; pattern recognition systems; patterns; procedure oriented languages; SNOBOL 4", + treatment = "P Practical", +} + +@Article{Geschke:1977:EEM, + author = "Charles M. Geschke and James H. {Morris, Jr.} and Edwin H. Satterthwaite", + title = "Early Experience with {Mesa}", + journal = j-CACM, + volume = "20", + number = "8", + pages = "540--553", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "The experiences of Mesa's first users --- primarily its implementors --- are discussed, and some implications for Mesa and similar programming languages are suggested. The specific topics addressed are: module structure and its use in defining abstractions, data-structuring facilities in Mesa, an equivalence algorithm for types and type coercions, the benefits of the type system and why it is breached occasionally, and the difficulty of making the treatment of variant records safe.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150 (Systems software)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "abstractions; computer programming languages; computer systems programming; data processing --- Data Structures; data structuring; defining; equivalence algorithm; mesa; Mesa; module structure; olit-oopl mesa; problem oriented languages; programming languages; systems programming; type coercions; types", + treatment = "P Practical", +} + +@Article{Shaw:1977:AVA, + author = "Mary Shaw and William A. Wulf and Ralph L. London", + title = "Abstraction and Verification in {Alphard}: Defining and Specifying Iteration and Generators", + journal = j-CACM, + volume = "20", + number = "8", + pages = "553--564", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib", + abstract = "The Alphard ``form'' provides the programmer with a great deal of control over the implementation of abstract data types. In this paper the abstraction techniques are extended from simple data representation and function definition to the iteration statement, the most important point of interaction between data and the control structure of the language itself. A means of specializing Alphard's loops to operate on abstract entities without explicit dependence on the representation of those entities is in troduced. \par Specification and verification techniques that allow the properties of the generators for such iterations to be expressed in the form of proof rules are developed. \par Results are obtained that for common special cases of these loops are essentially identical to the corresponding constructs in other languages. A means of showing that a generator will terminate is also provided.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Dept. of Computer Sci., Carnegie-Mellon Univ., Schenley Park, Pittsburgh, PA, USA", + journalabr = "Commun ACM", + keywords = "abstract data types; abstraction and representation; Alphard; assertions; computer programming; computer programming languages; control specialization; correctness; defining; generators; invariants; iteration; iteration statements; language; modular decomposition; olit lang alphard data abstraction; program specifications; programmer; programming languages; programming methodology; proofs of correctness; specifying; types; verification", + treatment = "P Practical", +} + +@Article{Liskov:1977:AMC, + author = "Barbara Liskov and Alan Snyder and Russell Atkinson and Craig Schaffert", + title = "Abstraction Mechanisms in {CLU}", + journal = j-CACM, + volume = "20", + number = "8", + pages = "564--576", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: In ``Readings in Object-Oriented Database Systems'' edited by S.Zdonik and D.Maier, Morgan Kaufman, 1990.", + abstract = "CLU is a new programming language designed to support the use of abstractions in program construction. Work in programming methodology has led to the realization that three kinds of abstractions --- procedural, control, and especially data abstractions --- are useful in the programming process. Of these, only the procedural abstraction is supported well by conventional languages, through the procedure or subroutine. CLU provides, in addition to procedures, novel linguistic mechanisms that support the use of data and control abstractions. This paper provides an introduction to the abstractions mechanisms in CLU.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Lab. for Computer Sci., MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "abstractions; CLU; computer programming; computer programming languages; construction; linguistic mechanisms; program; programming language; programming languages", + treatment = "P Practical", +} + +@Article{Wirth:1977:TDR, + author = "Niklaus Wirth", + title = "Toward a Discipline of Real-Time Programming", + journal = j-CACM, + volume = "20", + number = "8", + pages = "577--583", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Discrete.event.bib", + abstract = "Programming is divided into three major categories with increasing complexity of reasoning in program validation: sequential programming, multiprogramming, and real-time programming. By adhering to a strict programming discipline and by using a suitable high-level language molded after this discipline, the complexity of reasoning about concurrency and execution time constraints may be drastically reduced. This may be the only practical way to make real-time systems analytically verifiable and ultimately reliable. A possible discipline is outlined and expressed in terms of the language Modula.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "ETH, Zurich, Switzerland", + journalabr = "Commun ACM", + keywords = "computer programming languages; computer systems, digital; concurrency; discipline; execution time; Modula; multiprogramming; online operation; program testing; programming; real time", + treatment = "P Practical", +} + +@Article{Gannon:1977:EED, + author = "J. D. Gannon", + title = "An experimental evaluation of data type conventions", + journal = j-CACM, + volume = "20", + number = "8", + pages = "584--595", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This paper discusses an experiment that compares the programming reliability of subjects using a statically typed language and a ``typeless'' language. Analysis of the number of errors and the number of runs containing errors shows that, at least in one environment, the use of a statically typed language can increase programming reliability.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Dept. of Computer Sci., Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; data type conventions; data types; evaluation; programming languages; programming reliability", + treatment = "X Experimental", +} + +@Article{Franta:1977:EDS, + author = "W. R. Franta and Kurt Maly", + title = "An Efficient Data Structure for the Simulation Event Set", + journal = j-CACM, + volume = "20", + number = "8", + pages = "596--602", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + abstract = "A new event scheduling algorithm is presented which improves on two aspects of the best of the previously published algorithms. First, the new algorithm's performance is quite insensitive to skewed distributions, and second, its worst-case complexity is O(square root of n), where n is the number of events in the set. Furthermore, tests conducted to estimate the average complexity showed it to be nearly independent of n.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 913", + corpsource = "Dept. of Computer Sci., Univ. of Minnesota, Minneapolis, MN, USA", + descriptors = "Simulation; event sequencing; method;", + journalabr = "Commun ACM", + keywords = "algorithm; computer programming --- Subroutines; data processing; data structure; data structures; digital simulation; event scheduling; scheduling; simulation event set", + treatment = "P Practical", +} + +@Article{Lawler:1977:CCS, + author = "Eugene L. Lawler", + title = "Comment on computing the $k$ shortest paths in a graph", + journal = j-CACM, + volume = "20", + number = "8", + pages = "603--604", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (90B10)", + MRnumber = "58 19354", + mrreviewer = "Colin J. H. McDiarmid", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics)", + corpsource = "Div. of Computer Sci., Univ. of California, Berkeley, CA, USA", + keywords = "$k$ shortest paths; algorithms; computing; graph; graph theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Francez:1977:AAK, + author = "N. Francez", + title = "Another advantage of keyword notation for parameter communication with subprograms", + journal = j-CACM, + volume = "20", + number = "8", + pages = "604--605", + month = aug, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Weizmann Inst. of Sci., Rehovoth, Israel", + keywords = "advantage; keyword notation; parameter communication; structured programming; subprograms", + treatment = "P Practical", +} + +@Article{Rabin:1977:CC, + author = "Michael O. Rabin", + title = "Complexity of Computations", + journal = j-CACM, + volume = "20", + number = "9", + pages = "625--633", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "56 10141", + mrreviewer = "Claus-Peter Schnorr", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "See corrigendum \cite{Rabin:1978:CCC}.", + abstract = "The framework for research in the theory of complexity of computations is described, emphasizing the interrelation between seemingly diverse problems and methods. Illustrative examples of practical and theoretical significance are given. Directions for new research are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "721", + corpsource = "Dept. of Maths., Hebrew Univ. of Jerusalem, Jerusalem, Israel", + journalabr = "Commun ACM", + keywords = "algebraic complexity; algorithmic cost functions; algorithms; automata theory; complexity of computations; computational complexity; intractable problems; probabilistic", + treatment = "E Economic; T Theoretical or Mathematical", +} + +@Article{Scott:1977:LPL, + author = "Dana S. Scott", + title = "Logic and Programming Languages", + journal = j-CACM, + volume = "20", + number = "9", + pages = "634--641", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "56 10114", + mrreviewer = "Horst Reichel", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "Logic has been long interested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization. It would seem that the understanding of higher-level program features involves one with infinite objects and forces one to pass through several levels of explanation to go from the conceptual ideas to the final simulation on a real machine. These levels can be made mathematically exact if the right abstractions can be found to represent the necessary structures. In this paper, the author outlines his approach to these problems, specifically his lambda -calculus orientation.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6140 (Programming languages)", + classification = "721; 723", + corpsource = "Math. Inst., Univ. of Oxford, Oxford, UK", + journalabr = "Commun ACM", + keywords = "automata theory --- Computability and Decidability; computability and decidability; computability theory; computational linguistics; computer metatheory; computer programming languages; decision methods; formal logic; methods of logic; programming languages; semantical; syntactic formalization; theory", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Austing:1977:GAT, + author = "Richard H. Austing", + title = "The {GRE Advanced Test in Computer Science}", + journal = j-CACM, + volume = "20", + number = "9", + pages = "642--645", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "This report describes the Advanced Test in Computer Science which was recently introduced in the Graduate Record Examination Program. The GRE program is described in general, and, the events leading to the establishment of the Advanced Computer Science Test are discussed. Content specifications and their rationale are given. A set of sample questions is included.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + classification = "723; 901", + corpsource = "Dept. of Computer Sci., Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "Advanced Test in Computer Science; computer programming; computer science education; education; Examination Program; Graduate Record; questions; rationale; sample; specifications", + treatment = "G General Review; P Practical", +} + +@Article{Scheifler:1977:AIS, + author = "Robert W. Scheifler", + title = "An Analysis of Inline Substitution for a Structured Programming Language", + journal = j-CACM, + volume = "20", + number = "9", + pages = "647--654", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/compiler.bib", + abstract = "An optimization technique known as inline substitution is analyzed. The optimization consists of replacing a procedure invocation by a modified copy of the procedure body. The general problem of using inline substitution to minimize execution time subject to size constraints is formulated, and an approximate algorithmic solution is proposed. The algorithm depends on run-time statistics about the program to be optimized. Preliminary results for the CLU structured programming language indicate that, in programs with a low degree of recursion, over 90 percent of all procedure calls can be eliminated, with little increase in the size of compiled code and a small savings in execution time.", + acknowledgement = ack-nhfb, + classcodes = "C6140 (Programming languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "algorithmic solution; compiled code; computational linguistics; computer operating systems; computer programming --- Structured Programming; computer programming languages; execution time; inline substitution; languages; optimization technique; procedure calls; program compilers; programming; run time statistics; structured programming; structured programming language", + treatment = "P Practical", +} + +@Article{Gifford:1977:HEP, + author = "David K. Gifford", + title = "Hardware Estimation of a Process' Primary Memory Requirements", + journal = j-CACM, + volume = "20", + number = "9", + pages = "655--663", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A minor hardware extension to the Honeywell 6180 processor is demonstrated to allow the primary memory requirements of a process in Multics to be approximated. The additional hardware required for this estimate to be computed consists of a program accessible register containing the miss rate of the associative memory used for page table words. This primary memory requirement estimate was employed in an experimental version of Multics to control the level of multiprogramming in the system and to bill for memory usage. The resulting system's tuning parameters display configuration insensitivity, and it is conjectured that the system would also track shifts in the referencing characteristics of its workload and keep the system in tune.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "associative memory; computer systems programming --- Multiprogramming; configuration insensitivity; content-addressable storage; data storage, digital; hardware extension; memory usage; Multics; multiprogramming; primary memory requirements; program accessible register; referencing characteristics; tuning; tuning parameters; virtual storage", + treatment = "P Practical", +} + +@Article{Mairson:1977:SNU, + author = "Harry G. Mairson", + title = "Some New Upper Bounds on the Generation of Prime Numbers", + journal = j-CACM, + volume = "20", + number = "9", + pages = "664--669", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (10A25 10-04)", + MRnumber = "56 4236", + mrreviewer = "G. Wechsung", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Given an integer N, what is the computational complexity of finding all the primes less than N? A modified sieve of Eratosthenes using doubly linked lists yields an algorithm of O//A(N) arithmetic complexity. This upper bound is shown to be equivalent to the theoretical lower bound for sieve methods without preprocessing. Use of preprocessing techniques involving space-time and additive-multiplicative tradeoffs reduces this upper bound to O//A(N/log logN) and the bit complexity to O//B(N logN log log logN). A storage requirement is described using O//B(N logN\slash log logN) bits as well.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods)", + classification = "723; 921", + corpsource = "Calhoun College, Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "computational complexity; computer programming --- Subroutines; generation of prime numbers; mathematical techniques; methods; number theory; preprocessing techniques; requirement; sieve; storage; upper bound", + treatment = "T Theoretical or Mathematical", +} + +@Article{McCreight:1977:PBT, + author = "Edward M. McCreight", + title = "Pagination of {B*}-Trees with Variable-Length Records", + journal = j-CACM, + volume = "20", + number = "9", + pages = "670--674", + month = sep, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A strategy is presented for pagination of B*-trees with variable-length records. If records of each length are uniformly distributed within the file, and if a wide distribution of record lengths exists within the file, then this strategy results in shallow trees with fast access times. The performance of this strategy in an application is presented, compared with that of another strategy, and analyzed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901; 921", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "data base systems; data processing --- Data Handling; data searching; information retrieval systems; mathematical techniques --- Trees", + keywords = "B* tree; fast access times; file; file organisation; pagination; shallow trees; strategy; trees (mathematics); variable length records", + treatment = "P Practical", +} + +@Article{Fuchs:1977:OSR, + author = "H. Fuchs and Z. M. Kedem and S. P. Uselton", + title = "Optimal Surface Reconstruction from Planar Contours", + journal = j-CACM, + volume = "20", + number = "10", + pages = "693--702", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A45", + MRnumber = "58 25163", + mrreviewer = "Giorgio Balconi", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib and ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/77.bib", + abstract = "This paper presents a general solution to the problem of constructing a surface over a set of cross-sectional contours. This surface, to be composed of triangular tiles, is constructed by separately determining an optimal surface between each pair of consecutive contours. Determining such a surface is reduced to the problem of finding certain minimum cost cycles in a directed toroidal graph. A new fast algorithm for finding such cycles is utilized. Also developed is a closed-form expression, in terms of the number of contour points, for an upper bound on the number of operations required to execute the algorithm. An illustrated example which involves the construction of a minimum area surface describing a human head is included.", + acknowledgement = ack-nhfb, + annote = "Also in Computer Graphics (Special issue of SIGGRAPH '77, preliminary papers), pp. 11--24.", + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "Univ. of Texas, Dallas, TX, USA", + journalabr = "Commun ACM", + keywords = "computer graphics; optimal; planar contours; reconstruction of objects; surface reconstruction; triangular tiles", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wu:1977:ICG, + author = "Sheng-Chuan C. Wu and John F. Abel and Donald P. Greenberg", + title = "An Interactive Computer Graphics Approach to Surface Representation", + journal = j-CACM, + volume = "20", + number = "10", + pages = "703--712", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib and ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.77.bib", + abstract = "An interactive computer graphics method has been developed for the rapid generation of arbitrary shaped three-dimensional surfaces. The method is a synthesis of spline theory and algorithms, an interactive means for man-machine communication, and software for static or dynamic graphics display. The basic technique employed is a modified lofting method in which sectional curves are represented by uniform B-splines and the surface is interpolated between sections by Cardinal splines. Among the features of this method are algorithms which enable interactive modification of the B-spline representation of the sectional curves. At all stages of the process, the spatial information is graphically displayed to the user. Complex surfaces can be created by the combination of a number of shapes that have been separately generated and automatically joined. The system has been successfully interfaced to a variety of analytical routines for structural, medical and graphical applications.", + acknowledgement = ack-nhfb, + annote = "Also in Computer Graphics (Special issue of SIGGRAPH '77, preliminary papers), pp. 1--10. An interactive computer graphics method has been developed for the rapid generation of arbitrary shaped three-dimensional surfaces. The method is a synthesis of spline theory and algorithms, an interactive means for man-machine communication, and software for static or dynamic graphics display. The basic technique employed is a modified lofting method in which sectional curves are represented by uniform B-splines and the surface is interpolated", + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "Cornell Univ., Ithaca, NY, USA", + descriptors = "Graphics; two-dimensional plot; three-dimensional plot; method; process interaction; interpolation; human factors; spline; finite element input method", + journalabr = "Commun ACM", + keywords = "computer graphics; interactive computer graphics; representation; representation graphic; representation surface geometry; splines; splines (mathematics); surface representation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Rosen:1977:HLD, + author = "Barry K. Rosen", + title = "High-Level Data Flow Analysis", + journal = j-CACM, + volume = "20", + number = "10", + pages = "712--724", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "In contrast to the predominant use of low-level in termediate text, high-level data flow analysis deals with programs essentially at source level and exploits the control flow information implicit in the parse tree. The need for high-level flow analysis arises from several aspects of recent work on advanced methods of program certification and optimization. \par This paper proposes a simple general method of high-level data flow analysis that allows free use of escape and jump statements, avoids large graphs when compiling large programs, facilitates updating of data flow information to reflect program changes, and derives new global information helpful in solving many familiar global flow analysis problems. An illustrative application to live variable analysis is presented. \par Many of the graphs involved are constructed and analyzed before any programs are compiled, thus avoiding certain costs that low-level methods incur repeatedly at compile time.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer programming --- Structural Programming; computer programming languages; control flow graph; data flow analysis; data processing --- Data Reduction and Analysis; escapes; exits; goto statements; high-level language; jumps; structured programming", + keywords = "data flow analysis; escape; high; jump; level; programs; statements; structured programming", + treatment = "T Theoretical or Mathematical", +} + +@Article{Montangero:1977:TCS, + author = "C. Montangero and G. Pacini and F. Turini", + title = "Two-Level Control Structure for Nondeterministic Programming", + journal = j-CACM, + volume = "20", + number = "10", + pages = "725--730", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The basic ideas of nondeterministic programming are critically reconsidered to single out a proper attitude and programming style for languages allowing direct control of nondeterministic features. The proposed attitude aims at retaining the purity of the nondeterministic formulation of search processes on one level (the attempt level), deferring the coordination of problem solving efforts to another (the choice level). The feasibility of recognizing these two levels is discussed, stressing that the structure to be managed at the choice level is a tree of contexts. The leaves are computational environments, each holding an alternative under inspection, while the other nodes are associated with choice points. According to the proposed programming style, a generative function is associated with each choice point, which expresses the desired choice strategy. The main advantage of this approach is the localization of the search strategies: Each nonterminal node of the tree keeps track of the state of the computation as it was when the choice point was last interrogated, holding at the same time the strategy to coordinate the available alternatives. Examples are given in term of ND-Lisp, an extension of Lisp designed and implemented according to these guidelines.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. of Pisa, Pisa, Italy", + journalabr = "Commun ACM", + keywords = "computer programming languages; control structure; languages; nondeterministic programming; programming theory; two level", + treatment = "T Theoretical or Mathematical", +} + +@Article{LaLonde:1977:RRP, + author = "Wilf R. LaLonde", + title = "Regular Right Part Grammars and Their Parsers", + journal = j-CACM, + volume = "20", + number = "10", + pages = "731--741", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A30", + MRnumber = "58 13974", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Regular right part (RRP) grammars, which resemble PASCAL syntax diagrams, describe the syntax of programming languages more concisely and more understandably than is possible with CF grammars. Also introduced is a class of parsers, RRP LR(m, k) parsers, which includes the CF LR(k) parsers and provides the same advantages. Informally, an RRP LR(m, k) parser can determine the right end of each handle by considering at most k symbols to the right of the handle and the left end, after the right end has been found, by considering at most m symbols to the left of the handle. A mechanism for determining the left end is required because there is no bound on the length of the handle.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4220 (Automata theory)", + classification = "721; 723", + corpsource = "Carleton Univ., Ottawa, Ont., Canada", + journalabr = "Commun ACM", + keywords = "automata theory; computer programming languages; finite automata; finite state machines; grammars; parsers; regular right part; regular right part grammar; RRP grammars", + treatment = "T Theoretical or Mathematical", +} + +@Article{Devillers:1977:GID, + author = "R. Devillers", + title = "Game Interpretation of the Deadlock Avoidance Problem", + journal = j-CACM, + volume = "20", + number = "10", + pages = "741--745", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "The deadlock avoidance problem may be defined informally as the determination, from some a priori information about the processes, resources, operating system, etc., of the ``safe situations'' which may be realized without endangering the smooth running of the system. When each process specifies its future needs by a flowchart of need-defined steps, a global approach to the phenomenon and its interpretation as a game between the operating system and the processes allows formalization of risk and safety concepts. The bipartite graph representation of this game may then be used to construct explicitly the set of safe states and to study their properties.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150J (Operating systems)", + classification = "723; 922", + corpsource = "Free Univ. of Brussels, Brussels, Belgium", + journalabr = "Commun ACM", + keywords = "computer operating systems; deadlock avoidance; multiprogramming; operating system; probability --- Game Theory; processes; resources", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ivie:1977:PWM, + author = "Evan L. Ivie", + title = "Programmer's Workbench --- a Machine for Software Development", + journal = j-CACM, + volume = "20", + number = "10", + pages = "746--753", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In this paper it is suggested that there are many situations where it would be advantageous to separate the program development and maintenance function onto a specialized computer which is dedicated to that purpose. Such a computer is here called a Programmer's Workbench. The four basic sections of the paper introduce the subject, outline the general concept, discuss areas where such an approach may prove beneficial, and described and operational system utilizing this concept.", + acknowledgement = ack-nhfb, + classcodes = "C5420 (Mainframes and minicomputers); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Bell Telephone Labs., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer programming; dedicated; maintenance; Programmer's Workbench; programming; software development; special purpose computers; specialized computer", + treatment = "P Practical", +} + +@Article{Smith:1977:MMO, + author = "Alan Jay Smith", + title = "Multiprocessor Memory Organization and Memory Interference", + journal = j-CACM, + volume = "20", + number = "10", + pages = "754--761", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The structure of shared memory in a multiprocessor computer system is examined with particular attention to noninterleaved memory. Alternative memory organizations are compared and it is shown that a home memory organization, in which each processor is associated with one or more memories in which its address space concentrated, is quite effective in reducing memory interference. Home memory organization is shown to be particularly suited to certain specialized computational problems as well as to possess advantages in terms of interference and reliability for general purpose computation. Results for interleaved memory are drawn from previous work and are used for comparison. Trace-driven simulations are used to verify the conclusions of the analysis.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture)", + classification = "723", + corpsource = "Univ. of California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "computer system; computer systems programming; file organisation; memory interference; memory organization; multiprocessing systems; multiprocessor; noninterleaved memory; shared memory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Boyer:1977:FSS, + author = "Robert S. Boyer and J. Strother Moore", + title = "A Fast String Searching Algorithm", + journal = j-CACM, + volume = "20", + number = "10", + pages = "762--772", + month = oct, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib", + note = "See also \cite{Knuth:1977:FPM} and \cite{Sunday:1990:VFS}.", + abstract = "An algorithm is presented that searches for the location, ``i,'' of the first occurrence of a character string, ``pat,'' in another string, ``string.'' During the search operation, the characters of pat are matched starting with the last character of pat. The information gained by starting the match at the end of the pattern often allows the algorithm to proceed in large jumps through the text being searched. Thus the algorithm has the unusual property that, in most cases, not all of the first i characters of string are inspected. The number of characters actually inspected (on the average) decreases as a function of the length of pat. For a random English pattern of length 5, the algorithm will typically inspect i/4 characters of string before finding a match at i. Furthermore, the algorithm has been implemented so that (on the average) fewer than i plus patlen machine instructions are executed. These conclusions are supported with empirical evidence and a theoretical analysis of the average behavior of the algorithm. The worst case behavior of the algorithm is linear in i plus patlen, assuming the availability of array space for tables linear in patlen plus the size of the alphabet.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", + classification = "723; 901", + comment = "The Boyer-Moore string matching algorithm is, in the worst case, linear in the length of the text + length of the pattern. The average case behavior is sublinear. Practical efficient implementations of this algorithm exist. By starting the comparisons at the right of the pattern instead of the left of the pattern, large jumps can be made in the text.", + corpsource = "Stanford Res. Inst., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm; Boyer-Moore; character string; computer operating systems; computer programming; fast; information science --- Information Retrieval; list processing; pattern matching; string matching; string searching; text; text editing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lee:1977:CFP, + author = "J. A. N. Lee", + title = "Considerations for future programming language standards activities", + journal = j-CACM, + volume = "20", + number = "11", + pages = "788--794", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + corpsource = "Dept. of Computer Sci., Virginia Polytech. Inst. and State Univ., Blacksburg, VA, USA", + keywords = "BASIC; COBOL; documentation; error conditions; FORTRAN; future; PL/I; procedure oriented languages; programming language; standards", + treatment = "G General Review; P Practical", +} + +@Article{Turner:1977:ULS, + author = "Rollins Turner and Bill Strecker", + title = "Use of the {LRU} Stack Depth Distribution for Simulation of Paging Behavior", + journal = j-CACM, + volume = "20", + number = "11", + pages = "795--798", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + abstract = "Two families of probability distributions are needed for use by a virtual memory simulation model: headway between page fault distributions, and working set size distributions. All members of both families can be derived from the LRU stack depth distribution. Simple expressions for the computation of both kinds of distributions are given. Finally, examples are given of both families of distributions as computed from a published stack depth distribution.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; fault distributions; least; LRU; memory hierarchy; paging; Performance Evaluation: Experimental; probability; recently used; simulation; stack depth distribution; virtual memory; virtual storage", + treatment = "T Theoretical or Mathematical", +} + +@Article{Crow:1977:APC, + author = "Franklin C. Crow", + title = "The Aliasing Problem in Computer-Generated Shaded Images", + journal = j-CACM, + volume = "20", + number = "11", + pages = "799--805", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding of these defects leads to more effective methods. This paper explains the observed defects in terms of the aliasing phenomenon inherent in sampled signals and discusses prefiltering as a recognized cure. A method for evaluating filters is presented, the application of prefiltering to hidden-surface algorithms is discussed, and an implementation of a filtering tiler is shown accompanied by examples of its effectiveness.", + acknowledgement = ack-nhfb, + annote = "Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding of these defects leads to more effective methods. This paper explains the observed defects in terms of the aliasing phenomenon inherent in sampled signals and discusses prefiltering as a recognized cure \ldots.", + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "Univ. of Texas, Austin, TX, USA", + descriptors = "Method; graphics; three-dimensional plot; display; filter theory; sampling; aliasing; convolutional filtering; hidden line algorithm", + journalabr = "Commun ACM", + keywords = "aliasing; antialiasing; CACM; computer graphics; defects; filtering tiler; prefiltering; sampled signals; shaded images", + treatment = "P Practical", +} + +@Article{Lamport:1977:CRW, + author = "Leslie Lamport", + title = "Concurrent Reading and Writing", + journal = j-CACM, + volume = "20", + number = "11", + pages = "806--811", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "57 4572", + mrreviewer = "Richard A. DeMillo", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The problem of sharing data among asynchronous processes is considered. It is assumed that only one process at a time can modify the data, but concurrent reading and writing is permitted. Two general theorems are proved, and some algorithms are presented to illustrate their use. These include a solution to the general problem in which a read is repeated if it might have obtained an incorrect result, and two techniques for transmitting messages between processes. These solutions do not assume any synchronizing mechanism other than data which can be written by one process and read by other processes.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Massachusetts Computer Associates, Wakefield, MA, USA", + journalabr = "Commun ACM", + keywords = "algorithms; asynchronous processes; computer systems programming; concurrent; multiprocessing programs; reading; sharing data; theorems; writing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Shore:1977:ABF, + author = "John E. Shore", + title = "Anomalous Behavior of the Fifty-Percent Rule in Dynamic Memory Allocation", + journal = j-CACM, + volume = "20", + number = "11", + pages = "812--820", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Simulation data are reported showing that, in dynamic memory allocation, the average free-to-allocated-block ratio can differ considerably and in both directions from the predictions of the 50 percent rule. A new derivation is given, and it is shown that previous derivations make an assumption that may be violated frequently. On the basis of the simulation data and the derivation, it is hypothesized that the anomalous behavior results from the combined effects of systematic placement and the statistics of the release process. Additional simulations support this hypothesis. Systematic placement, which refers to the natural convention of always allocating storage requests against the same end of the free block selected by the allocation strategy, tends to order blocks within contiguous groups, according to their allocation time. The degree of anomalous behavior depends on the extent to which allocated blocks are released in the order of their allocation. For non-Markovian release processes, the extent of the correlation between allocation order and release order varies approximately inversely with the coefficient of variation of the memory residence time distribution. The simulations show that allocation efficiency depends strongly on the residence time distribution; efficiency decreases as the distribution's coefficient of variation increases. Some practical implications are briefly discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Naval Res. Lab., Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "50 percent rule; anomalous behaviour; computer operating systems; dynamic memory allocation; release process; simulation; storage allocation; systematic placement", + treatment = "T Theoretical or Mathematical", +} + +@Article{Stockman:1977:EHC, + author = "G. C. Stockman and A. K. Agrawala", + title = "Equivalence of {Hough} curve detection to template matching", + journal = j-CACM, + volume = "20", + number = "11", + pages = "820--822", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + corpsource = "LNK Corp., Silver Spring, MD, USA", + keywords = "Hough; Hough curve detection; pattern recognition; template matching; transformation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wirth:1977:WCW, + author = "N. Wirth", + title = "What can we do about the unnecessary diversity of notation for syntactic definitions?", + journal = j-CACM, + volume = "20", + number = "11", + pages = "822--823", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6140D (High level languages)", + corpsource = "Federal Inst. of Technol., ETH, Zurich, Switzerland", + keywords = "notation; programming languages; syntactic definitions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Roy:1977:NRP, + author = "M. K. Roy", + title = "A note on reflection-free permutation enumeration", + journal = j-CACM, + volume = "20", + number = "11", + pages = "823--823", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Jadavpur Univ., Calcutta, India", + keywords = "enumeration; permutation; programming; reflection free", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Manna:1977:OAR, + author = "Zohar Manna and Adi Shamir", + title = "The Optimal Approach to Recursive Programs", + journal = j-CACM, + volume = "20", + number = "11", + pages = "824--831", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "56 13748", + mrreviewer = "Giorgio Levi", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory) 1 Years All Years in which items were published. 2 Type All Publication types. 3 Language All Find only items published in this language. In any year A hyphen or ALL - In a certain year The four-digit year 1923 In or after a certain year The year and a hyphen 1960- In or before a certain year A hyphen and a year -1955 In or between two years Both years and a hyphen 1960-1975 1 Years 1970-1979 Years in which items were published. 2 Type All Publication types. 3 Language All Find only items published in this language.", + corpsource = "Weizmann Inst. of Sci., Rehovoth, Israel", + keywords = "optimal approach; optimal fixedpoints; programming theory; recursive programs", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hammer:1977:VHL, + author = "Michael Hammer and W. Gerry Howe and Vincent J. Kruskal and Irving Wladawsky", + title = "Very High Level Programming Language for Data Processing Applications", + journal = j-CACM, + volume = "20", + number = "11", + pages = "832--840", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The structure of a very high level language designed for use in business data processing applications is described. The language, Business Definition Language (BDL), has been subjected to a number of validation studies where it was used to code parts of existing systems. An implementation is currently under way, as is a modeling and customization effort using BDL as the underlying system language. This latter system will be used to tailor predesigned application systems to an individual's needs by means of his responses to a questionnaire.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C7100 (Business and administration)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "administrative data processing; BDL; business; business definition; business forms; calculations; computer programming languages; data processing, business; language; organization; problem oriented languages; sublanguages; very high level programming language", + treatment = "P Practical", +} + +@Article{Sprugnoli:1977:PHF, + author = "Renzo Sprugnoli", + title = "Perfect Hashing Functions: {A} Single Probe Retrieving Method for Static Sets", + journal = j-CACM, + volume = "20", + number = "11", + pages = "841--850", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "56 17255", + mrreviewer = "Eberhard Ludde", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib", + note = "This is the first discussion on perfect hashing; describes heuristics for constructing perfect hash functions.", + abstract = "A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered. Given a set I of identifiers, two methods are presented for building, in a mechanical way, perfect hashing functions, i.e. functions transforming the elements of I into unique addresses. The first method, the ``quotient reduction'' method, is shown to be complete in the sense that for every set I the smallest table in which the elements of I can be stored and from which they can be retrieved by using a perfect hashing function constructed by this method can be found. However, for nonuniformly distributed sets, this method can give rather sparse tables. The second method, the ``remainder reduction'' method, is not complete in the above sense, but it seems to give minimal (or almost minimal) tables for every kind of set. The two techniques are applicable directly to small sets. Some methods to extend these results to larger sets are also presented. A rough comparison with ordinary hashing is given which shows that this method can be used conveniently in several practical applications.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Istituto di Elaborazione della Informazione, CNR, Pisa, Italy", + journalabr = "Commun ACM", + keywords = "computer programming; file organisation; functions; perfect hashing; retrieving; single probe; static sets", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cocke:1977:ARO, + author = "John Cocke and Ken Kennedy", + title = "An Algorithm for Reduction of Operator Strength", + journal = j-CACM, + volume = "20", + number = "11", + pages = "850--856", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + abstract = "A simple algorithm which uses an indexed temporary table to perform reduction of operator strength in strongly connected regions is presented. Several extensions, including linear function test replacement, are discussed. These algorithms should fit well into an integrated package of local optimization algorithms.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "algorithm; computer programming; indexed temporary; linear function test; local optimization; operator strength; program compilers; reduction; replacement; strongly connected regions; table", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Bird:1977:IPI, + author = "R. S. Bird", + title = "Improving Programs by the Introduction of Recursion", + journal = j-CACM, + volume = "20", + number = "11", + pages = "856--863", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "56 17179", + mrreviewer = "V. Cazanescu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "A new technique of program transformation, called ``recursion introduction,'' is described and applied to two algorithms which solve pattern matching problems. By using a recursion introduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called ``tabulation,'' to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. of Reading, Reading, UK", + journalabr = "Commun ACM", + keywords = "computer programming; functional program transformation optimization recursion elimination pattern matching computational induction; program transformation; programming theory; recursion introduction; stack", + treatment = "T Theoretical or Mathematical", +} + +@Article{Nielsen:1977:DMA, + author = "Norman R. Nielsen", + title = "Dynamic Memory Allocation in Computer Simulation", + journal = j-CACM, + volume = "20", + number = "11", + pages = "864--873", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "Investigation is made of the performance of 35 dynamic memory allocation algorithms when used to service simulation programs as represented by 18 test cases. Algorithm performance was measured in terms of processing time, memory usage, and external memory fragmentation. Algorithms maintaining separate free space lists for each size of memory block used tended to perform quite well compared with other algorithms. Simple algorithms operating on memory ordered lists (without any free list) performed surprisingly well. Algorithms employing power-of-two block sizes had favorable processing requirements but generally unfavorable memory usage. Algorithms employing LIFO, FIFO, or memory ordered free lists generally performed poorly compared with others.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Stanford Res. Inst., Menlo Park, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithms; computer operating systems --- Storage Allocation; computer simulation; digital simulation; dynamic memory allocation; external memory; fragmentation; memory usage; performance; processing time; storage allocation", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Blasgen:1977:EMM, + author = "Michael W. Blasgen and Richard G. Casey and Kapali P. Eswaran", + title = "An Encoding Method for Multifield Sorting and Indexing", + journal = j-CACM, + volume = "20", + number = "11", + pages = "874--878", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + note = "Also published in/as: IBM, Res.R., RJ 1753, IBM San Jose, Res.Lab, Mar.1976.", + abstract = "The efficient retrieval from a database of records that satisfy an expression involving more than one data field is examined. Sequences of character strings with an order relation imposed between sequences are considered. An encoding scheme is described which produces a single, order-preserving string from a sequence of strings. The original sequence can be recovered from the encoded string, and one sequence of strings precedes another if and only if the encoding of the first precedes the encoding of the second. The strings may be variable length, without a maximum length restriction, and no symbols need be reserved for control purposes. Hence any symbol may occur in any string. The scheme is useful for multifield sorting, multifield indexing, and other applications where ordering on more than one field is important.", + acknowledgement = ack-nhfb, + annote = "Coding for SYSTEM R multi-field indexes.", + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "IBM Res. Lab., San Jose, CA, USA", + journalabr = "Commun ACM", + keywords = "character; codes, symbolic; encoding method; indexing; information science --- Information Retrieval; multifield sorting; order relation; sorting; strings", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Grapa:1977:STA, + author = "Enrique Grapa and Geneva G. Belford", + title = "Some Theorems to Aid in Solving the File Allocation Problem", + journal = j-CACM, + volume = "20", + number = "11", + pages = "878--882", + month = nov, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "57 4705", + mrreviewer = "Witold Lipski", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C5620 (Computer networks and techniques); C6120 (File organisation)", + corpsource = "Univ. of Illinois, Urbana, IL, USA", + keywords = "computer networks; copies; DP management; file allocation problem; network sites; storage allocation; theorems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lopez:1977:SCS, + author = "A. A. Lopez and R. Raymond and R. Tardiff", + title = "A survey of computer science offerings in small liberal arts colleges", + journal = j-CACM, + volume = "20", + number = "12", + pages = "902--906", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Univ. of Minnosota, Morris, MN, USA", + keywords = "computer science; computer science education; curricular; development; programming courses; small liberal arts colleges", + treatment = "G General Review", +} + +@Article{Kessels:1977:CFN, + author = "J. L. W. Kessels", + title = "A Conceptual Framework for a Nonprocedural Programming Language", + journal = j-CACM, + volume = "20", + number = "12", + pages = "906--913", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "A sequential programming language forces the programmer to prescribe explicitly the order in which the operations in his program have to be executed, even if the order is not relevant to the solution of his problem. The requirement to indicate irrelevant sequencing can be removed if the language provides facilities for specifying a task in a nonprocedural manner. In general, a program specified in this way will allow concurrent evaluation. A conceptual framework for a high level programming language is described providing both nonprocedural and sequential facilities. Within a program, nonprocedural and sequential program modules may be nested freely.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6140D (High level languages)", + classification = "723", + corpsource = "Philips Res. Labs., Eindhoven, Netherlands", + journalabr = "Commun ACM", + keywords = "computer programming languages; conceptual framework; concurrent; nonprocedural programming language; parallel; programming languages; sequential", + treatment = "T Theoretical or Mathematical", +} + +@Article{Carter:1977:CSN, + author = "J. Lawrence Carter", + title = "A Case Study of a New Code Generation Technique for Compilers", + journal = j-CACM, + volume = "20", + number = "12", + pages = "914--920", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/compiler.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "Recent developments in optimizing techniques have allowed a new design for compilers to emerge. Such a compiler translates the parsed source code into lower level code by a sequence of steps. Each step expands higher level statements into blocks of lower level code and then performs optimizations on the result. Evidence is provided that this strategy can indeed result in good object code. The traditionally difficult PL/I concatenate statement was investigated as a detailed example.", + acknowledgement = ack-nhfb, + annote = "Describes a unified system which can handle both interpretation and compilation.", + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "case study; code generation technique; codes, symbolic; compilers; computer operating systems; program compilers", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gries:1977:EPP, + author = "David Gries", + title = "An Exercise in Proving Parallel Programs Correct", + journal = j-CACM, + volume = "20", + number = "12", + pages = "921--930", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "58 3615", + mrreviewer = "Andrzej Blikle", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + note = "See corrigendum \cite{Gries:1978:CEP}.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + corpsource = "Cornell Univ., Ithaca, NY, USA", + keywords = "correct; garbage collector; parallel processing; parallel programs; programming theory; proving; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Grief:1977:LFP, + author = "Irene Grief", + title = "A language for formal problem specification", + journal = j-CACM, + volume = "20", + number = "12", + pages = "931--935", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A language for specifying the intended behavior of communicating parallel processes is described. The specifications are constraints on the order in which events of a computation can occur. The language is used to write specifications of the readers\slash writers problem and the writer priority of the second readers\slash writers problem.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. of Washington, Seattle, WA, USA", + journalabr = "Commun ACM", + keywords = "communicating; computer programming languages; constraints; formal languages; formal problem specification; language; parallel processes; parallel processing; readers/writers problem; writer priority", + treatment = "T Theoretical or Mathematical", + xxauthor = "Irene Greif", +} + +@Article{Abrams:1977:MIC, + author = "Marshall D. Abrams and Siegfried Treu", + title = "A Methodology for Interactive Computer Service Measurement", + journal = j-CACM, + volume = "20", + number = "12", + pages = "936--944", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1977.bib", + abstract = "A measurement methodology applicable to in teractive computer service is described. Its primary purpose is to enable external, user-oriented assessment of computer performance, instead of the more frequently used in ternal system measurement techniques. \par The NBS Network Measurement System is employed as the external measurement tool. Example data have been collected and analyzed. A demonstration of the methodology, leading to a pragmatic figure-of-merit evaluation of results, is included.", + acknowledgement = ack-nhfb, + annote = "A measurement methodology applicable to interactive computer service is described. Its primary purpose is to enable external, user-oriented assessment of computer performance, instead of the more frequently used internal system measurement techniques. The NBS Network Measurement System is employed as the external measurement tool. Example data have been collected and analyzed. A demonstration of the methodology, leading to a pragmatic figure-of\ldots.", + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "722; 723", + corpsource = "Nat. Bur. of Stand., Washington, DC, USA", + country = "USA", + descriptors = "Man-machine interaction; performance measure; measurement; method; survey;", + enum = "5", + journalabr = "Commun ACM", + keywords = "computer selection and evaluation; computer service; computer systems, digital; external; external measurement; figure-of-merit.; in teractive system; interactive; interactive computer systems; measurement; measurement model; measures; methodology; network measurement system; performance", + language = "English", + references = "24", + treatment = "T Theoretical or Mathematical", +} + +@Article{Danziger:1977:CIA, + author = "J. N. Danziger and W. H. Dutton", + title = "Computers as an innovation in {American} local governments", + journal = j-CACM, + volume = "20", + number = "12", + pages = "945--956", + month = dec, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)", + corpsource = "Univ. of California, Irvine, CA, USA", + keywords = "American local governments; applications; computer technology; EDP; financial support; government data processing; innovation; social aspects of automation", + treatment = "G General Review", +} + +@Article{Summers:1977:MLP, + author = "P. D. Summers", + title = "A Methodology for {LISP} Program Construction from Examples", + journal = j-CACM, + volume = "24", + number = "1", + pages = "161--175", + month = jan, + year = "1977", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + keywords = "LISP", +} + +@Article{Lavington:1978:MMA, + author = "S. H. Lavington", + title = "The {Manchester Mark I} and {Atlas}: a historical perspective", + journal = j-CACM, + volume = "21", + number = "1", + pages = "4--12", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6150J (Operating systems)", + corpsource = "Univ. of Manchester, Manchester, UK", + keywords = "(computers); address generation; computer architecture; computer software; operating systems; store management", + treatment = "P Practical", +} + +@Article{Ibbett:1978:DMC, + author = "R. N. Ibbett and P. C. Capon", + title = "The development of the {MU5} computer system", + journal = j-CACM, + volume = "21", + number = "1", + pages = "13--24", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Following a brief outline of the background of the MU5 project, the aims and ideas for MU5 are discussed. A description is then given of the instruction set, which includes a number of features conducive to the production of efficient compiled code from high-level language source programs. The design of the processor is then traced from the initial ideas for an associatively addressed ``name store'' to the final multistage pipeline structure involving a prediction mechanism for instruction prefetching and a function queue for array element accessing. An overall view of the complete MU5 complex is presented together with a brief indication of its performance.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Univ. of Manchester, Manchester, UK", + journalabr = "Commun ACM", + keywords = "architecture; code; computer; computer architecture; computer systems, digital; function queue; instruction prefetching; instruction set; MU5; name store; operating systems (computers); pipeline processing; pipeline structure", + treatment = "P Practical", +} + +@Article{Borgerson:1978:ESU, + author = "B. R. Borgerson and M. L. Hanson and P. A. Hartley", + title = "Evolution of the {Sperry Univac 1100 Series}: a History, Analysis, and Projection", + journal = j-CACM, + volume = "21", + number = "1", + pages = "25--43", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The 1100 series systems are Sperry Univac's large-scale mainframe computer systems. Beginning with the 1107 in 1962, the 1100 series has progressed through a succession of eight compatible computer models to the latest system, the 1100\slash 80, introduced in 1977. The 1100 series hardware architecture is based on a 36-bit word, ones complement structure which obtains one operand from storage and one from a high-speed register, or two operands from high-speed registers. The 1100 Operating System is designed to support a symmetrical multiprocessor configuration simultaneously providing multiprogrammed batch, timesharing, and transaction environments.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Sperry Univac, Blue Bell, PA, USA", + journalabr = "Commun ACM", + keywords = "computer architecture; computer systems, digital; hardware architecture; multiprocessing systems; operating; Sperry Univac 1100 series; symmetrical multiprocessor configuration; systems (computers)", + treatment = "P Practical", +} + +@Article{Bell:1978:ED, + author = "C. G. Bell and A. Kotok and T. N. Hastings and R. Hill", + title = "The Evolution of the {DECsystem 10}", + journal = j-CACM, + volume = "21", + number = "1", + pages = "44--63", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The DECsystem 10, also known as the PDP-10, evolved from the PDP-6 (circa 1963) over five generations of implementations to presently include systems covering a price range of five to one. The origin and evolution of the hardware, operating system, and languages are described in terms of technological change, user requirements, and user developments. The PDP-10's contributions to computing technology include: accelerating the transition from batch oriented to time sharing computing systems; transferring hardware technology within DEC (and elsewhere) to minicomputer design and manufacturing; supporting minicomputer hardware and software development; and serving as a model for single user and timeshared interactive minicomputer\slash microcomputer systems.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + journalabr = "Commun ACM", + keywords = "architecture; computer; computer architecture; computer systems, digital; DECsystem 10; operating system; operating systems (computers); sharing systems; time sharing; time-", + treatment = "P Practical", +} + +@Article{Russell:1978:CCS, + author = "Richard M. Russell", + title = "The {CRAY-1} Computer System", + journal = j-CACM, + volume = "21", + number = "1", + pages = "63--72", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib", + abstract = "This paper describes the CRAY-1, discusses the evolution of its architecture, and gives an account of some of the problems that were overcome during its manufacture. The CRAY-1 is the only computer to have been built to date that satisfies ERDA's Class VI requirement (a computer capable of processing from 20 to 60 million floating point operations per second) [1]. The CRAY-1's Fortran compiler (CFT) is designed to give the scientific user immediate access to the benefits of the CRAY-1's vector processing architecture. An optimizing compiler, CFT, ``vectorizes'' innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with many commonly supported Fortran extensions, CFT does not require any source program modifications or the use of additional nonstandard Fortran statements to achieve vectorization. \par Thus the user's investment of hundreds of man months of effort to develop Fortran programs for other contemporary computers is protected.", + acknowledgement = ack-nhfb, + annote = "The original paper describing the Cray-1. This paper is reproduced in Kuhn and Padua's (1981, IEEE) survey ``Tutorial on Parallel Processing.'' Also reproduced in ``Computer Structures: Principles and Examples'' by Daniel P. Siewiorek, C. Gordon Bell, and Allen Newell, McGraw-Hill, 1982, pp. 743-752. Reproduced in Dharma P. Agrawal's (ed.) ``Advanced Computer Architecture,'' IEEE, 1986, pp.15-24. Literature search yields: 00712248 E. I. Monthly No: EI7804023850 E. I. Yearly No: EI78014612 Title: Cray-1 Computer System. Author: Russell, Richard M. Corporate Source: Cray Res Inc, Minneapolis, Minn Source: Communications of the ACM v 21 n 1 Jan 1978 p 63--72 Publication Year: 1978 CODEN: CACMA2 ISSN: 0001-0782 Language: ENGLISH Journal Announcement: 7804 Abstract: The CRAY-1 is described, the evolution of its architecture is discussed, and an account is given of some of the problems that were overcome during its manufacture. The CRAY-1 is the only computer to have been built to date that satisfies ERDA's Class VI requirement (a computer capable of processing from 20 to 60 million floating point operations per second). The CRAY-1's Fortran compiler (CFT) is designed to give the scientific user immediate access to the benefits of the CRAY-1's vector processing architecture. An optimizing compiler, CFT, ``vectorizes'' innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with many commonly supported Fortran extensions, CFT does not require any source program modifications or the use of additional nonstandard Fortran statements to achieve vectorization. 6 refs. Descriptors: *COMPUTER ARCHITECTURE; COMPUTER SYSTEMS, DIGITAL Classification Codes: 722 (Computer Hardware); 723 (Computer Software) 72 (COMPUTERS \& DATA PROCESSING)", + classcodes = "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Cray Res. Inc., Minneapolis, MN, USA", + journalabr = "Commun ACM", + keywords = "architecture; CFT; computer architecture; computer systems; computer systems, digital; CRAY-1 computer system; existing classic architecture; ginsberg biblio: bhibbard enm; grecommended91; implementation; j\-lb; maeder biblio: parallel hardware and devices; operating systems (computers); processing; vector", + treatment = "P Practical", +} + +@Article{Case:1978:AIS, + author = "Richard P. Case and Andris Padegs", + title = "Architecture of the {IBM System}\slash 370", + journal = j-CACM, + volume = "21", + number = "1", + pages = "73--96", + month = jan, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + corpsource = "IBM Corp., White Plains, NY, USA", + keywords = "Architectures; computer architecture; data manipulation; debugging; design considerations; error handling; input/output operations; instructions; memory hierarchy; monitoring; multiprocessing; operating systems (computers); program control; timing facilities; virtual storage", + treatment = "P Practical", +} + +@Article{Mamrak:1978:CSF, + author = "S. A. Mamrak and R. G. {Montanelli, Jr.}", + title = "Computer science faculties: the current status of minorities and women", + journal = j-CACM, + volume = "21", + number = "2", + pages = "115--119", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Ohio State Univ., Columbus, OH, USA", + keywords = "academic computer science; computer science education; discrimination; minorities; women", + treatment = "G General Review", +} + +@Article{Rivest:1978:MOD, + author = "R. L. Rivest and A. Shamir and L. Adelman", + title = "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", + journal = j-CACM, + volume = "21", + number = "2", + pages = "120--126", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94A05", + MRnumber = "83m:94003", + mrreviewer = "J. L. Selfridge", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib", + note = "The basics of trap-door functions and the famous RSA public key cryptosystem are presented in this paper.", + abstract = "An encryption method is presented with the novel property that publicly revealing an encryption key does not thereby reveal the corresponding decryption key. This has two important consequences: (1) Couriers or other secure means are not needed to transmit keys, since a message can be enciphered using an encryption key publicly revealed by the intended recipient. (2) A message can be ``signed'' using a privately held decryption key. Anyone can verify this signature using the corresponding publicly revealed encryption key. Signatures cannot be forged, and a signer cannot later deny the validity of his signature.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Dept. of Math., MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; cryptography; cryptosystems; data handling; data processing --- Security of Data; decryption key; digital signatures; encryption key; number theory; operating protection; RSA; security; security of data", + treatment = "T Theoretical or Mathematical", +} + +@Article{Auslander:1978:SRR, + author = "M. A. Auslander and H. R. Strong", + title = "Systematic Recursion Removal", + journal = j-CACM, + volume = "21", + number = "2", + pages = "127--134", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "The recursion removal algorithm presented by Strong and Walker is amplified and applied to a relatively complex PL/I program. The aim is to demonstrate systematic recursion-removal techniques on something more complex than Knuth's ``sturdy toddler'' and to obtain measurements of the cost of procedure linkage in PL/I and the savings achievable via procedure integration in the presence of recursion. First, the paper describes the recursion-removal process and the example on which it will be illustrated. Recursion removal is then applied to the two major parts of this example and the final result of the process is displayed. Our performance comparison results are presented and our conclusions are briefly discussed.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6140D (High level languages)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer programming; linkage; optimization; PL/1; procedure; procedure integration; procedure linkage; programming theory; recursion elimination; recursion removal; recursion removal algorithm", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Kou:1978:CEC, + author = "L. T. Kou and L. J. Stockmeyer and C. K. Wong", + title = "Covering Edges by Cliques with Regard to Keyword Conflicts and Intersection Graphs", + journal = j-CACM, + volume = "21", + number = "2", + pages = "135--139", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20 (05C35)", + MRnumber = "57 4620", + mrreviewer = "A. T. Amin", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "E. Kellerman has presented a method for determining keyword conflicts and described a heuristic algorithm which solves a certain combinatorial optimization problem in connection with this method. This optimization problem is shown to be equivalent to the problem of covering the edges of a graph by complete subgraphs with the objective of minimizing the number of complete subgraphs. A relationship between this edge-clique-cover problem and the graph coloring problem is established which allows algorithms for either one of these problems to be constructed from algorithms for the other.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4240 (Programming and algorithm theory)", + classification = "723; 921", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "clique cover problem; cliques; combinatorial optimization problem; computational complexity; computer programming; edge; graph colouring; intersection graphs; keyword conflicts; optimisation; optimization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Held:1978:BTR, + author = "Gerald Held and Michael Stonebraker", + title = "{B}-Trees Re-Examined", + journal = j-CACM, + volume = "21", + number = "2", + pages = "139--143", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + note = "Also published in/as: UCB, Elec. Res. Lab, No.ERL-M528, July 1975.", + abstract = "The B-tree and its variants have, with increasing frequency, been proposed as a basic storage structure for multiuser database applications. Three potential problems which must be dealt with in such a structure that do not arise in more traditional static directory structures are indicated. One problem is a possible performance penalty.", + acknowledgement = ack-nhfb, + annote = "Static versus dynamic indexes.", + classcodes = "C1160 (Combinatorial mathematics); C6120 (File organisation)", + classification = "723", + corpsource = "Tandem Computers Inc., Capertino, CA, USA", + journalabr = "Commun ACM", + keywords = "data base systems; Ingres ISAM CACM", + keywords = "(mathematics); B-tree; data structures; database; database management systems; directory structures; storage structure; trees", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Stewart:1978:CNT, + author = "William J. Stewart", + title = "A Comparison of Numerical Techniques in {Markov} Modeling", + journal = j-CACM, + volume = "21", + number = "2", + pages = "144--152", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib", + abstract = "Presentation of several numerical methods which may be used to obtain the stationary probability vectors of Markovian models. An example of a nearly decomposable system is considered, and the results obtained by the different methods examined. A post mortem reveals why standard techniques often fail to yield the correct results. Finally, a means of estimating the error inherent in the decomposition of certain models is presented.", + acknowledgement = ack-nhfb, + classcodes = "C1140Z (Other topics in statistics); C1220 (Simulation, modelling and identification); C4110 (Error analysis in numerical methods)", + classification = "912", + corpsource = "Univ. de Rennes, Rennes, France", + country = "USA", + descriptors = "Markov chain; linear equation;", + enum = "7926", + journalabr = "Commun ACM", + keywords = "decomposable system; error analysis; management science; Markov processes; Markovian; methods; modelling; models; numerical; numerical methods; operations research; stationary probability vectors", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Herman:1978:RMI, + author = "Gabor T. Herman and Arnold Lent and Peter H. Lutz", + title = "Relaxation Methods for Image Reconstruction", + journal = j-CACM, + volume = "21", + number = "2", + pages = "152--158", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A45 (92A05)", + MRnumber = "58 19419", + mrreviewer = "J. J. Buckley", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "It is shown that, for a consistent system of linear inequalities, any sequence of relaxation parameters lying strictly between 0 and 2 generates a sequence of vectors which converges to a solution. Under the same assumptions, for a system of linear equations, the relaxation method converges to the minimum norm solution. Previously proposed techniques are shown to be special cases of our procedure with different choices of relaxation parameters. The practical consequences for image reconstruction of the choice of the relaxation parameters are discussed. This work is applicable to biomedical engineering and mathematical programming.", + acknowledgement = ack-nhfb, + classcodes = "C1180 (Optimisation techniques); C1260 (Information theory); C4140 (Linear algebra)", + classification = "461; 723; 921", + corpsource = "State Univ. of New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "biomedical engineering; convergence of numerical methods; greyness integrals; image processing; image reconstruction; linear inequalities; mathematical programming; method; picture processing; relaxation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Manna:1978:SSB, + author = "Zohar Manna and Richard Waldinger", + title = "Is `Sometime' Sometimes Better Than `Always'? (Intermittent Assertions in Proving Program Correctness)", + journal = j-CACM, + volume = "21", + number = "2", + pages = "159--172", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "58 3630", + mrreviewer = "Franco Sirovich", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "This paper explores a technique for proving the correctness and termination of programs simultaneously. \par This approach, the intermittent-assertion method, involves documenting the program with assertions that must be true at some time when control passes through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods. The intermittent-assertion method is presented with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. \par On the other hand, it is shown that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, it is shown how the intermittent-assertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; continuously operating programs.; correctness of programs; intermittent assertions; program transformation; program verification; termination of programs", + keywords = "assertions; continuously operating programs; intermittent-assertion method; program; program correctness; programming theory; termination proofs; transformations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Schachter:1978:SNM, + author = "Bruce J. Schachter and Azriel Rosenfeld", + title = "Some New Methods of Detecting Step Edges in Digital Pictures", + journal = j-CACM, + volume = "21", + number = "2", + pages = "172--176", + month = feb, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Description of two operators that respond to step edges, but not to ramps. The first is similar to the digital Laplacian, but uses the max, rather than the sum, of the x and y second differences. The second uses the difference between the mean and median gray levels in a neighborhood. The outputs obtained from these operators applied to a set of test pictures are compared with each other and with the standard digital Laplacian and gradient. A third operator, which uses the distance between the center and centroid of a neighborhood as an edge value, is also briefly considered; it turns out to be equivalent to one of the standard digital approximations to the gradient.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C1260 (Information theory); C6130B (Graphics techniques)", + classification = "723", + corpsource = "Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "computer graphics; digital; digital pictures; edge detection; gray levels; image processing; Laplacian; pattern recognition; picture processing; step edges", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Rabin:1978:CCC, + author = "Michael O. Rabin", + title = "Corrigendum: {``Complexity of computations''}", + journal = j-CACM, + volume = "21", + number = "3", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "231.68A20", + MRnumber = "57 8156", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "See \cite{Rabin:1977:CC}.", + acknowledgement = ack-nhfb, +} + +@Article{Lucas:1978:UII, + author = "Henry C. {Lucas, Jr.}", + title = "Use of an Interactive Information Storage and Retrieval System in Medical Research", + journal = j-CACM, + volume = "21", + number = "3", + pages = "197--205", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Results of a study of the use of an interactive computerized storage and retrieval system. A monitor built into the computer system provided usage data for the study. Additional data on user reactions were gathered from a questionnaire. The results show the important role played by frequently chosen laboratory reference leaders in influencing the use of this system. The implications of the study for the design of similar systems are discussed.", + acknowledgement = ack-nhfb, + classcodes = "C7220 (Generation, dissemination, and use of information); C7250 (Information storage and retrieval); C7330 (Biology and medical computing)", + classification = "723; 901", + corpsource = "New York Univ., New York, NY, USA", + journalabr = "Commun ACM", + keywords = "computing; information retrieval system; information retrieval systems; information storage; information use; interactive; laboratory reference leaders; medical; medical research; monitor; use; user reactions", + treatment = "A Application; P Practical", +} + +@Article{Dutton:1978:MUC, + author = "William H. Dutton and Kenneth L. Kraemer", + title = "Management Utilization of Computers in {American} Local Governments", + journal = j-CACM, + volume = "21", + number = "3", + pages = "206--218", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Traditional concepts of management information systems (MIS) bear little relation to the information systems currently in use by top management in most US local governments. What exists is management-oriented computing, involving the use of relatively unsophisticated applications. Despite the unsophisticated nature of these systems, management use of computing is surprisingly common, but also varied in its extent among local governments. Management computing is most prevalent in those governments with professional management practices where top management is supportive of computing and tends to control computing decisions and where department users have less control over design and implementation activities. Finally, management computing clearly has impacts for top managers, mostly involving improvements in decision information.", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)", + classification = "723; 901; 912; 922", + corpsource = "Public Policy Res. Organization, Univ. of California, Irvine, CA, USA", + journalabr = "Commun ACM", + keywords = "concepts; decision information; decision theory and analysis; government data processing; information retrieval systems; local governments; management information systems; management practices; management science; management use of computing; professional; social aspects of automation; top management; US", + treatment = "G General Review; P Practical", +} + +@Article{Anderson:1978:VOC, + author = "R. E. Anderson", + title = "Value orientation of computer science students", + journal = j-CACM, + volume = "21", + number = "3", + pages = "219--225", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C0230 (Economic, social and political aspects of computing)", + corpsource = "Univ. of Minnesota, Minneapolis, MN, USA", + keywords = "computer science education; computer science students; social aspects of automation; social science; students; value structures", + treatment = "G General Review", +} + +@Article{Kosaraju:1978:IDO, + author = "S. Rao Kosaraju", + title = "Insertions and Deletions in One-Sided Height-Balanced Trees", + journal = j-CACM, + volume = "21", + number = "3", + pages = "226--227", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "57 18210", + mrreviewer = "Fabrizio Luccio", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "D. S. Hischberg has established that insertions into one-sided height-balanced trees can be done in O(log**2N) steps. It is proved that deletions can also be performed in O(log**2N) steps, which answers the open problem posed by D. S. Hirschberg.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Johns Hopkins Univ., Baltimore, MD, USA", + journalabr = "Commun ACM", + keywords = "AVL trees; balanced trees; binary search; computer programming; dynamic balancing", + keywords = "deletions; insertions; one sided height balanced trees; programming theory; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{DeMillo:1978:PAP, + author = "Richard A. DeMillo and Stanley C. Eisenstat and Richard J. Lipton", + title = "Preserving Average Proximity in Arrays", + journal = j-CACM, + volume = "21", + number = "3", + pages = "228--231", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "57 8217", + mrreviewer = "Dorothy Bollman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Programmers and data structure designers are often forced to choose between alternative structures. \par In storing these structures, preserving logical adjacencies or ``proximity'' is usually an important consideration. \par The combinatorial problem of storing arrays as various kinds of list structures is examined. Embeddings of graphs are used to model the loss of proximity involved in such storage schemes, and an elementary proof that arrays cannot be stored as linear lists with bounded loss of proximity is presented. Average loss of proximity is then considered, and it is shown that arrays cannot be stored as linear lists with only bounded loss of average proximity, but can be so stored in binary trees. The former result implies, for instance, that row major order is an asymptotically optimal storage strategy for arrays.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Georgia Inst. of Technol., Atlanta, GA, USA", + journalabr = "Commun ACM", + keywords = "arrays; average proximity; computer programming; data processing; data structure; data structures; graph embedding; linear lists; list structures; logical adjacencies; preserving; proximity; trees", + treatment = "T Theoretical or Mathematical", +} + +@Article{Franklin:1978:AVP, + author = "M. A. Franklin and G. Scott Graham and R. K. Gupta", + title = "Anomalies with Variable Partition Paging Algorithms", + journal = j-CACM, + volume = "21", + number = "3", + pages = "232--236", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "57 14659", + mrreviewer = "Johnson M. Hart", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Five types of anomalous behavior which may occur in paged virtual memory operating systems are defined. One type of anomaly, for example, concerns the fact that, with certain reference strings and paging algorithms, an increase in mean memory allocation may result in an increase in fault rate. Two paging algorithms, the page fault frequency and working set algorithms, are examined in terms of their anomaly potential, and reference string examples of various anomalies are presented. Two paging algorithm properties, the inclusion property and the generalized inclusion property, are discussed and the anomaly implications of these properties presented.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Washington Univ., St. Louis, MO, USA", + journalabr = "Commun ACM", + keywords = "anomalous behaviour; computer operating systems; computer programming --- Subroutines; operating systems (computers); page fault frequency; variable partition paging algorithms; virtual memory operating systems; virtual storage; working set algorithms", + treatment = "T Theoretical or Mathematical", +} + +@Article{Tanenbaum:1978:ISP, + author = "Andrew S. Tanenbaum", + title = "Implications of Structured Programming for Machine Architecture", + journal = j-CACM, + volume = "21", + number = "3", + pages = "237--246", + month = mar, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/risc.bib", + abstract = "Based on an empirical study of more than 10,000 lines of program text written in a GOTO-less language, a machine architecture specifically designed for structured programs is proposed. Since assignment, CALL, RETURN, and IF statements together account for 93 percent of all executable statements, special care is given to ensure that these statements can be implemented efficiently. A highly compact instruction encoding scheme is presented, which can reduce program size by a factor of 3. Unlike a Huffman code, which utilizes variable length fields, this method uses only fixed length (1-byte) op code and address fields. The most frequent instructions consist of a single 1-byte field. As a consequence, instruction decoding time is minimized, and the machine is efficient with respect to both space and time.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Vrije Univ., Amsterdam, Netherlands", + journalabr = "Commun ACM", + keywords = "computer architecture; computer operating systems; computer organization; instruction set design; machine architecture; MIPS RISC reduced restricted instruction set computer architecture pipelining microcoding; program characteristics; structured programming", + treatment = "P Practical", +} + +@Article{Payne:1978:OEN, + author = "W. H. Payne and K. L. McMillen", + title = "Orderly Enumeration of Nonsingular Binary Matrices Applied to Text Encryption", + journal = j-CACM, + volume = "21", + number = "4", + pages = "259--263", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C05", + MRnumber = "80h:68031", + mrreviewer = "P. E. O'Neil", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Nonsingular binary matrices of order N, i.e., nonsingular over the field left brace 0,1 right brace, and an initial segment of the natural numbers are placed in one-to-one correspondence. Each natural number corresponds to two intermediate vectors. These vectors are mapped into a nonsingular binary matrix. Examples of complete enumeration of all 2 multiplied by 2 and 3 multiplied by 3 nonsingular binary matrices were produced by mapping the intermediate vectors to the matrices. The mapping has application to the Vernam encipherment method using pseudorandom number sequences. A bit string formed from bytes of text of a data encryption key can be used as a representation of a natural number. This natural number is transformed to a nonsingular binary matrix. Key leverage is obtained by using the matrix as a ``seed'' in a shift register sequence pseudorandom number generator.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Washington State Univ., Pullman, WA, USA", + journalabr = "Commun ACM", + keywords = "binary sequences; bit string; computer programming; data encryption key; encoding; enumeration; mapped; matrix algebra; natural number; nonsingular binary matrices; pseudorandom number; sequences; text editing; text encryption; Vernam encipherment method", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Heckel:1978:TID, + author = "Paul Heckel", + title = "A Technique for Isolating Differences Between Files", + journal = j-CACM, + volume = "21", + number = "4", + pages = "264--268", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/scm.bib", + abstract = "A simple algorithm is described for isolating the differences between two files. One application is the comparing of two versions of a source program or other file in order to display all differences. The algorithm isolates differences in a way that corresponds closely to our intuitive notion of difference, is easy to implement, and is computationally efficient, with time linear in the file length. For most applications the algorithm isolates differences similar to those isolated by the longest common subsequence. Another application of this algorithm merges files containing independently generated changes into a single file. The algorithm can also be used to generate efficient encodings of a file in the form of the differences between itself and a given ``datum'' file, permitting reconstruction of the original file from the difference and datum files.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Interactive Systems Consultants, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; delta storage; encodings; file organisation; files; independently generated changes; isolating differences; longest common; merges; source program; subsequence; text editing", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lew:1978:OCE, + author = "Art Lew", + title = "Optimal Conversion of Extended-Entry Decision Tables with General Cost Criteria", + journal = j-CACM, + volume = "21", + number = "4", + pages = "269--279", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C05 (49C20)", + MRnumber = "80a:68032", + mrreviewer = "C. L. Liu", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A general dynamic programming algorithm for converting limited extended, or mixed entry decision tables to optimal decision trees is presented which can take into account rule frequencies or probabilities, minimum time and\slash or space cost criteria, common action sets, compressed rules and ELSE rules, sequencing constraints on condition tests, excludable combinations of conditions, certain ambiguities, and interrupted rule masking.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. of Hawaii, Honolulu, HI, USA", + journalabr = "Commun ACM", + keywords = "common action sets; compressed; computer programming; condition tests; conversion; decision tables; ELSE rules; entry decision tables; extended entry decision tables; frequencies; general cost criteria; interrupted rule masking; minimum time; mixed; optimal decision trees; rule; rules; sequencing constraints", + treatment = "T Theoretical or Mathematical", +} + +@Article{Baker:1978:LPR, + author = "Henry G. {Baker, Jr.}", + title = "List Processing in Real Time on a Serial Computer", + journal = j-CACM, + volume = "21", + number = "4", + pages = "280--294", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + note = "Originally appeared as MIT Artificial Intelligence Laboratory Working Paper No. 39, February 1977", + abstract = "A real-time list processing system is one in which the time required by the elementary list operations (e.g. CONS CAR, CDR, RPLACA, RPLACD, EQ, and ATOM in LISP) is bounded by a (small) constant. Classical implementations of list processing systems lack this property because allocating a list cell from the heap may cause a garbage collection, which process requires time proportional to the heap size to finish. A real-time list processing system is presented which continuously reclaims garbage, including directed cycles, while linearizing and compacting the accessible cells into contiguous locations to avoid fragmenting the free storage pool.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "collection; computer programming; data processing; garbage; list processing; list processing system; real time; serial computer; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Merkle:1978:SCI, + author = "Ralph C. Merkle", + title = "Secure Communications Over Insecure Channels", + journal = j-CACM, + volume = "21", + number = "4", + pages = "294--299", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "According to traditional conceptions of cryptographic security, it is necessary to transmit a key, by secret means, before encrypted messages can be sent securely. This paper shows that it is possible to select a key over open communications channels in such a fashion that communications security can be maintained. A method is described which forces any enemy to expend an amount of work which increases as the square of the work required of the two communicants to select the key. The method provides a logically new kind of protection against the passive eaves dropper. It suggests that further research on this topic will be highly rewarding, both in a theoretical and a practical sense.", + acknowledgement = ack-nhfb, + classcodes = "C5600 (Data communication equipment and techniques); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Dept. of Electrical Engng. and Computer Sci., Univ. of California, Berkeley, CA, USA", + journalabr = "Commun ACM", + keywords = "communications channels; communications security; computer network security; cryptographic security; cryptography; cryptology; data communication systems; data processing; insecure channels; key distribution; open; passive eavesdropper; passive eavesdropping; protection; public key cryptosystem; Security; security of data; wiretap", + treatment = "T Theoretical or Mathematical", +} + +@Article{Szymanski:1978:ACM, + author = "Thomas G. Szymanski", + title = "Assembling Code for machines with Span-Dependent Instructions", + journal = j-CACM, + volume = "21", + number = "4", + pages = "300--308", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B05 (68C05)", + MRnumber = "82g:68015", + mrreviewer = "R. K. Shyamasundar", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors)", + corpsource = "Princeton Univ., Princeton, NJ, USA", + keywords = "code assembling; computational complexity; instructions; lengths of programs; program assemblers; programming; span dependent; theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Vuillemin:1978:DSM, + author = "Jean Vuillemin", + title = "A Data Structure for Manipulating Priority Queues", + journal = j-CACM, + volume = "21", + number = "4", + pages = "309--315", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "57 18215", + mrreviewer = "Bernard H. Rosman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A data structure is described which can be used for representing a collection of priority queues. The primitive operations are insertion, deletion, union, update, and search for an item of earliest priority.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. de Paris-Sud, Orsay, France", + journalabr = "Commun ACM", + keywords = "computer programming; data structure; data structures; deletion; earliest priority; insertion; manipulating priority queues; operations; primitive; search; union; update", + treatment = "T Theoretical or Mathematical", +} + +@Article{Even:1978:EEC, + author = "S. Even and M. Rodeh", + title = "Economical Encoding of Commas Between Strings", + journal = j-CACM, + volume = "21", + number = "4", + pages = "315--317", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "58 3648", + mrreviewer = "John Cherniavsky", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Israel Inst. of Technol., Haifa, Israel", + keywords = "commas; data handling; delimiters; encoding; extra cost; strings", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cheng:1978:GBV, + author = "R. C. H. Cheng", + title = "Generating beta variates with nonintegral shape parameters", + journal = j-CACM, + volume = "21", + number = "4", + pages = "317--322", + month = apr, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "58 13609", + mrreviewer = "George Marsaglia", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + acknowledgement = ack-nhfb, + classcodes = "C7310 (Mathematics computing)", + corpsource = "Univ. of Wales Inst. of Sci. and Technol., Cardiff, UK", + country = "USA", + descriptors = "RVG;", + enum = "7128", + keywords = "beta variates; computer timings; generating; method; nonintegral shape parameters; random number generation; random numbers; rejection; simplicity; speed; statistics", + language = "English", + location = "SEL: Wi", + references = "0", + revision = "16/01/94", + treatment = "T Theoretical or Mathematical", +} + +@Article{Clark:1978:FAC, + author = "Douglas W. Clark", + title = "A Fast Algorithm for Copying List Structures", + journal = j-CACM, + volume = "21", + number = "5", + pages = "351--357", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", + abstract = "An algorithm is presented for copying an arbitrarily linked list structure into a block of contiguous storage locations without destroying the original list. Apart from a fixed number of program variables, no auxiliary storage, such as a stack, is used. The algorithm needs no mark bits and operates in linear time. It is shown to be significantly faster than Fisher's algorithm, the fastest previous linear-time algorithm for the same problem. Its speed comes mainly from its efficient list-traversal technique, which folds the processing stack into the structure being built, and from its classification of list cells into nine types, which enables processing operations to be optimized for each type.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "arbitrarily linked; classification; computer programming; contiguous storage locations; copying; fast algorithm; linear time; list processing; list structure; list structures; list traversal technique", + treatment = "T Theoretical or Mathematical", +} + +@Article{Jones:1978:LEE, + author = "Anita K. Jones and Barbara H. Liskov", + title = "A Language Extension for Expressing Constraints on Data Access", + journal = j-CACM, + volume = "21", + number = "5", + pages = "358--367", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib", + abstract = "Controlled sharing of information is needed and desirable for many applications and is supported in operating systems by access control mechanisms. This work shows how to extend programming languages to provide controlled sharing. The extension permits expression of access constraints on shared data. Access constraints can apply both to simple objects, and to objects that are components of larger objects, such as bank account records in a bank's data base. The approach can be used to extend any strongly-typed language, but is particularly suitable for extending languages that support the notion of abstract data types.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6140D (High level languages)", + classification = "723", + corpsource = "Carnegie-Mellon Univ., Pittsburg, PA, USA", + journalabr = "Commun ACM", + keywords = "abstract data types; access control; computer programming languages; constraints; data access; data structures; language extension; mechanisms; programming languages", + treatment = "T Theoretical or Mathematical", +} + +@Article{Geller:1978:TDA, + author = "Matthew Geller", + title = "Test Data as an Aid in Proving Program Correctness", + journal = j-CACM, + volume = "21", + number = "5", + pages = "368--375", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "57 14575", + mrreviewer = "Luigia Aiello", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Proofs of program correctness tend to be long and tedious, whereas testing, though useful in detecting errors, usually does not guarantee correctness. A technique is introduced whereby test data can be used in proving program correctness. In addition to simplifying the process of proving correctness, this method simplifies the process of providing accurate specification for a program. The applicability of this technique to procedures and recursive programs is demonstrated.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of Michigan, Ann Arbor, MI, USA", + journalabr = "Commun ACM", + keywords = "computer programming; procedures; program testing; programming theory; proving program correctness; recursive programs; specification; test data", + treatment = "T Theoretical or Mathematical", +} + +@Article{Low:1978:ADS, + author = "James R. Low", + title = "Automatic Data Structure Selection: an Example and Overview", + journal = j-CACM, + volume = "21", + number = "5", + pages = "376--385", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib", + abstract = "In the past, programming systems have provided only a single general purpose implementation for an abstract type. Thus the programs produced using abstract types were often inefficient in space or time. A system for automatically choosing efficient implementations for abstract types from a library of implementations for abstract types from a library of implementations is discussed. This process is discussed in detail for an example program. General issues in data structure selection are also reviewed.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6120 (File organisation); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Univ. of Rochester, Rochester, NY, USA", + journalabr = "Commun ACM", + keywords = "abstract data types; automatic programming; automatically; computer programming; data processing --- Data Structures; data structure selection; data structures; lists; program compilers; programs; sets", + treatment = "T Theoretical or Mathematical", +} + +@Article{Karr:1978:IUP, + author = "Michael Karr and David B. {Loveman III}", + title = "Incorporation of Units into Programming Languages", + journal = j-CACM, + volume = "21", + number = "5", + pages = "385--391", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/database.bib", + abstract = "The issues of how a programming language might aid in keeping track of physical units (feet, sec, etc. ) are discussed. A method is given for the introduction of relationships among units (a watt is volts *amps, a yard is three feet) and subsequent automatic conversion based upon these relationships. Various proposals for syntax are considered.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Massachusetts Computer Associates Inc., Wakesfield, MA, USA", + journalabr = "Commun ACM", + keywords = "(measurement); automatic conversion; computer programming languages; physical units; program compilers; programming language; programming languages; relationships among; syntax; units", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hanson:1978:SPM, + author = "David R. Hanson and Ralph E. Griswold", + title = "The {SL5} procedure mechanism", + journal = j-CACM, + volume = "21", + number = "5", + pages = "392--400", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Description of an integrated procedure mechanism that permits procedures to be used as recursive functions or as coroutines. This integration is accomplished by treating procedures and their activation records (called environments) as data objects and by decomposing procedure invocation into three separate components at the source-language level. In addition, argument binding is under the control of the programmer, permitting the definition of various methods of argument transmission in the source language itself. The resulting procedure mechanism, which is part of the SL5 programming language, is well suited to goal-oriented problems and to other problems that are more readily programmed by using coroutines. Several examples are given.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Yale Univ., New Haven, CT, USA", + journalabr = "Commun ACM", + keywords = "activation records; argument binding; argument transmission; computer programming languages; coroutines; procedure invocation; procedure mechanism; program interpreters; programming languages; recursive functions; SL5", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hayes-Roth:1978:IMT, + author = "Frederick Hayes-Roth and John McDermott", + title = "An Interference Matching Technique for Inducing Abstractions", + journal = j-CACM, + volume = "21", + number = "5", + pages = "401--411", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/colt.bib", + abstract = "A method for inducing knowledge by abstraction from a sequence of training examples is described. \par The proposed method, interference matching, induces abstractions by finding relational properties common to two or more exemplars. Three tasks solved by a program that uses an interference-matching algorithm are presented. Several problems concerning the description of the training examples and the adequacy of interference matching are discussed, and directions for future research are considered.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C6140D (High level languages)", + classification = "723", + corpsource = "Rand Corp., Santa Monica, CA, USA", + journalabr = "Commun ACM", + keywords = "abstraction; abstractions; artificial intelligence; complexity; computer metatheory --- Programming Theory; computer programming; generalization; graph matching; inducing knowledge; induction; informal retrieval; interference; interference matching; knowledge acquisition; knowledge representation; language learning; learning; partial matching; predicate discovery.; programming languages; relational properties; Rule induction; SPROUTER; training examples", + treatment = "T Theoretical or Mathematical", +} + +@Article{Fleisher:1978:NSO, + author = "J. M. Fleisher and R. R. Meyer", + title = "New Sufficient Optimality Conditions for Integer Programming and Their Application", + journal = j-CACM, + volume = "21", + number = "5", + pages = "411--418", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90C10", + MRnumber = "58 15137", + mrreviewer = "F. Giannessi", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Report on a new class of sufficient optimality conditions for pure and mixed integer programming problems. Some of the sets of sufficient conditions presented can be thought of as generalizations of optimality conditions based on primal-dual complementarity in linear programming. These sufficient conditions are particularly useful for the construction of difficult integer programming problems with known optimal solutions. These problems may then be used to test and\slash or ``benchmark'' integer programming codes.", + acknowledgement = ack-nhfb, + classcodes = "C1180 (Optimisation techniques); C1290 (Applications of systems theory)", + classification = "723; 921", + corpsource = "Univ. of Wisconsin, Madison, WI, USA", + journalabr = "Commun ACM", + keywords = "integer programming; mathematical programming; sufficient optimality conditions", + treatment = "T Theoretical or Mathematical", +} + +@Article{Tadikamalla:1978:CGG, + author = "Pandu R. Tadikamalla", + title = "Computer Generation of Gamma Random Variables", + journal = j-CACM, + volume = "21", + number = "5", + pages = "419--422", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "65C10", + MRnumber = "58 13614", + mrreviewer = "George Marsaglia", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib", + abstract = "A new method for generating random variables from the gamma distribution with nonintegral shape parameter alpha is proposed. This method is similar to two other methods recently given by N. D. Wallace and G. S. Fishman. It is compared with Fishman's and J. H. Ahrens and U. Dieter's methods. The core storage requirements and programming effort for this method are similar to those of Fishman's method. The proposed method is the same as Fishman's method for 1 less than equivalent to alpha less than 2 and is faster than Fishman's method for 3 less than equivalent to alpha less than equivalent to 19. Also, the proposed method is much simpler than Ahrens and Dieter's method and is faster for alpha less than equivalent to 8.", + acknowledgement = ack-nhfb, + classcodes = "C1140 (Probability and statistics); C7310 (Mathematics computing)", + classification = "723; 922", + corpsource = "Eastern Kentucky Univ., Richmond, KY, USA", + country = "USA", + date = "13/05/93", + descriptors = "RVG;", + enum = "7943", + journalabr = "Commun ACM", + keywords = "computer programming; mathematical statistics --- Random Number Generation", + keywords = "core; gamma distribution; gamma random variables; generating; programming effort; statistics; storage requirements", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Sites:1978:OSS, + author = "Richard L. Sites", + title = "Optimal Shift Strategy for a Block-Transfer {CCD} Memory", + journal = j-CACM, + volume = "21", + number = "5", + pages = "423--425", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "It is shown that the optimal shift strategy for an electronic paging drum with variable but bounded rotation speed is to shift as quickly as possible over most of a cycle, then to shift as slowly as possible over the rest, where the fraction of a cycle to be covered slowly is a function of the square root of the ratio between the maximum and minimum rotation speeds. For a ratio of 100:1, 10\slash 11 of a full cycle should be covered quickly and 1/11 should be covered slowly. As device manufacturers increase this ratio, the average latency for a block transfer will slowly decrease. Increasing the raw shift speed will of course directly reduce both the latency time and the block transfer time.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "722", + corpsource = "Univ. of California, San Diego, La Jolla, CA, USA", + journalabr = "Commun ACM", + keywords = "best shift strategy; block transfer CCD memory; charge-coupled device circuits; computer operating systems; critical boundary; hurry up and wait; optimal; paging drum; serial shift registers; storage allocation; strategy", + treatment = "T Theoretical or Mathematical", +} + +@Article{Zweben:1978:OMD, + author = "S. H. Zweben and M. A. McDonald", + title = "An Optimal Method for Deletion in One-Sided Height-Balanced Trees", + journal = j-CACM, + volume = "21", + number = "6", + pages = "441--445", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68E10 (68B05 68C25)", + MRnumber = "80k:68054", + mrreviewer = "A. T. Amin", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A one-sided height-balanced tree is a binary tree in which every mode's right subtree has a height which is equal to or exactly one greater than the height of its left subtree. It has an advantage over the more general AVL tree in that only one bit of balancing information is required (two bits are required for the AVL tree). It is shown that deletion of an arbitrary node of such a tree can be accomplished in O(log n) operations, where n is the number of nodes in the tree. Moreover the method is optimal in the sense that its complexity cannot be reduced in order of magnitude. This result, coupled with earlier results by D. S. Hirschberg, indicates that, of the three basic problems of insertion, deletion, and retrieval, only insertion is adversely affected by this modification of an AVL tree.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723", + corpsource = "Ohio State Univ., Columbus, OH, USA", + journalabr = "Commun ACM", + keywords = "arbitrary node; binary tree; computer programming; data structures; deletion; one; optimal method; programming theory; sided height balanced trees; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Driscoll:1978:STA, + author = "James R. Driscoll and Y. Edmund Lien", + title = "A Selective Traversal Algorithm for Binary Search Trees", + journal = j-CACM, + volume = "21", + number = "6", + pages = "445--447", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The problem of selecting data items from a binary search tree according to a list of range conditions is considered. The process of visiting a minimal number of nodes to retrieve data satisfying the range conditions is called selective traversal. Presented in this paper is an algorithm for selective traversal which uses a tag field for each node in the tree. The algorithm is particularly useful and efficient when examination of data is more time consuming than examination of a tag field.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723", + corpsource = "Florida Technol. Univ., Orlando, FL, USA", + journalabr = "Commun ACM", + keywords = "binary search tree; binary search trees; computer programming; Data retrieval; data structures; programming theory; range conditions; retrieve; selective traversal; selective traversal algorithm; tag field; tree traversal; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cohen:1978:ADP, + author = "Jacques Cohen and Martin S. Roth", + title = "Analyses of Deterministic Parsing Algorithms", + journal = j-CACM, + volume = "21", + number = "6", + pages = "448--458", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "58 13920", + mrreviewer = "David B. Benson", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An approach is presented for determining the minimum, maximum, and average times to parse sentences acceptable by a deterministic parser. These quantities are presented in the form of symbolic formulas, called time-formulas. The variables in these formulas represent not only the length of the input string but also the time to perform elementary operations such as pushing, popping, subscripting, iterating, etc. By binding to the variables actual numerical values corresponding to a given compiler-machine configuration, one can determine the execution time for that configuration. Time-formulas are derived by examining the grammar rules and the program representing the algorithm one wishes to analyze. The approach is described by using a specific grammar that defines simple arithmetic expressions.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Brandeis Univ., Waltham, MA, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; average times; benchmarks; bottom up SLR(1) parser; computer programming languages; deterministic parsing algorithms; estimates; grammars; maximum time; minimum time; PDP 10; recursive descent LL(1) parser; relative efficiencies; top down", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mickunas:1978:AER, + author = "M. Dennis Mickunas and John A. Modry", + title = "Automatic Error Recovery for {LR} Parsers", + journal = j-CACM, + volume = "21", + number = "6", + pages = "459--465", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A scheme is given for detecting and recovering from syntax errors in programs. The scheme, which is based on LR parsing, is driven by information which is directly and automatically obtainable from the information that is already present in an LR parser. The approach, which is patterned after that of Levy and Graham and Rhodes, appears to provide error recovery which is both simple and powerful.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "automatically; compilers; computer programming languages; detecting; error correction; error recovery; fault tolerant computing; LR parsers; program; syntax errors; system recovery", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lientz:1978:CAS, + author = "B. P. Lientz and E. B. Swanson and G. E. Tompkins", + title = "Characteristics of Application Software Maintenance", + journal = j-CACM, + volume = "21", + number = "6", + pages = "466--471", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Maintenance and enhancement of application software consume a major portion of the total life cycle cost of a system. Rough estimates of the total systems and programming resources consumed range as high as 75-80 percent in each category. However, the area has been given little attention in the literature. To analyze the problems in this area a questionnaire was developed and pretested. It was then submitted to 120 organizations. Respondents totaled 69. Responses were analyzed with the SPSS statistical package. The results of the analysis are examined in detail.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "application software maintenance; characteristics; computer programming; DP management; enhancement; extension; management; programming; resources; systems; user demands", + treatment = "G General Review", +} + +@Article{Chrysler:1978:SBD, + author = "Earl Chrysler", + title = "Some Basic Determinants of Computer Programming Productivity", + journal = j-CACM, + volume = "21", + number = "6", + pages = "472--483", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Examination of the relationship between processing characteristics of programs and experience characteristics of programmers and program development time. The ultimate objective was to develop a technique for predicting the amount of time necessary to create a computer program. The fifteen program characteristics hypothesized as being associated with an increase in programming time required are objectively measurable from preprogramming specifications. The five programmer characteristics are experience-related and are also measurable before a programming task is begun. Nine program characteristics emerged as major influences on program development time, each associated with increased program development time. All five programmer characteristics are found to be related to reduced program development time.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. of Wisconsin, Parkside, WI, USA", + journalabr = "Commun ACM", + keywords = "characteristics; computer programming; computer programming productivity; determinants; DP management; forecasting; predicting; program development time; programmers; programming", + treatment = "P Practical", +} + +@Article{Kling:1978:AWC, + author = "Rob Kling", + title = "Automated Welfare Client-Tracking and Service Integration: the Political Economy of Computing", + journal = j-CACM, + volume = "21", + number = "6", + pages = "484--493", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The impact of an automated client-tracking system on the clients, caseworkers, administrators, and operations of the welfare agencies that use it are reported. The major impact of this system was to enhance the administrative attractiveness of the using agencies in the eyes of funders rather than to increase their internal administrative efficiency. This impact is a joint product of both the technical features of the computer-based system and of the organizational demands placed upon different agencies, administrators, and caseworkers. It illustrates the way ``successful'' automated information systems fit the political economies of the groups that use them.", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7130 (Public administration)", + classification = "723", + corpsource = "Univ. of California, Irvine, CA, USA", + journalabr = "Commun ACM", + keywords = "administrative attractiveness; client; computing; data processing; government data processing; impact; political economies; service integration; social aspects of automation; social impact; tracking; welfare agencies", + treatment = "G General Review", +} + +@Article{Gelenbe:1978:PRR, + author = "E. Gelenbe and D. Derochette", + title = "Performance of Rollback Recovery Systems Under Intermittent Failures", + journal = j-CACM, + volume = "21", + number = "6", + pages = "493--499", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68H05", + MRnumber = "80a:68113", + mrreviewer = "Menachem Dishon", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A mathematical model of a transaction-oriented system under intermittent failures is proposed. The system is assumed to operate with a checkpointing and rollback\slash recovery method to ensure reliable information processing. The model is used to derive the principal performance measures, including availability, response time, and the system saturation point.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. Paris-Sud, Orsay, France", + journalabr = "Commun ACM", + keywords = "availability; checkpointing; computer operating systems; data base systems; intermittent failures; mathematical model; performance measures; response time; rollback recovery systems; system recovery; system saturation point", + treatment = "T Theoretical or Mathematical", +} + +@Article{Teorey:1978:GEI, + author = "Toby J. Teorey", + title = "General Equations for Idealized {CPU-I/O} Overlap Configurations", + journal = j-CACM, + volume = "21", + number = "6", + pages = "500--507", + month = jun, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05", + MRnumber = "58 3643", + mrreviewer = "A. D. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "General equations are derived for estimating the maximum possible utilization of main storage partitions, CPU and I/O devices under different conditions in an idealized CPU-I/O overlap model of multiprogrammed computer systems. The equations are directly applicable to any configuration consisting of sets of identical CPU's, I/O processors, main storage partitions and user tasks. Examples are provided to illustrate the use of the equations to compute effective processing time per record and expected timesharing response time under both balanced and unbalanced resource utilization conditions.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. of Michigan, Ann Arbor, MI, USA", + journalabr = "Commun ACM", + keywords = "balanced; computer systems programming; CPU; devices; expected timesharing response time; I/O; input-output programs; main storage partitions; multiprogrammed computer systems; multiprogramming; overlap configurations; per record; processing time; storage allocation; time-sharing systems; unbalanced", + treatment = "T Theoretical or Mathematical", +} + +@Article{Waltz:1978:ELQ, + author = "David L. Waltz", + title = "An {English} Language Query Answering System for a Large Relational Data Base", + journal = j-CACM, + volume = "21", + number = "7", + pages = "526--539", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "By typing requests in English, casual users will be able to obtain explicit answers from a large relational database of aircraft flight and maintenance data using a system called PLANES. The design and implementation of this system is described and illustrated with detailed examples of the operation of system components and examples of overall system operation. Also included are discussions of important issues in programming natural language systems for limited domains, and the relationship of this system to others.", + acknowledgement = ack-nhfb, + annote = "the PLANES system.", + classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval); C7460 (Aerospace engineering computing)", + classification = "723", + corpsource = "Univ. of Illinois, Urbana-Champaign, IL, USA", + journalabr = "Commun ACM", + keywords = "aerospace computing; aircraft; data base systems; database management systems; English language; flight; information retrieval; large; maintenance; PLANES; question answering system; relational database", + treatment = "A Application; T Theoretical or Mathematical", + xxtitle = "An {English} language question answering system for a large relational database", +} + +@Article{Fredman:1978:CCM, + author = "Michael L. Fredman and Bruce Weide", + title = "On the complexity of computing the measure of {$\bigcup[a_i,b_i]$}", + journal = j-CACM, + volume = "21", + number = "7", + pages = "540--544", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A20", + MRnumber = "58 13924", + mrreviewer = "Jan van Leeuwen", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib", + abstract = "The decision tree complexity of computing the measure of the union of $n$ (possibly overlapping) intervals is shown to be $\Omega(n \log n)$, even if comparisons between linear functions of the interval endpoints are allowed. The existence of an $\Omega (n \log n)$ lower bound to determine whether any two of $n$ real numbers are within $\epsilon$ of each other is also demonstrated. These problems provide an excellent opportunity for discussing the effects of the computational model on the ease of analysis and on the results produced.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. of California, San Diego, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm theory; computational complexity; computational model; computer metatheory; computer programming; computing; decision tree complexity; intervals; measure; union", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chin:1978:ADN, + author = "Francis Y. Chin", + title = "An ${O}(n)$ Algorithm for Determining a Near-Optimal Computation Order of Matrix Chain Products", + journal = j-CACM, + volume = "21", + number = "7", + pages = "544--549", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C25 (65F05)", + MRnumber = "80a:68037", + mrreviewer = "Ondrej S{\'y}kora", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Discussion of the computation of matrix chain products of the form M//1 multiplied by M//2 multiplied by\ldots{} multiplied by M//n where M//i's are matrices. The order in which the matrices are computed affects the number of operations. A sufficient condition about the association of the matrices in the optimal order is presented. An O(n) algorithm to find an order of computation which takes less than 25 percent longer than the optimal time T(opt) is also presented. In most cases, the algorithm yields the optimal order or an order which takes only a few percent longer than T(opt) (less than 1 percent on the average).", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra)", + classification = "723", + corpsource = "Univ. of Alberta, Edmonton, Alta., Canada", + journalabr = "Commun ACM", + keywords = "algorithm; computation order; computer programming; matrix algebra; matrix chain products; optimal order", + treatment = "T Theoretical or Mathematical", +} + +@Article{Perl:1978:ISL, + author = "Yehoshua Perl and Alon Itai and Haim Avni", + title = "Interpolation Search --- {A} Log Log {N} Search", + journal = j-CACM, + volume = "21", + number = "7", + pages = "550--553", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "58 8582", + mrreviewer = "Amitava Bagchi", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Interpolation search is a method of retrieving a desired record by key in an ordered file by using the value of the key and the statistical distribution of the keys. It is shown that on the average log log N file accesses are required to retrieve a key, assuming that the N keys are uniformly distributed. The number of extra accesses is also estimated and shown to be very low. The same holds if the cumulative distribution function of the keys is known. Computational experiments confirm these results.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Bar-Ilan Univ., Ramat-Gan, Israel", + journalabr = "Commun ACM", + keywords = "Average number of accesses; binary search; computer programming; database; file organisation; interpolation search; key; log; logN file accesses; ordered file; retrieval; retrieve; searching; statistical distribution of the keys; uniform distribution", + treatment = "T Theoretical or Mathematical", +} + +@Article{Halatsis:1978:PHT, + author = "Constantine Halatsis and George Philokyprou", + title = "Pseudochaining in Hash Tables", + journal = j-CACM, + volume = "21", + number = "7", + pages = "554--557", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "58 3784", + mrreviewer = "Eberhard Ludde", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Presentation of pseudochaining as a new collision-resolution method. Pseudochaining is half way between open addressing and chaining. It owes its name to the fact that link fields are present in each cell of the hash table which permits ``chaining'' of the first overflow items in the table. The efficiency of the method is derived and a tradeoff analysis is given.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "NRC 'Demokritos', Athens, Greece", + journalabr = "Commun ACM", + keywords = "collision resolution method; computer programming; efficiency; file organisation; hash tables; pseudochaining; tradeoff analysis", + treatment = "T Theoretical or Mathematical", +} + +@Article{Lamport:1978:TCO, + author = "Leslie Lamport", + title = "Time, Clocks, and the Ordering of Events in a Distributed System", + journal = j-CACM, + volume = "21", + number = "7", + pages = "558--565", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib", + abstract = "The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronization problems. The algorithm is then specialized for synchronizing physical clocks, and a bound is derived on how far out of synchrony the clocks can become.", + acknowledgement = ack-nhfb, + annote = "Classic paper on logical clocks. A classic paper on synchronization. Reproduced in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984. The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronising a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronisation problems. The algorithm is then specialised for synchronising physical clocks, and a bound is derived on how far out of synchrony the clocks can become.", + classcodes = "C6150J (Operating systems)", + classification = "723", + journalabr = "Commun ACM", + keywords = "5.29 distributed processing computer networks multiprocessing programs ordering of events distributed system synchronising total ordering clocks computer networks multiprocessing bsatya enm; clock synchronization; clocks; computer networks; computer operating systems; distributed computer systems; distributed processing; distributed system; distributed systems; dmp; grecommended91 CR categories: 4.32; jw; multiprocess systems; multiprocessing; ordering; ordering of events; programs; synchronising; total", + treatment = "T Theoretical or Mathematical", +} + +@Article{Baker:1978:SBL, + author = "Henry Givens {Baker, Jr.}", + title = "Shallow Binding in {Lisp} 1.5", + journal = j-CACM, + volume = "21", + number = "7", + pages = "565--569", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + abstract = "Shallow binding is a scheme which allows the value of a variable to be accessed in a bounded amount of computation. An elegant model for shallow binding in Lisp 1.5 is presented in which context-switching is an environment tree transformation called rerooting. Rerooting is completely general and reversible, and is optional in the sense that a Lisp 1.5 interpreter will operate correctly whether or not rerooting is invoked on every context change. Since rerooting leaves assoc left bracket v, a right bracket invariant, for all variables v and all environments a, the programmer can have access to a rerooting primitive, shallow left bracket right bracket, which gives him dynamic control over whether accesses are shallow or deep, and which affects only the speed of execution of a program, not its semantics.", + acknowledgement = ack-nhfb, + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; context switching; environment; LISP; LISP 1.5; rerooting; shallow binding; tree transformation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Samet:1978:PCH, + author = "Hanan Samet", + title = "Proving the Correctness of Heuristically Optimized Code", + journal = j-CACM, + volume = "21", + number = "7", + pages = "570--582", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A system for proving that programs written in a high level language are correctly translated to a low level language is described. A primary use of the system is as a postoptimization step in code generation. The low level language programs need not be generated by a compiler and in fact could be hand coded. Examples of the usefulness of such a system are given. Some interesting results are the ability to handle programs that implement recursion by bypassing the start of the program, and the detection and pinpointing of a wide class of errors in the low level language programs. The examples demonstrate that optimization of the genre of this paper can result in a substantially faster operation and the saving of memory in terms of program and stack sizes.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of Maryland, College Park, MO, USA", + journalabr = "Commun ACM", + keywords = "code generation; compiler; computer programming languages; correctness proving; heuristically optimised code; high level language; low level language; postoptimisation; program compilers; program testing", + treatment = "T Theoretical or Mathematical", + xxtitle = "Proving the correctness of heuristically optimised code", +} + +@Article{Shostak:1978:ARA, + author = "Robert E. Shostak", + title = "An Algorithm for Reasoning About Equality", + journal = j-CACM, + volume = "21", + number = "7", + pages = "583--585", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "02-04 02B10", + MRnumber = "58 4976", + mrreviewer = "A. Pliuskeviciene", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simple technique for reasoning about equalities that is fast and complete for ground formulas with function symbols and equality is presented. A proof of correctness is given as well.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Stanford Res. Inst., Menlo Park, CA, USA", + journalabr = "Commun ACM", + keywords = "algorithm; computer programming; correctness; equality; program testing; reasoning; theorem proving", + treatment = "T Theoretical or Mathematical", +} + +@Article{Chattergy:1978:AAC, + author = "Rahul Chattergy and Udo W. Pooch", + title = "Analysis of the Availability of Computer Systems Using Computer-Aided Algebra", + journal = j-CACM, + volume = "21", + number = "7", + pages = "586--591", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "60K20 (68A15)", + MRnumber = "58 3091", + mrreviewer = "Ralph L. Disney", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Analytical results, related to the availability of a computer system constructed of unreliable processors, are presented in this paper. These results are obtained by using various computer-aided algebraic manipulation techniques. A major purpose of this paper is to demonstrate that the difficulties of obtaining analytical solutions to Markov processes can be considerably reduced by the application of symbol manipulation programs. Since many physical systems can be modeled by Markov and semi-Markov processes, the potential range of application of these techniques is much wider than the problem of availability analyzed.", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C5420 (Mainframes and minicomputers)", + classification = "722; 723", + corpsource = "Univ. of Hawaii, Honolulu, HI, USA", + journalabr = "Commun ACM", + keywords = "algebraic manipulation; availability; computer systems; computer systems, digital; manipulation; Markov processes; real-time systems; reliability; symbol; unreliable processors", + treatment = "T Theoretical or Mathematical", +} + +@Article{Snyder:1978:BRE, + author = "Lawrence Snyder", + title = "{B-Trees} Re-examined", + journal = j-CACM, + volume = "21", + number = "7", + pages = "594--594", + month = jul, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:40:20 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", +} + +@Article{Backus:1978:CPB, + author = "John Backus", + title = "Can Programming Be Liberated From the {von Neumann} Style? {A} Functional Style and its Algebra of Programs", + journal = j-CACM, + volume = "21", + number = "8", + pages = "613--641", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib and ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib", + note = "Reproduced in ``Selected Reprints on Dataflow and Reduction Architectures'' ed. S. S. Thakkar, IEEE, 1987, pp. 215-243.", + abstract = "Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor, the von Neumann computer; their division of programming into a world of expressions and a world of statements; their inability to effectively use powerful combining forms for building new programs from existing ones; and their lack of useful mathematical properties for reasoning about programs. An alternative functional style of programming is founded on the use of combining forms for creating programs. Functional programs deal with structured data, are often nonrepetitive and nonrecursive, are hierarchically constructed, do not name their arguments, and do not require the complex machinery of procedure declarations to become generally applicable. Combining forms can use high level programs to build still higher level ones in a style not possible in conventional languages.", + acknowledgement = ack-nhfb, + annote = "Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor - the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively \ldots{}", + classcodes = "C6140 (Programming languages)", + classification = "723", + corpsource = "IMB Res. Lab., San Jose, CA, USA", + descriptors = "Programming language; reliability; future outlook; von Neumann computer; applicative computing system;", + journalabr = "Commun ACM", + keywords = "4.29; 5.20; 5.24; 5.26; algebra of programs; applicative computing systems; combining forms; computer metatheory; conventional languages; CR categories: 4.20; functional style; grecommended91; Key words and phrases: functional programming; metacomposition; models of computing systems; program correctness; program termination; program transformation; programming languages; Rhighnam; structured data; theory ak; Turing award lecture; von Neuman style; von Neumann computers; von Neumann languages", + treatment = "T Theoretical or Mathematical", +} + +@Article{Kling:1978:VCS, + author = "R. Kling", + title = "Value conflicts and social choice in electronic funds transfer system developments", + journal = j-CACM, + volume = "21", + number = "8", + pages = "642--657", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7120 (Financial computing)", + corpsource = "Univ. of California, Irvine, CA, USA", + keywords = "EFT; EFTS; electronic funds transfer; privacy of transactions; reliability; social choice; system", + treatment = "E Economic; G General Review", +} + +@Article{Hirschberg:1978:FPS, + author = "D. S. Hirschberg", + title = "Fast Parallel Sorting Algorithms", + journal = j-CACM, + volume = "21", + number = "8", + pages = "657--661", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C25", + MRnumber = "80c:68028", + mrreviewer = "J. Misra", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib", + abstract = "A parallel bucket-sort algorithm is presented that requires time O(log n) and the use of n processors. The algorithm makes use of a technique that requires more space than the product of processors and time. A realistic model is used in which no memory contention is permitted. A procedure is also presented to sort n numbers in time O(k log n) using n**1** plus **1**/**k processors, for k an arbitrary integer. The model of computation for this procedure permits simultaneous fetches from the same memory location.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + classification = "723", + comment = "``A parallel bucket--sort algorithm is presented that requires time $O(\log n)$ and the use of $n$ processors. The algorithm makes use of a technique that requires more space than the product of processors and time. A realistic model is used in which no memory contention is permitted. A procedure is also presented to sort $n$ numbers in time $O(k \log n)$ using $n^{1+1/k}$ processors, for $k$ an arbitrary integer. The model of computation for this procedure permits simultaneous fetches from the same memory location.''", + corpsource = "Rice Univ., Houston, TX, USA", + journalabr = "Commun ACM", + keywords = "bucket sort algorithm; computer programming --- Subroutines; computer systems programming; parallel processing; parallel sorting algorithms; sorting", + treatment = "T Theoretical or Mathematical", +} + +@Article{Morris:1978:TSE, + author = "F. Lockwood Morris", + title = "A Time- and Space-Efficient Garbage Compaction Algorithm", + journal = j-CACM, + volume = "21", + number = "8", + pages = "662--665", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + abstract = "Given an area of storage containing scattered, marked nodes of differing sizes, one may wish to rearrange them into a compact mass at one end of the area while revising all pointers to marked nodes to show their new locations. An algorithm is described which accomplishes this task in linear time relative to the size of the storage area, and in a space of the order of one bit for each pointer. The algorithm operates by reversibly encoding the situation (that a collection of locations point to a single location) by a linear list, emanating from the pointed-to location, passing through the pointing locations, and terminating with the pointed-to location's transplanted contents.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Syracuse Univ., Syracuse, NY, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems --- Storage Allocation; computer programming; encoding; garbage compaction algorithm; pointers; pointing locations; reversibly; storage; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hoare:1978:CSP, + author = "C. A. R. Hoare", + title = "Communicating Sequential Processes", + journal = j-CACM, + volume = "21", + number = "8", + pages = "666--677", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib", + note = "See corrigendum \cite{Hoare:1978:CCS}.", + abstract = "This paper suggests that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method. When combined with a development of Dijkstra's guarded command, these concepts are surprisingly versatile. \par Their use is illustrated by sample solutions of a variety of familiar programming exercises.", + acknowledgement = ack-nhfb, + annote = "This paper is now expanded into an excellent book detailed by Hoare and published by Prentice-Hall. This paper is reproduced in Kuhn and Padua's (1981, IEEE) survey ``Tutorial on Parallel Processing.'' Reproduced in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984. Somewhat dated.", + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Queen's Univ., Belfast, UK", + journalabr = "Commun ACM", + keywords = "4.22; 4.32 maeder biblio: synchronisation and concurrency in processes; ak; bhibbard grecommended91; classes; computer programming; concurrency; conditional critical regions; coroutines; CR categories: 4.20; CSP; data representations; Dijkstra's guarded command; guarded commands; hcc; input; iterative arrays; k-concurrency; k-csp; k-guarded-commands; monitors; multiple entries; multiple exits; nondeterminacy; output; parallel composition; parallel programming; primitives; procedures; program; program structures; programming; Programming; programming languages; programming primitives; recursion; sequential processes; structured programming; structuring method", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brice:1978:FCR, + author = "Richard S. Brice and J. C. Browne", + title = "Feedback Coupled Resource Allocation Policies in the Multiprogramming-Multiprocessor Computer System", + journal = j-CACM, + volume = "21", + number = "8", + pages = "678--686", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Model studies of some integrated, feedback-driven scheduling systems for multiprogrammed-multiprocessor computer systems are presented. The basic control variables used are the data-flow rates for the processes executing on the CPU. The model systems feature simulated continuous-flow and preempt-resume scheduling of input-output activity. Attention is given to the amount of memory resource required for effective processing of the I/O activity (buffer space assignment). The model studies used both distribution-driven and trace-driven techniques. Even relatively simple dynamic schedulers are shown to improve system performance (as measured by user CPU time) over that given by optimal or near-optimal static schedulers imbedded in identical system structures and workload environments. The improvement is greatest under a heavy I/O demand workload.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "722; 723", + corpsource = "George Washington Univ., Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "buffer space assignment; computer systems programming; computer systems, digital; dynamic schedulers; feedback scheduling; I/O activity; multiprogramming; scheduling; scheduling systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Scheuermann:1978:SAP, + author = "Peter Scheuermann and C. Robert Carlson", + title = "Self-Assessment Procedure {V}: a self-assessment procedure dealing with database systems", + journal = j-CACM, + volume = "21", + number = "8", + pages = "687--693", + month = aug, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:40:45 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", +} + +@Article{Harris:1978:AUS, + author = "R. A. Harris and J. D. Zund", + title = "An algorithm using symbolic techniques for the {Bel-Petrov} classification of gravitational fields", + journal = j-CACM, + volume = "21", + number = "9", + pages = "715--717", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "A0270 (Computational techniques); A0420C (Fundamental problems and general formalism in general relativity); A0430 (Gravitational waves and radiation: theory); C6130 (Data handling techniques); C7320 (Physics and chemistry computing)", + corpsource = "HRB-Singer Inc., State College, PA, USA", + keywords = "Bel; classification scheme; FORMAC; general relativity; gravitation; gravitational fields; gravitational waves; Petrov types; physics computing; symbol manipulation", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Schwetman:1978:HSM, + author = "H. D. Schwetman", + title = "Hybrid Simulation Models of Computer Systems", + journal = j-CACM, + volume = "21", + number = "9", + pages = "718--723", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/simulan.bib", + abstract = "A description is given of the structure and operation of a hybrid simulation model in which both discrete-event simulation and analytic techniques are combined to produce efficient yet accurate system models. In an example based on a simple hypothetical computer system, discrete-event simulation is used to model the arrival and activation of jobs, and a central-server queueing network models the use of system processors. The accuracy and efficiency of the hybrid technique are demonstrated by comparing the result and computational costs of the hybrid model of the example with those of an equivalent simulation-only model.", + acknowledgement = ack-nhfb, + classcodes = "C7430 (Computer engineering)", + classification = "722; 723", + corpsource = "Purdue Univ., Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "activation of jobs; analytic techniques; arrival; central server queueing; computer selection and evaluation; computer simulation; computer systems; computer systems, digital; digital simulation; discrete event; hypothetical computer; network; simulation; simulation model; system", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Barth:1978:PID, + author = "Jeffrey M. Barth", + title = "A Practical Interprocedural Data Flow Analysis Algorithm", + journal = j-CACM, + volume = "21", + number = "9", + pages = "724--736", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new interprocedural data flow analysis algorithm is presented and analyzed. The algorithm associates with each procedure in a program information about which variables may be modified, which may be used, and which are possibly preserved by a call on the procedure, and all of its subcalls. The algorithm is sufficiently powerful to be used on recursive programs and to deal with the sharing of variables which arises through reference parameters. The algorithm is unique in that it can compute all of this information in a single pass, not requiring a prepass to compute calling relationships or sharing patterns. The algorithm is asymptotically optimal in time complexity. It has been implemented and is practical even on programs which are quite large.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Stanford Univ., Stanford, CA, USA", + journalabr = "Commun ACM", + keywords = "asymptotically; computer programming; interprocedural data flow analysis algorithm; optimal in time complexity; program; programming theory; recursive programs; reference parameters", + treatment = "T Theoretical or Mathematical", +} + +@Article{Popek:1978:MVD, + author = "Gerald J. Popek and David A. Farber", + title = "Model for Verification of Data Security in Operating Systems", + journal = j-CACM, + volume = "21", + number = "9", + pages = "737--749", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Program verification applied to kernel architectures forms a promising method for providing uncircumventably secure, shared computer systems. A precise definition of data security is developed in terms of a general model for operating systems. This model is suitable as a basis for verifying many of those properties of an operating system which are necessary to assure reliable enforcement of security. The application of this approach to the UCLA secure operating system is also discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "722; 723", + corpsource = "Univ. of California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems, digital --- Time Sharing; data processing; data security; kernel architectures; model; operating systems; operating systems (computers); security of data; verification", + treatment = "P Practical", +} + +@Article{Denning:1978:GWS, + author = "Peter J. Denning and Donald R. Slutz", + title = "Generalized Working Sets for Segment Reference Strings", + journal = j-CACM, + volume = "21", + number = "9", + pages = "750--759", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The working-set concept is extended for programs that reference segments of different sizes. The generalized working-set policy (GWS) keeps as its resident set those segments whose retention costs do not exceed their retrieval costs. The GWS is a model for the entire class of demand-fetching memory policies that satisfy a resident-set inclusion property. A generalized optimal policy (GOPT) is also defined; at its operating points it minimizes aggregated retention and swapping costs. Special cases of the cost structure allow GWS and GOPT to simulate any known stack algorithm, the working set, and VMIN. Efficient procedures for computing demand curves showing swapping load as a function of memory usage are developed for GWS and GOPT policies. Empirical data from an actual system are included.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Purdue Univ., Lafayette, IN, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; demand fetching memory policies; generalised optimal policy; generalised working set policy; operating systems (computers); property; resident set inclusion; retention costs; retrieval costs; segment reference strings; storage; storage management; swapping costs; virtual", + treatment = "T Theoretical or Mathematical", + xxtitle = "Generalized working sets of segment reference strings", +} + +@Article{Myers:1978:CEP, + author = "Glenford J. Myers", + title = "Controlled Experiment in Program Testing and Code Walkthroughs\slash Inspections", + journal = j-CACM, + volume = "21", + number = "9", + pages = "760--768", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An experiment in program testing is described that employs 59 highly experienced data processing professionals using seven methods to test a small PL/I program. The results show that the popular code walkthrough\slash inspection method was as effective as other computer-based methods in finding errors and that the most effective methods (in terms of errors found and cost) employed pairs of subjects who tested the program independently and then pooled their findings. The study also shows that there is a tremendous amount of variability among subjects and that the ability to detect certain types of errors varies from method to method.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "IBM Systems Res. Inst., Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "code; computer programming; controlled experiment; effective; errors; experienced data processing; of subjects; pairs; professionals; program debugging; program testing; small PL/I program; variability; walkthroughs/inspections", + treatment = "P Practical; X Experimental", +} + +@Article{Ottmann:1978:RBT, + author = "Th. Ottmann and H. W. Six and D. Wood", + title = "Right Brother Trees", + journal = j-CACM, + volume = "21", + number = "9", + pages = "769--776", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A10", + MRnumber = "58 13898", + mrreviewer = "Stephen Soule", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C6120 (File organisation)", + corpsource = "Univ. of Karlsruhe, Karlsruhe, West Germany", + keywords = "balanced trees; data structures; deletion algorithms; file organisation; insertion algorithm; one sided height; right brother trees; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ulrich:1978:EMD, + author = "Ernst G. Ulrich", + title = "Event Manipulation for Discrete Simulations Requiring Large Numbers of Events", + journal = j-CACM, + volume = "21", + number = "9", + pages = "777--785", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD.bib", + abstract = "An event-manipulation system is presented consisting of two parts. The first part addresses the familiar problem of event scheduling efficiency when the number of scheduled events grows large. The second part deals with the less apparent problem of providing efficiency and flexibility as scheduled events are accessed to be executed. Additional features and problems dealt with include the proper handling of simultaneous events; that certain events must be created, scheduled, and executed at the same points in simulated time; that infinite loops caused by the concatenation of such ``zero-time'' events are possible and must be diagnosed; that maintaining various event counts is practical and economical; and that a capability for handling ``time-displaceable'' events is desirable and possible.", + acknowledgement = ack-nhfb, + classcodes = "C1290 (Applications of systems theory)", + classification = "723; 912", + corpsource = "Digital Equipment Corp., Maynard, MA, USA", + country = "USA", + descriptors = "Simulation; event set;", + enum = "7988", + journalabr = "Commun ACM", + keywords = "computer programming --- Subroutines; digital simulation; discrete simulations; event; event scheduling efficiency; large numbers of events; manipulation system; operations research; scheduling; scheduling algorithms; simultaneous events; time flow mechanisms", + language = "English", + location = "SEL: Wi", + references = "0", + revision = "16/01/94", + treatment = "T Theoretical or Mathematical", +} + +@Article{Maly:1978:NVM, + author = "K. Maly", + title = "A note on virtual memory indexes", + journal = j-CACM, + volume = "21", + number = "9", + pages = "786--787", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Univ. of Minnesota, Minneapolis, MN, USA", + keywords = "construction; linked; maintenance; representation; retrieval cost; virtual memory indexes; virtual storage; within a page", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ward:1978:RTP, + author = "Stephen A. Ward", + title = "Real Time Plotting of Approximate Contour Maps", + journal = j-CACM, + volume = "21", + number = "9", + pages = "788--790", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib", + abstract = "For output to a character-oriented device, it is generally preferable to plot a contour map in raster-scan order (rather than to follow individual contour lines). A technique is described for the production of crude contour maps on a serial character-oriented device. The method described runs in real time in the sense that the computation required per output character is constant. While the contours produced exhibit local inaccuracies, they retain the properties of not crossing and of forming closed curves (except where they intersect the boundaries of the map).", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques); C7340 (Geophysics computing)", + classification = "405; 723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "approximate contour maps; cartography; computer graphics; contour maps; contour output; geophysics computing; maps and mapping; oriented device; plotting; real time; serial character", + treatment = "A Application; P Practical", +} + +@Article{Tenenbaum:1978:SDS, + author = "A. Tenenbaum", + title = "Simulations of dynamic sequential search algorithms", + journal = j-CACM, + volume = "21", + number = "9", + pages = "790--791", + month = sep, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Brooklyn Coll., New York, NY, USA", + keywords = "dynamic reordering; dynamic sequential search algorithms; list; list processing; processing; simulation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brainerd:1978:F, + author = "Walt Brainerd", + title = "{Fortran 77}", + journal = j-CACM, + volume = "21", + number = "10", + pages = "806--820", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "A compiler for Fortran 77 may be larger than one for the 1966 standard Fortran, but not much larger than most current compilers. The compilation should be almost as efficient as before and the code produced should be almost as efficient, except possible for some of the new features such as the character data type and some of the new types of input\slash output. In several cases, such as DO loops (due to deletion of extended range) and IF blocks, it should be possible to generate even more efficient code than before. Furthermore the modest but powerful language extensions should serve to reduce greatly the costs of developing, maintaining, and transporting Fortran software.", + acknowledgement = ack-nhfb, + annote = "I-O and OPEN statements.", + classcodes = "C6140D (High level languages)", + classification = "723", + corpsource = "Burroughs Corp., Encino, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; FORTRAN; FORTRAN 77; standard FORTRAN; standards", + treatment = "G General Review; N New Development", +} + +@Article{Towsley:1978:MPP, + author = "D. Towsley and K. M. Chandy and J. C. Browne", + title = "Models for Parallel Processing Within Programs: Application to {CPU:I/O} and {I/O:I/O} Overlap", + journal = j-CACM, + volume = "21", + number = "10", + pages = "821--831", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Parallel.io.bib", + abstract = "Approximate queueing models for internal parallel processing by individual programs in a multiprogrammed system are developed. The solution technique is developed by network decomposition. The models are formulated in terms of CPU:I/O and I/O:I/O overlap and applied to the analysis of these problems. The percentage performance improvement from CPU:I/O overlap is found to be greatest for systems which are in approximate CPU:I/O utilization balance and for low degrees of multiprogramming. The percentage improvement from I/O:I/O overlap is found to be greatest for systems in which the I/O system is more utilized than the CPU.", + acknowledgement = ack-nhfb, + annote = "Queueing models for parallel processing by improvement from CPU:I/O overlap if found to be greatest for systems which are in CPU:I/O balance and for low degrees of multiprogramming. Improvement from I/O:I/O overlap is found to be greatest for systems in which the I/O system is more utilized than the CPU.", + classcodes = "C1140C (Queueing theory); C6150J (Operating systems)", + classification = "722; 723", + comment = "Models CPU:I/O and I/O:I/O overlap within a program. ``Overlapping is helpful only when it allows a device to be utilized which would not be utilized without overlapping.'' In general the overlapping seems to help.", + corpsource = "Univ. of Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; computer systems, digital --- Multiprocessing; internal parallel; network decomposition; parallel I/O; parallel processing; pario bib; processing; queueing models; queueing theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Shneiderman:1978:JSF, + author = "Ben Shneiderman", + title = "Jump Searching: {A} Fast Sequential Search Technique", + journal = j-CACM, + volume = "21", + number = "10", + pages = "831--834", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "When sequential file structures must be used and binary searching is not feasible, jump searching becomes an appealing alternative. An exploration is made of variants of the classic jump searching scheme where the optimum jump size is the square root of the number of records. Multiple level and variable size jump strategies are explored, appropriate applications are discussed and performance is evaluated.", + acknowledgement = ack-nhfb, + annote = "Explores variants of the classic jump searching scheme where the optimum jump size is the square root of the number of records.", + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Univ. of Maryland, College Park, MD, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; data structures; database structures; file management; file organisation; index searching; jump searching; Jump searching; jump strategies; search strategies; sequential file structures; sequential files; sequential search technique", + treatment = "G General Review", +} + +@Article{Chang:1978:OHM, + author = "Shi-Kuo Chang and Yin-Wah Wong", + title = "Optimal Histogram Matching by Monotone Gray Level Transformation", + journal = j-CACM, + volume = "21", + number = "10", + pages = "835--840", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Investigation of the problem of optimal histogram matching using monotone gray level transformation, which always assigns all picture points of a given gray level i to another gray level T(i) such that if i greater than equivalent to j, then T(i) greater than equivalent to T(j). The objective is to find a transformed digital picture of a given picture such that the sum of absolute errors between the gray level histogram of the transformed picture and that of a reference picture is minimized. This is equivalent to placing k1 linearly ordered objects of different sizes one by one into k2 linearly ordered boxes of assorted sizes, such that the accumulated error of space underpacked or overpacked in the boxes is minimized; the placement function is monotonic, which ensures a polynomial time solution to this problem. A tree search algorithm for optimal histogram matching is presented which has time complexity O(k1 multiplied by k2). If the monotone property is dropped, then the problem becomes NP-complete, even if it is restricted to k2 equals 2.", + acknowledgement = ack-nhfb, + classcodes = "C1260 (Information theory)", + classification = "723; 741", + corpsource = "Univ. of Illinois at Chicago Circle, Chicago, IL, USA", + journalabr = "Commun ACM", + keywords = "algorithm; complete computer programs; computer systems programming; computerised picture processing; histogram matching; image processing; optimal histogram matching; tree search", + treatment = "T Theoretical or Mathematical", +} + +@Article{Morris:1978:CLN, + author = "Robert Morris", + title = "Counting Large Numbers of Events in Small Registers", + journal = j-CACM, + volume = "21", + number = "10", + pages = "840--842", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/bin-packing.bib", + abstract = "It is possible to use a small counter to keep approximate counts of large numbers. The resulting expected error can be rather precisely controlled. An example is given in which 8-bit counters (bytes) are used to keep track of as many as 130,000 events with a relative error which is substantially independent of the number n of events. This relative error can be expected to be 24 percent or less 95 percent of the time. The techniques could be used to advantage in multichannel counting hardware or software used for the monitoring of experiments or processes.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; counting; data handling; multichannel counting hardware", + treatment = "G General Review", +} + +@Article{McMaster:1978:AAD, + author = "Colin L. McMaster", + title = "An Analysis of Algorithms for the {Dutch National Flag Problem}", + journal = j-CACM, + volume = "21", + number = "10", + pages = "842--846", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "See corrigendum \cite{McMaster:1979:CAA}.", + abstract = "Solutions to the Dutch National Flag Problem have been given by Dijkstra [1] and Meyer [3]. \par Dijkstra starts with a simple program and arrives at an improved program by refinement. Both of the algorithms given by Dijkstra are shown to have an expected number of swaps which is $2/3N + O(1)$ and that these values differ at most by $1/3$ of a swap and asymptotically by $1/4$ of a swap. The algorithm of Meyer is shown to have expected swap complexity$ 5/9N$.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Univ. of California, Berkeley, CA, USA", + keywords = "Algorithmic analysis; algorithmic analysis; complete computer programs; Dutch National Flag Problem; program refinement; programming; refinement; structured programming", + treatment = "T Theoretical or Mathematical", +} + +@Article{Sedgewick:1978:IQP, + author = "Robert Sedgewick", + title = "Implementing {Quicksort} Programs", + journal = j-CACM, + volume = "21", + number = "10", + pages = "847--857", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + note = "See corrigendum \cite{Sedgewick:1979:CIQ}.", + abstract = "This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Brown Univ., Providence, RI, USA", + journalabr = "Commun ACM", + keywords = "analysis of algorithms; code optimisation techniques; code optimization; computer systems programming; internal; Quicksort; Quicksort programs; sorting; sorting algorithm; sorting method", + treatment = "G General Review", +} + +@Article{Lyon:1978:PST, + author = "Gordon Lyon", + title = "Packed Scatter Tables", + journal = j-CACM, + volume = "21", + number = "10", + pages = "857--865", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Scatter tables for open addressing benefit from recursive entry displacements, cutoffs for unsuccessful searches, and auxiliary cost functions. Compared with conventional methods, the new techniques provide substantially improved tables that resemble exact-solution optimal packings. The displacements are depth-limited approximations to an enumerative (exhaustive) optimization, although packing costs remain linear --- O(n) --- with table size n. The techniques are primarily suited for important fixed (but possibly quite large) tables for which reference frequencies may be known: op-code tables, spelling dictionaries, access arrays. Introduction of frequency weights further improves retrievals, but the enhancement may degrade cutoffs.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + classification = "723", + corpsource = "Nat. Bur. of Stand., Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; costs; data handling; open addressing; optimal packings; packed scatter tables; packing; recursion; reference frequencies; scatter tables", + treatment = "G General Review", +} + +@Article{Easton:1978:CSV, + author = "Malcolm C. Easton and Ronald Fagin", + title = "Cold-Start Vs. Warm-Start Miss Ratios", + journal = j-CACM, + volume = "21", + number = "10", + pages = "866--872", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/storage.bib", + abstract = "In a two-level computer storage hierarchy, miss ratio measurements are often made from a ``cold start'', that is, made with the first-level store initially empty. For large capacities the effect on the measured miss ratio of the misses incurred while filling the first-level store can be significant, even for long reference strings. Use of ``warm-start'' rather than ``cold-start'' miss ratios cast doubt on the widespread belief that the observed ``S-shape'' of lifetime (reciprocal of miss ratio) versus capacity curve indicates a property of behavior of programs that maintain a constant number of pages in main storage. It is shown how to obtain, under simple assumptions, the cache miss ratio for multiprogramming from cold-start miss ratio values and how to obtain approximate cold-start miss ratios from warm-start miss ratios.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer operating systems; computer systems programming --- Multiprogramming; memory hierarchy; Performance Evaluation: Analytic", + keywords = "cache miss ratio; cold start; hierarchy; lifetime; lifetime function; miss ratios; multiprogramming; operating systems (computers); storage; warm start", + treatment = "G General Review", +} + +@Article{Franta:1978:CHT, + author = "W. R. Franta and Kurt Maly", + title = "A comparison of heaps and the {TL} structure for the simulation event set", + journal = j-CACM, + volume = "21", + number = "10", + pages = "873--875", + month = oct, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib", + acknowledgement = ack-nhfb, + classcodes = "C1290 (Applications of systems theory); C6130 (Data handling techniques)", + corpsource = "Univ. of Minnesota, Minneapolis, MN, USA", + country = "USA", + descriptors = "Simulation;", + enum = "1005", + keywords = "data handling; event set; heaps; operations research; Simulation; simulation event set; TL structure", + language = "English", + references = "0", + treatment = "G General Review", +} + +@Article{Lyons:1978:SDE, + author = "Norman R. Lyons", + title = "Systems Design Education: a Gaming Approach", + journal = j-CACM, + volume = "21", + number = "11", + pages = "889--895", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "One of the problems facing managers of computer installations is the problem of configuring the computer system to meet the demands made by the mix of jobs that the computer center must service. A management game is presented that allows the player to configure a computer system to meet a hypothetical job mix. The job mix is under the control of a game administrator and can be varied to simulate a variety of real-world situations (I/O bound jobs, compute bound jobs, etc. ). The player of the game receives a set of detailed reports on the cost of his choices and a simulated run of the center operating under his choices.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C0310 (EDP management)", + classification = "722; 723; 912", + corpsource = "Texas Tech. Univ., Lubbock, TX, USA", + journalabr = "Commun ACM", + keywords = "computer installation; computer installation management; computer installations; computer science education; computer systems, digital; configuring the computer system; cost; DP; management; management game; mix; of jobs", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Wendorf:1978:SEM, + author = "J. W. Wendorf", + title = "A Simply Extended and Modified Batch Environment Graphical System (Sembegs)", + journal = j-CACM, + volume = "21", + number = "11", + pages = "897--904", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.78.bib", + abstract = "SEMBEGS is a complete batch environment graphical system containing components for handling graphical data files, for displaying the contents files on a variety of graphical hardware, and for performing graphical batch input operations. SEMBERG is easy to extend and modify to meet the growing needs of a large batch environment, and is even extendable to a fully interactive system. The paper presents the conceptual view of graphics leading to the design of SEMBEGS and outlines the major components of the system. The design of SEMBEGS is founded upon the basic assumption that the true aim of computer graphics is to describe graphical entities, rather than, as commonly held, to provide graphical input and output functional capabilities. SEMBEGS is built around a Basic Graphical Data Management System (BAGDAMS) which provides a common means of communicating the descriptions of graphical entities between the various components of SEMBEGS. BAGDAMS provides facilities for storing, retrieving, and manipulating the descriptions of graphical entities provided by, and received by application programs, graphics packages, and graphical devices.", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques); C6150E (General utility programs)", + classification = "723", + corpsource = "Univ. of Waterloo, Waterloo, Ont., Canada", + journalabr = "Commun ACM", + keywords = "BAGDAMS; Basic Graphical Data; batch; batch environment; batch processing (computers); computer graphics; displaying; extend; files; fully interactive system; graphical batch input operations; graphical data; graphical system; Management System; modify; SEMBEGS", + treatment = "P Practical", +} + +@Article{Kumar:1978:PEH, + author = "B. Kumar and E. S. Davidson", + title = "Performance Evaluation of Highly Concurrent Computers by Deterministic Simulation", + journal = j-CACM, + volume = "21", + number = "11", + pages = "904--913", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Simulation is presented as a practical technique for performance evaluation of alternative configurations of highly concurrent computers. A technique is described for constructing a detailed deterministic simulation model of a system. In the model a control stream replaces the instruction and data streams of the real system. Simulation of the system model yields the timing resource usage statistics needed for performance evaluation, without the necessity of emulating the system. As a case study, the implementation of a simulation of a model of the CPU-memory subsystem of the IBM 360\slash 191 is described. The results of evaluating some alternative system designs are discussed. The experiments reveal that, for the case study, the major bottlenecks in the system are the memory unit and the fixed point unit. Further, it appears that many of the sophisticated pipelining and buffering techniques implemented in the architecture of the IBM 360\slash 91 are of little value when high-speed (cache) memory is used, as in the IBM 360\slash 195.", + acknowledgement = ack-nhfb, + classcodes = "C5220 (Computer architecture); C6150G (Diagnostic, testing, debugging and evaluating systems); C7430 (Computer engineering)", + classification = "722; 723", + corpsource = "Univ. of Illinois, Urbana, IL, USA", + journalabr = "Commun ACM", + keywords = "computer selection and evaluation; computer systems, digital; CPU memory subsystem; deterministic simulation; highly concurrent computers; IBM 360/91; multiprocessing systems; performance evaluation; virtual machines", + treatment = "P Practical", +} + +@Article{Horn:1978:USI, + author = "Berthold K. P. Horn and Brett L. Bachman", + title = "Using Synthetic Images to Register Real Images with Surface Models", + journal = j-CACM, + volume = "21", + number = "11", + pages = "914--924", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A number of image analysis tasks can benefit from registration of the image with a model of the surface being imaged. Automatic navigation using visible light or radar images requires exact alignment of such images with digital terrain models. In addition, automatic classification of terrain, using satellite imagery, requires such alignment to deal correctly with the effects of varying sun angle and surface slope. Even inspection techniques for certain industrial parts may be improved by this means. The required alignment is achieved by matching the real image with a synthetic image obtained from a surface model and known positions of the light sources. The synthetic image intensity is calculated using the reflectance map, a convenient way of describing surface reflection as a function of surface gradient. The technique is illustrated using LANDSAT images and digital terrain models.", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "automatic classification of terrain; computer graphics; computerised picture processing; image processing; industrial parts; inspection techniques; real images; registration; satellite imagery; surface models; synthetic images", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Tadikamalla:1978:CGGb, + author = "P. R. Tadikamalla", + title = "Computer Generation of Gamma Random Variables --- {II}", + journal = j-CACM, + volume = "21", + number = "11", + pages = "925--928", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1978.bib", + acknowledgement = ack-nhfb, + classcodes = "C1140Z (Other topics in statistics); C7310 (Mathematics computing)", + corpsource = "Univ. of Pittsburgh, Pittsburgh, PA, USA", + country = "USA", + descriptors = "RVG;", + enum = "7944", + keywords = "computational; computer generation; core; gamma random variables; nonintegral shape parameter; programming effort; random processes; statistics; storage requirements; times", + language = "English", + references = "0", + treatment = "T Theoretical or Mathematical", +} + +@Article{Ripley:1978:SRP, + author = "G. David Ripley", + title = "Simple Recovery-Only Procedure for Simple Precedence Parsers", + journal = j-CACM, + volume = "21", + number = "11", + pages = "928--930", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A simple method is described enabling simple precedence parsers to recover from syntax errors. No attempt to repair errors is made, yet parsing and most semantic processing can continue. The result is a good ``first approximation'' to syntax error handling with negligible increase in parsing time, space, and complexity of both the parser and its table generator.", + acknowledgement = ack-nhfb, + classcodes = "C4210 (Formal logic); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "RCA Labs., Princeton, NJ, USA", + journalabr = "Commun ACM", + keywords = "compilers; computer programming languages; debugging; grammars; processing; program compilers; program debugging; recovery; semantic; simple precedence parsers; syntax errors; system; table generator", + treatment = "T Theoretical or Mathematical", +} + +@Article{Friedman:1978:NCE, + author = "D. P. Friedman and D. S. Wise", + title = "A Note on Conditional Expressions", + journal = j-CACM, + volume = "21", + number = "11", + pages = "931--933", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "Evaluation of a conditional expression may succeed even when the ``deciding predicate'' diverges and the alternatives are records (or nodes) whose fields have different content.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6140D (High level languages)", + corpsource = "Indiana Univ., Bloomington, IN, USA", + keywords = "ambiguous function; conditional expression; conditional forms; functional; if-then-else; infinite structures; LISP; Lisp; LISP; Parallel evaluation; parallel evaluation; programming theory; suspending cons", + treatment = "T Theoretical or Mathematical", +} + +@Article{BrinchHansen:1978:DPC, + author = "Per {Brinch Hansen}", + title = "Distributed Processes: {A} Concurrent Programming Concept", + journal = j-CACM, + volume = "21", + number = "11", + pages = "934--941", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib and ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "A language concept for concurrent processes without common variables is introduced. These processes communicate and synchronize by means of procedure calls and guarded regions. This concept is proposed for real-time applications controlled by microcomputer networks with distributed storage. The paper gives several examples of distributed processes and shows that they include procedures, coroutines, classes, monitors, processes, semaphores, buffers, path expressions, and input-output as special cases.", + acknowledgement = ack-nhfb, + annote = "Dated, but it's one of those papers that will always be referenced. This is an early paper which proposes having a Boolean guard at the start of a procedure. The procedure is not allowed to execute until the guard becomes true. This paper is also a reference for the Shortest Job Next (SJN) scheduler.", + classcodes = "C4240 (Programming and algorithm theory); C6140D (High level languages)", + classification = "723", + corpsource = "Univ. of Southern California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "buffers; classes; communication; computer programming languages; concurrency; concurrent programming; coroutines; distributed; distributed processes; expressions; guarded command; guarded regions; input/output; k-boolean-guards; k-shortest-job-next; language concept; microcomputer networks; monitors; operating synchronization; parallel processing; path; path expressions; procedure calls; procedures; processes; programming theory; semaphores; storage", + treatment = "T Theoretical or Mathematical", +} + +@Article{Luccio:1978:PT, + author = "Fabrizio Luccio and Linda Pagli", + title = "Power Trees", + journal = j-CACM, + volume = "21", + number = "11", + pages = "941--947", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B10 (68C25)", + MRnumber = "80a:68018", + mrreviewer = "Stephen Soule", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The new class of PK trees is presented, where height balance is maintained for the nodes lying on particular paths. The number of nodes of a Pk tree asymptotically grows as a power of the height, in the worst case. A procedure for node insertion is given, and the class of trees considered is restricted to IPk trees, which are buildable by such a procedure. The average behavior of such trees, studied by an extensive set of simulation runs, is close to that of AVL trees. In particular, the family of IPO trees whose main advantage is the reduced number of restructurings required after node insertion, is analyzed.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723; 921", + corpsource = "Univ. of Pisa, Pisa, Italy", + journalabr = "Commun ACM", + keywords = "AVL trees; binary search trees; computer metatheory; computer programming; file organisation; height balance; IP0 trees; IPk trees; mathematical techniques --- Trees; node insertion; Pk trees; power trees; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Sheil:1978:MST, + author = "B. A. Sheil", + title = "Median Split Trees: {A} Fast Lookup Technique for Frequently Occurring Keys", + journal = j-CACM, + volume = "21", + number = "11", + pages = "947--958", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68H05", + MRnumber = "80a:68116", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + note = "Early work on minimal perfect hash functions.", + abstract = "Split trees are a new technique for searching sets of keys with highly skewed frequency distributions. A split tree is a binary search tree each node of which contains two key values --- a node value which is a maximally frequent key in that subtree, and a split value which partitions the remaining keys (with respect to their lexical ordering) between the left and right subtrees. A median split tree (MST) uses the lexical median of a node's descendents as its split value to force the search tree to be perfectly balanced, achieving both a space efficient representation of the tree and high search speed. Unlike frequency ordered binary search trees, the cost of a successful search of an MST is log n bounded and very stable around minimal values. Further, an MST can be built for a given key ordering and set of frequencies in time n log n, as opposed to n**2 for an optimum binary search tree. A discussion of the application of MST's to dictionary lookup for English is presented, and the performance obtained is contrasted with that of other techniques.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6120 (File organisation)", + classification = "723; 921", + corpsource = "Harvard Univ., Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; fast lookup technique; file organisation; frequently occurring keys; lexical median; mathematical techniques --- Trees; median split tree; searching; trees (mathematics)", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hoare:1978:CCS, + author = "C. A. R. Hoare", + title = "Corrigendum: {``Communicating Sequential Processes''}", + journal = j-CACM, + volume = "21", + number = "11", + pages = "958--958", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:39:32 1997", + note = "See \cite{Hoare:1978:CSP}.", +} + +@Article{Freuder:1978:SCE, + author = "Eugene C. Freuder", + title = "Synthesizing Constraint Expressions", + journal = j-CACM, + volume = "21", + number = "11", + pages = "958--966", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68E99", + MRnumber = "80a:68074", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/lisp.bib", + note = "Also published as MIT AI MEMO 370, Cambridge, MA, USA, 1976", + abstract = "A constraint network representation is presented for a combinatorial search problem: finding values for a set of variables subject to a set of constraints. A theory of consistency levels in such networks is formulated, which is related to problems of backtrack tree search efficiency. An algorithm is developed that can achieve any level of consistency desired, in order to preprocess the problem for subsequent backtrack search, or to function as an alternative to backtrack search by explicitly determining all solutions.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Univ. of New Hampshire, Durham, NH, USA", + journalabr = "Commun ACM", + keywords = "combinatorial search; computer programming; constraint network representation; graph colouring; LISP; problem; programming theory; theory of consistency levels", + treatment = "T Theoretical or Mathematical", +} + +@Article{Dijkstra:1978:FGC, + author = "Edsger W. Dijkstra and Leslie Lamport and A. J. Martin and C. S. Scholten and E. F. M. Steffens", + title = "On-the-Fly Garbage Collection: An Exercise in Cooperation", + journal = j-CACM, + volume = "21", + number = "11", + pages = "966--975", + month = nov, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib and ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib and ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Heaps.bib", + note = "Also E. W. Dijkstra Note EWD496, June 1975.", + abstract = "As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating concurrently with the processor devoted to the computation proper. Exclusion and synchronization constraints have been kept as weak as could be achieved; the severe complexities engendered by doing so are illustrated.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + comment = "much overlooked algorithm, presented as more of a concurrency exercise than a garbage collector", + corpsource = "Burroughs Corp., Al Nuenen, Netherlands", + journalabr = "Commun ACM", + keywords = "computer operating systems; functional garbage collection multiprocessing cooperating sequential processes minimised mutual exclusion correctness concurrency memory", + keywords = "cooperation; garbage detection; multiprogramming; on the fly; sequential processes; storage management", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gries:1978:CEP, + author = "David Gries", + title = "Corrigendum: {``An exercise in proving parallel programs correct''}", + journal = j-CACM, + volume = "21", + number = "12", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "1048.68B10", + MRnumber = "80b:68022", + bibdate = "Tue Dec 26 13:35:07 1995", + note = "See \cite{Gries:1977:EPP}.", + acknowledgement = ack-nhfb, +} + +@Article{Needham:1978:UEA, + author = "Roger M. Needham and Michael D. Schroeder", + title = "Using Encryption for Authentication in Large Networks of Computers", + journal = j-CACM, + volume = "21", + number = "12", + pages = "993--999", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + abstract = "Use of encryption to achieve authenticated communication in computer networks is discussed. Example protocols are presented for the establishment of authenticated connections, for the management of authenticated mail, and for signature verification and document integrity guarantee. Both conventional and public-key encryption algorithms are considered as the basis for protocols.", + acknowledgement = ack-nhfb, + classcodes = "C5620 (Computer networks and techniques); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Xerox Palo Alto Res. Center, Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "authenticated communication; computer networks; data processing --- Security of Data; document integrity; encryption; guarantee; protocols; public key encryption algorithms; security of data; signature verification", + treatment = "P Practical", +} + +@Article{Gries:1978:LSA, + author = "David Gries and Jayadev Misra", + title = "A Linear Sieve Algorithm for Finding Prime Numbers", + journal = j-CACM, + volume = "21", + number = "12", + pages = "999--1003", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "10A25 (68C25)", + MRnumber = "80d:10010", + mrreviewer = "D. H. Lehmer", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A new algorithm is presented for finding all primes between 2 and n. The algorithm executes in time proportional to n (assuming that multiplication of integers not larger than n can be performed in unit time). The method has the same arithmetic complexity as the algorithm presented by N. G. Mairson; however, this version is perhaps simpler and more elegant. It is also easily extended to find the prime factorization of all integers between 2 and n in time proportional to n.", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C5230 (Digital arithmetic methods)", + classification = "723", + corpsource = "Cornell Univ., Ithaca, NY, USA", + journalabr = "Commun ACM", + keywords = "computer programming; linear sieve algorithm; number theory; prime factorization; prime numbers", + treatment = "T Theoretical or Mathematical", +} + +@Article{Peterson:1978:SOT, + author = "James L. Peterson and James R. Bitner and John H. Howard", + title = "The Selection of Optimal Tab Settings", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1004--1007", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/78.bib", + abstract = "A new generation of computer terminals allows tab settings to be selected and set by the computer. This feature can be used to reduce the number of characters that are needed to represent a document for transmission and printing. An algorithm is given for selecting the optimal set of tab stops for minimizing the number of characters transmitted. An implementation of the algorithm has reduced the number of characters transmitted by from 7 to 30 percent, but requires a prepass through the document to compute a matrix used in determining the optimal set of tab stops. The use of fixed tab stops, as a heuristic alternative, can achieve about 80 percent of optimal with no prepass.", + acknowledgement = ack-nhfb, + classcodes = "C6130D (Document processing techniques); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Univ. of Texas, Austin, TX, USA", + journalabr = "Commun ACM", + keywords = "algorithm; computer programming; computer terminals; document; number; of characters; optimal tab settings; printing; selection; transmission; word processing", + treatment = "P Practical", +} + +@Article{Wetherbe:1978:SPM, + author = "James C. Wetherbe and V. Thomas Dock", + title = "Strategic Planning Methodology for the Computing Effort in Higher Education: an Empirical Evaluation", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1008--1015", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "The findings of a study designed to address the pressing problems associated with the strategic planning of the computing effort in higher education are presented here. A planning methodology was developed and tested through implementation at a university. Two years after the methodology was implemented, the effectiveness of the planning methodology was assessed in terms of the improvement of the delivery of computing services to the major institutional roles of instruction, research, and administration. Two control institutions were employed to contrast the improvements at the test institution. The results of the research indicate the planning methodology significantly enhanced the delivery of computing services.", + acknowledgement = ack-nhfb, + classcodes = "C0310 (EDP management); C7110 (Educational administration)", + classification = "723; 901", + corpsource = "Univ. of Houston, Houston, TX, USA", + journalabr = "Commun ACM", + keywords = "administration; computing effort; DP management; education; educational computing; higher; instruction; research; strategic planning methodology; university", + treatment = "P Practical", +} + +@Article{Ibramsha:1978:DLE, + author = "M. Ibramsha and V. Rajaraman", + title = "Detection of Logical Errors in Decision Table Programs", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1016--1025", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm to detect logical errors in a limited-entry decision table and in loop-free programs with embedded decision tables is developed. All the conditions in the decision tables are assumed to be inequalities or equalities relating linear expressions. It is also assumed that actions in a decision table are linear in variables which occur in the condition stub of the decision table (or tables) to which control is transferred from the table. The algorithm is based on determining whether a set of linear inequalities has or does not have a solution. The algorithm is implemented in Fortran IV.", + acknowledgement = ack-nhfb, + classcodes = "C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Indian Inst. of Technol., Kanpur, India", + journalabr = "Commun ACM", + keywords = "computer programming; decision table programs; decision tables; error diagnosis; logical errors; program diagnostics", + treatment = "P Practical", +} + +@Article{Martelli:1978:ODT, + author = "Alberto Martelli and Ugo Montanari", + title = "Optimizing Decision Trees Through Heuristically Guided Search", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1025--1039", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A50", + MRnumber = "58 19444", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Optimal decision table conversion has been tackled in the literature using two approaches, dynamic programming and branch-and-bound. The former technique is quite effective, but its time and space requirements are independent of how ``easy'' the given table is. Furthermore, it cannot be used to produce good, quasioptimal solutions The branch-and-bound technique uses a good heuristic to direct the search, but is cluttered up by an enormous search space, since the number of solutions increases with the number of test variables according to a double exponential. In this paper authors suggest a heuristically guided top-down search algorithm which, like dynamic programming, recognizes identical subproblems but which can be used to find both optimal and quasioptimal solutions. A heuristic search method is introduced that combines the positive aspects of the above two techniques. Compressed tables with a large number of variables can be handled without deriving expanded tables first.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "921", + corpsource = "Consiglio Nazionale delle Ricerche, Pisa, Italy", + journalabr = "Commun ACM", + keywords = "decision table conversion; decision tables; heuristically guided search; mathematical programming, dynamic; optimal; programming theory", + treatment = "T Theoretical or Mathematical", +} + +@Article{Dalal:1978:RPF, + author = "Yogen K. Dalal and Robert M. Metcalfe", + title = "Reverse Path Forwarding of Broadcast Packets", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1040--1048", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A broadcast packet is for delivery to all nodes of a network. Algorithms for accomplishing this delivery through a store-and-forward packet switching computer network include (1) transmission of separately addressed packets, (2) multidestination addressing, (3) hot potato forwarding, (4) spanning tree forwarding, and (5) source based forwarding. To this list of algorithms is added (6) reverse path forwarding, a broadcast routing method which exploits routing procedures and data structures already available for packet switching. Reverse path forwarding is a practical algorithm for broadcast routing in store-and-forward packet switching computer networks. The algorithm is described as being practical because it is not optimal according to metrics developed for its analysis in this paper, and also because it can be implemented in existing networks with less complexity than that required for the known alternatives.", + acknowledgement = ack-nhfb, + classcodes = "C5620 (Computer networks and techniques)", + classification = "723", + corpsource = "Xerox Corp., Palo Alto, CA, USA", + journalabr = "Commun ACM", + keywords = "broadcast packets; broadcast routing; computer networks; packet switching; reverse path forwarding", + treatment = "P Practical", +} + +@Article{Guttag:1978:ADT, + author = "John V. Guttag and Ellis Horowitz and David R. Musser", + title = "Abstract Data Types and Software Validation", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1048--1064", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15", + MRnumber = "80b:68030", + mrreviewer = "J. Paredaens", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib", + abstract = "A data abstraction can be naturally specified using algebraic axioms. The virtue of these axioms is that they permit a representation-independent formal specification of a data type. An example is given which shows how to employ algebraic axioms at successive levels of implementation. First, it is shown how the use of algebraic axiomatizations can simplify the process of proving the correctness of an implementation of an abstract data type. Second, semi-automatic tools are described which can be used both to automate such proofs of correctness and to derive an immediate implementation from the axioms. This implementation allows for limited testing of programs at design time, before a conventional implementation is accomplished.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150G (Diagnostic, testing, debugging and evaluating systems)", + classification = "723", + corpsource = "Univ. of Southern California, Los Angeles, CA, USA", + journalabr = "Commun ACM", + keywords = "abstract data type; algebraic axiomatizations; algebraic axioms; computer programming languages; correctness; data abstraction; data structures; functional; program testing; software validation; testing of programs", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Spitzen:1978:EHD, + author = "Jay M. Spitzen and Karl N. Levitt and Lawrence Robinson", + title = "An Example of Hierarchical Design and Proof", + journal = j-CACM, + volume = "21", + number = "12", + pages = "1064--1075", + month = dec, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/semantics.bib", + abstract = "Hierarchical programming is being increasingly recognized as helpful in the construction of large programs. Users of hierarchical techniques claim or predict substantial increases in productivity and in the reliability of the programs produced. In this paper we describe a formal method for hierarchical program specification, implementation, and proof. We apply this method to a significant list processing problem and also discuss a number of extensions to current programming languages that ease hierarchical program design and proof.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "SRI Internat., Menlo Park, CA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; computer programming languages; data abstraction; hierarchical design; hierarchical program; hierarchical structures; implementation; large programs; list processing; productivity; Program verification; programming languages; proof; reliability; software modules; specification; structured programming", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Bentley:1978:MDC, + author = "J. L. Bentley", + title = "Multidimensional Divide-and-Conquer", + journal = j-CACM, + volume = "23", + number = "4", + pages = "214--228", + month = may, + year = "1978", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", +} + +@Article{Boyse:1979:IDA, + author = "John W. Boyse", + title = "Interference Detection Among Solids and Surfaces", + journal = j-CACM, + volume = "22", + number = "1", + pages = "3--9", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib", + abstract = "In many industrial environments it is necessary to determine whether there is interference among components. There are many potential interference problems in products made up of assemblies of components and in product manufacturing and testing. Typically, drawings are used in an attempt to detect such unwanted interferences, but the two-dimensional, static drafting medium does not always show interferences among three-dimensional, moving parts. A computer representation for solids and surfaces and algorithms which carry out interference checking among objects so represented are presented. Objects are represented as polyhedra or as piecewise planar surfaces. Two types of interference checking are discussed: detection of intersections among objects in fixed positions and detection of collisions among objects moving along specified trajectories.", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques); C7440 (Civil and mechanical engineering computing)", + classification = "723", + corpsource = "Computer Sci. Dept., General Motors Res. Labs., Warren, MI, USA", + journalabr = "Commun ACM", + keywords = "CAD; collision detection graphics; components; computer graphics; data processing --- Manufacturing Applications; detection; drawings; industrial environments; interference; interference checking; intersection; manufacturing and testing; mechanical engineering computing; Methodologies; Modeling geometric design/modeling and Algorithmic Aspects intersection determination and solids interface detection; piecewise planar surfaces; polyhedra; potential interference problems; product; solids; surfaces; Techniques", + treatment = "T Theoretical or Mathematical", +} + +@Article{Colton:1979:IUC, + author = "Kent W. Colton", + title = "The impact and use of computer technology by the police", + journal = j-CACM, + volume = "22", + number = "1", + pages = "10--20", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Over the past decade there has been a significant growth in the use of computer technology by U. S. police departments. This growth, however, has been at a slower rate than predicted in the early 1970's. Further, when computer applications extend beyond ``routine'' uses to ``nonroutine'' efforts, such as resource allocation or computer-aided-dispatch systems where the machine begins to become a tool for decision making, strategic planning and person\slash machine interaction, the results of the technology to date have been mixed. Case studies and surveys are discussed which provide insights on the implementation and impact of police computer technology and the relationship of this technology to law enforcement and society.", + acknowledgement = ack-nhfb, + classcodes = "C7130 (Public administration)", + classification = "723", + corpsource = "Public Systems Evaluation, MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "command and control systems; computer aided dispatch; computer technology; computers; data processing --- Governmental Applications; decision; making; person/machine interaction; police; police command and control; police data processing; resource allocation; strategic planning", + treatment = "G General Review", +} + +@Article{Bongiovanni:1979:PDB, + author = "Gian Carlo Bongiovanni and Fabrizio Luccio", + title = "Permutation of Data Blocks in a Bubble Memory", + journal = j-CACM, + volume = "22", + number = "1", + pages = "21--25", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15", + MRnumber = "80b:68026", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A common internal organization of bubble memories consists of a set of (minor) loops, connected through another (major) loop. The problem of obtaining any given permutation of the minor loop contents in minimum time is studied in this paper. A lower bound to the number of steps required by a permutation algorithm is derived, and the class of optimum algorithms is identified.", + acknowledgement = ack-nhfb, + classcodes = "C5320E (Storage on stationary magnetic media); C6120 (File organisation)", + classification = "721; 723", + corpsource = "Univ. of Pisa, Pisa, Italy", + journalabr = "Commun ACM", + keywords = "algorithms; bubble memory; computer programming --- Subroutines; data block shift; data blocks; data storage, magnetic; digital storage; file organisation; magnetic film stores; memory loops; optimum; permutation algorithm", + treatment = "T Theoretical or Mathematical", +} + +@Article{Sauer:1979:IDD, + author = "Charles H. Sauer and K. Mani Chandy", + title = "The Impact of Distributions and Disciplines on Multiple Processor Systems", + journal = j-CACM, + volume = "22", + number = "1", + pages = "25--34", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + abstract = "Simple queueing models are used to study the performance tradeoffs of multiple processor systems. Issues considered include the impact of CPU service disciplines and distributions, level of multiprogramming, multitasking, and job priorities.", + acknowledgement = ack-nhfb, + annote = "(VBI-000696)", + classcodes = "C5420 (Mainframes and minicomputers); C6150J (Operating systems)", + classification = "722; 723", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + country = "USA", + descriptors = "Multiprocessor; queueing discipline;", + enum = "11092", + journalabr = "Commun ACM", + keywords = "computer systems programming --- Multiprogramming; computer systems, digital; CPU service; job; multiple processor systems; multiprocessing systems; multiprogramming; multitasking; performance; priorities; queueing models; queueing theory; tradeoffs", + language = "English", + references = "0", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Banatre:1979:ECT, + author = "J. P. Ban{\^a}tre and J. P. Routeau and L. Trilling", + title = "An event-driven compiling technique", + journal = j-CACM, + volume = "22", + number = "1", + pages = "34--42", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Due to the linear structure of source text, difficulties may arise in a one-pass compilation process. These difficulties occur when an entity cannot be processed because of a forward reference to information only obtainable from subsequent entities. Classic solutions ask for data structures appropriate for each case. A technique is presented which uses instead control structures, namely events and processes. The work of the compiler-writer becomes easier both conceptually and in practice because he can forget these problems at the outset and he avoids special processing for each problem. This technique has been applied to the construction of an Algol 68 compiler. Three examples from that implementation are described and discussed here.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Univ. de Rennes, Rennes, France", + journalabr = "Commun ACM", + keywords = "ALGOL 68 compiler; compilation; computer operating systems --- Program Compilers; computer programming languages; control structures; data; data structures; forward reference to information; one pass; program compilers; semantic analysis; source text; structures", + treatment = "G General Review; P Practical", +} + +@Article{Arsac:1979:SSS, + author = "Jacques J. Arsac", + title = "Syntactic Source to Source Transforms and Program Manipulation", + journal = j-CACM, + volume = "22", + number = "1", + pages = "43--54", + month = jan, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Syntactic transforms are the source to source program transformations which preserve the history of computation, and thus do not modify the execution time. Combined with a small number of primitive semantic transforms, they provide a powerful tool for program manipulation. A complete catalogue of syntactic transforms, and its use for solution of a system of program equations, is given. Examples of derivation of more complex source to source transformations are also presented. Two case studies illustrate the way in which syntactic and semantic source to source transformations may be used for development of clear, simple, and reasonably efficient programs.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Inst. de Programmation, Univ. Pierre et Marie Curie, Paris, France", + journalabr = "Commun ACM", + keywords = "computer programming; program manipulation; program transformations; programming theory; semantic transforms; source to source; source transforms; structured programming; syntactic; transforms", + treatment = "T Theoretical or Mathematical", +} + +@Article{Taulbee:1979:PEP, + author = "O. E. Taulbee and S. D. Conte", + title = "Production and employment of {Ph.D.s} in computer science --- 1977 and 1978", + journal = j-CACM, + volume = "22", + number = "2", + pages = "75--76", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Univ. of Pittsburgh, Pittsburgh, PA, USA", + keywords = "1977; 1978; computer science; computer science education; employment; Ph.Ds", + treatment = "G General Review", +} + +@Article{Fairley:1979:ECD, + author = "R. E. Fairley", + title = "Employment characteristics of doctoral level computer scientists", + journal = j-CACM, + volume = "22", + number = "2", + pages = "77--78", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing)", + corpsource = "Colorado State Univ., Fort Collins, CO, USA", + keywords = "academic; business; computer scientists; doctoral; employment; industry; opportunities; Ph.D.; professional aspects; work activities", + treatment = "G General Review", +} + +@Article{Gull:1979:RDS, + author = "W. E. Gull and M. A. Jenkins", + title = "Recursive data structures in {APL.}", + journal = j-CACM, + volume = "22", + number = "2", + pages = "79--96", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15 (68E10 68H05)", + MRnumber = "80b:68028", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A mathematical study of three approaches for defining nested array in APL is presented. Theorems exhibiting the relationships between the definitional systems are given and illustrated through graph representations. One of the approaches is used to define an APL array to be a recursive data structure equivalent to a tree structure in which all data is stored at the leaves as homogeneous arrays of numbers and characters. An extension of APL is proposed that includes new primitive functions to manipulate the nesting level of arrays and new operators to assist in the construction of data-driven algorithms.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6140D (High level languages)", + classification = "723", + corpsource = "Univ. Zurich, Zurich, Switzerland", + journalabr = "Commun ACM", + keywords = "APL; computer programming languages; data structures; functions; nested arrays; primitive; procedure oriented languages; recursive data structure", + treatment = "T Theoretical or Mathematical", +} + +@Article{Morel:1979:GOS, + author = "{\'E}. Morel and C. Renvoise", + title = "Global Optimization by Suppression of Partial Redundancies", + journal = j-CACM, + volume = "22", + number = "2", + pages = "96--103", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B05", + MRnumber = "80b:68016", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/opt.compiler.bib", + note = "Data Flow Analysis", + abstract = "The elimination of redundant computations and the moving of invariant computations out of loops are often done separately, with invariants moved outward loop by loop. It is proposed to do both at once and to move each expression directly to the entrance of the outermost loop in which it is invariant. This is done by solving a more general problem, i.e. the elimination of computations performed twice on a given execution path. Such computations are termed partially redundant. Moreover, the algorithm does not require any graphical information or restrictions on the shape of the program graph. Testing this algorithm has shown that its execution cost is nearly linear with the size of the program, and that it leads to a smaller optimizer that requires less execution time.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory); C6150C (Compilers, interpreters and other processors)", + classification = "723", + corpsource = "Compagnie Internat. pour l'Informatique, Honeywell Bull, Louveciennes, France", + journalabr = "Commun ACM", + keywords = "computer programming; execution cost; execution time; optimizer; partial redundancies; program; program compilers; programming theory; redundant computations", + treatment = "T Theoretical or Mathematical", +} + +@Article{Anderson:1979:CPH, + author = "M. R. Anderson and M. G. Anderson", + title = "Comments on Perfect Hashing Functions: {A} Single Probe Retrieving Method for Static Sets", + journal = j-CACM, + volume = "22", + number = "2", + pages = "104--105", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + note = "Corrects errors in \cite{Sprugnoli:1977:PHF}. See corrigendum \cite{Anderson:1979:CCP}.", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Dept. of Computer and Communication Sci., Univ. of Michigan, Ann Arbor, MI, USA", + keywords = "algorithm; data handling; perfect hashing functions; single probe retrieving method; static sets", + treatment = "T Theoretical or Mathematical", +} + +@Article{Cheriton:1979:TPR, + author = "David R. Cheriton and Michael A. Malcolm and Lawrence S. Melen and Gary R. Sager", + title = "{Thoth}, a Portable Real-Time Operating System", + journal = j-CACM, + volume = "22", + number = "2", + pages = "105--115", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib", + abstract = "Thoth is a real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a high-level language. Because the system is implemented by the same software on different hardware, it has the same interface to user programs. Hence, application programs which use Thoth are highly portable. Thoth encourages structuring programs as networks of communicating processes by providing efficient interprocess communication primitives.", + acknowledgement = ack-nhfb, + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Dept. of Computer Sci., Univ. of Waterloo, Waterloo, Ont., Canada", + journalabr = "Commun ACM", + keywords = "CACM synchronization communication real time; computer operating systems; minicomputers; online; online operation; operating system; portable; real time; software portability; Thoth", + treatment = "P Practical", +} + +@Article{Reed:1979:SES, + author = "David P. Reed and Rajendra K. Kanodia", + title = "Synchronization with Eventcounts and Sequencers", + journal = j-CACM, + volume = "22", + number = "2", + pages = "115--123", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib", + abstract = "Synchronization of concurrent processes requires controlling the relative ordering of events in the processes. A new synchronization mechanism is proposed, using abstract objects called eventcounts and sequencers, that allows processes to control the ordering of events directly, rather than using mutual exclusion to protect manipulation of shared variables that control ordering of events. Direct control of ordering seems to simplify correctness arguments and also simplifies implementation in distributed systems. The mechanism is defined formally, and then several examples of its uses are given. The relationship of the mechanism to protection mechanisms in the system is explained; in particular, eventcounts are shown to be applicable to situations where confinement of information matters. An implementation of eventcounts and sequencers in a system with shared memory is described.", + acknowledgement = ack-nhfb, + annote = "Dated, but needs to be referenced every now and again.", + classcodes = "C6150J (Operating systems)", + classification = "723", + corpsource = "Lab. for Computer Sci., MIT, Cambridge, MA, USA", + journalabr = "Commun ACM", + keywords = "computer systems programming; concurrent processes; distributed systems; eventcounts; operating systems (computers); protection; sequences; shared memory; synchronization", + treatment = "T Theoretical or Mathematical", +} + +@Article{Mendelson:1979:OSA, + author = "Haim Mendelson and Joseph S. Pliskin and Uri Yechiali", + title = "Optimal Storage Allocation for Serial Files", + journal = j-CACM, + volume = "22", + number = "2", + pages = "124--130", + month = feb, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15", + MRnumber = "80b:68032", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A computer system uses several serial files. The files reside on a direct-access storage device in which storage space is limited. Records are added to the files either by jobs in batch processing mode, or by on-line transactions. Each transaction (or job) generates a demand vector which designates the space required in each file for record addition. Whenever one file runs out of space, the system must be reorganized. This paper considers several criteria for best allocating storage space to the files.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Dept. of Statistics, Tel Aviv Univ., Tel Aviv, Israel", + journalabr = "Commun ACM", + keywords = "computer operating systems; optimal; serial files; storage allocation", + treatment = "T Theoretical or Mathematical", +} + +@Article{Austing:1979:CRU, + author = "Richard H. Austing and Bruce H. Barnes and Della T. Bonnette and Gerald L. Engel and Gordon Stokes", + title = "Curriculum '78: Recommendations for the Undergraduate Program in Computer Science --- {A} Report of the {ACM} Curriculum Committee on Computer Science", + journal = j-CACM, + volume = "22", + number = "3", + pages = "147--166", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "A report of the ACM Curriculum Committee on Computer Science. CS 5: Introduction to File Processing (3-0-3) Prerequisite: CS 2. The objectives of this course are: (a) to introduce concepts and techniques of structuring data on bulk storage devices; (2) to provide experience in the use of bulk storage devices; and (3) to provide the foundation for applications of data structures and file processing techniques.", + classcodes = "C0220 (Computing education and training)", + corpsource = "Univ. of Maryland, College Park, MD, USA", + keywords = "computer science; computer science education; courses; curriculum; education; educational courses; elementary level; intermediate level; undergraduate program", + treatment = "G General Review; P Practical", +} + +@Article{Edgar:1979:FMN, + author = "Albert D. Edgar and Samuel C. Lee", + title = "{FOCUS} microcomputer number system", + journal = j-CACM, + volume = "22", + number = "3", + pages = "166--177", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "FOCUS is a number system and supporting computational algorithms especially useful for microcomputer control and other signal processing applications. FOCUS has the wide-ranging character of floating-point numbers with a uniformity of state distributions that give FOCUS better than a twofold accuracy advantage over an equal word length floating-point system. FOCUS computations are typically five times faster than single precision fixed-point or integer arithmetic for a mixture of operations, comparable in speed with hardware arithmetic for many applications. Algorithms for 8-bit and 16-bit implementations of FOCUS are included.", + acknowledgement = ack-nhfb, + classcodes = "C5230 (Digital arithmetic methods); C5250 (Microcomputer techniques)", + classification = "723", + corpsource = "Univ. of Oklahoma, Norman, OK, USA", + journalabr = "Commun ACM", + keywords = "algorithms; arithmetic; computational; computers, microprocessor; digital arithmetic; floating point numbers; FOCUS; microcomputer; microcomputer control; microcomputers; number system; signal processing", + treatment = "P Practical", +} + +@Article{Slagle:1979:ESA, + author = "James Slagle", + title = "Experiments with Some Algorithms that Find Central Solutions for Pattern Classification", + journal = j-CACM, + volume = "22", + number = "3", + pages = "178--183", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In two-class pattern recognition, it is a standard technique to have an algorithm finding hyperplanes which separates the two classes in a linearly separable training set. The traditional methods find a hyperplane which separates all points in one class from all points in the other, but such a hyperplane is not necessarily centered in the empty space between the two classes. Since a central hyperplane does not favor one class or the other, it should have a lower error rate in classifying new points and is therefore better than a noncentral hyperplane. Six algorithms for finding central hyperplanes are tested on three data sets. Although frequently used in practice, the modified relaxation algorithm is very poor. Three algorithms which are defined in the paper are found to be quite good.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", + classification = "723", + corpsource = "Naval Res. Lab., Washington, DC, USA", + journalabr = "Commun ACM", + keywords = "algorithms; central solutions; pattern classification; pattern recognition; pattern recognition systems", + treatment = "T Theoretical or Mathematical", +} + +@Article{Deliyanni:1979:LSN, + author = "Amaryllis Deliyanni and Robert A. Kowalski", + title = "Logic and Semantic Networks", + journal = j-CACM, + volume = "22", + number = "3", + pages = "184--192", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/nonmono.bib", + abstract = "An extended form of semantic network is defined, which can be regarded as a syntactic variant of the clausal form of logic. By virtue of its relationship with logic,the extended semantic network is provided with a precise semantics, inference rules, and a procedural interpretation. On the other hand, by regarding semantic networks as an abstract data structure for the representation of clauses, we provide a theorem-prover with a potentially useful indexing scheme and path-following strategy for guiding the search for a proof.", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence); C4210 (Formal logic)", + classification = "723", + corpsource = "Univ. of Athens, Athens, Greece", + journalabr = "Commun ACM", + keywords = "abstract data; computer metatheory; formal logic; inference rules; logic; semantic networks; structure; theorem prover; theorem proving", + treatment = "T Theoretical or Mathematical", +} + +@Article{Motzkin:1979:UNM, + author = "Dalia Motzkin", + title = "Use of Normal Multiplication Tables for Information Storage and Retrieval", + journal = j-CACM, + volume = "22", + number = "3", + pages = "193--207", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A method is described for the organization and retrieval of attribute based information systems, using the normal multiplication table as a directory for the information system. Algorithms for the organization and retrieval of information are described. This method is particularly suitable for queries requesting a group of information items, all of which possess a particular set of attributes (and possibly some other attributes as well). Several examples are given; the results with respect to the number of disk accesses and disk space are compared to other common approaches. Algorithms evaluating the appropriateness of the above approach to a given information system are described. For a certain class of information systems, the normal multiplication table method yields far more rapid retrieval with a more economical space requirement than conventional systems. Moreover this method incorporates an improved modification of the inverted file technique.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723; 901", + corpsource = "Univ. of Haifa, Haifa, Israel", + journalabr = "Commun ACM", + keywords = "attribute based information systems; directory; disk accesses; disk space; file organisation; information retrieval; information retrieval systems; information storage; inverted file; normal multiplication tables; retrieval; storage allocation", + treatment = "T Theoretical or Mathematical", +} + +@Article{McMaster:1979:CAA, + author = "C. L. McMaster", + title = "Corrigendum: {``An Analysis of Algorithms for the Dutch National Flag Problem''}", + journal = j-CACM, + volume = "22", + number = "3", + pages = "207--207", + month = mar, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:42:53 1997", + note = "See \cite{McMaster:1978:AAD}.", +} + +@Article{Lesk:1979:DTP, + author = "Arthur M. Lesk", + title = "Detection of Three-Dimensional Patterns of Atoms in Chemical Structures", + journal = j-CACM, + volume = "22", + number = "4", + pages = "219--224", + month = apr, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An algorithm for detecting occurrences of a three-dimensional pattern of objects within a larger structure is presented. The search technique presented used the geometric structure of the pattern to define characteristics demanded of candidates for matching. This is useful in cases where the properties of each atom, considered individually, do not adequately limit the number of sets of possible matchings. Several applications of this technique in the field of chemistry are: (1) in pharmacology: Searching for a common constellation of atoms in molecules possessing similar biological activities; (2) in X-ray crystallography: fitting a structure or a structural fragment to a set of peaks in the electron-density distribution of a Fourier map; (3) in chemical documentation: retrieving from a file the structures containing specified substructures.", + acknowledgement = ack-nhfb, + classcodes = "C7320 (Physics and chemistry computing)", + classification = "462; 482; 501; 723; 804; 901", + corpsource = "Fairleigh Dickinson Univ., Teaneck, NJ, USA", + journalabr = "Commun ACM", + keywords = "atoms; chemical documentation; chemical structures; chemistry computing; crystallography; crystallography --- X-Ray Analysis; drug products; information science --- Information Retrieval; pattern recognition; pattern recognition systems; pharmacology; search; three dimensional; X-ray", + treatment = "A Application", +} + +@Article{Cale:1979:PPP, + author = "E. G. Cale and L. L. Gremillion and J. L. McKenney", + title = "Price\slash Performance Patterns of {U.S.} Computer Systems", + journal = j-CACM, + volume = "22", + number = "4", + pages = "225--233", + month = apr, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Econometric models of the U. S. computer market have been developed to study the relationships between system price and hardware performance. Single measures of price-performance such as ``Grosch's Law'' are shown to be so oversimplified as to be meaningless. Multiple-regression models predicting system cost as a function of several hardware characteristics do, however, reveal a market dichotomy. On one hand there exists a stable, price predictable market for larger, general purpose computer systems. The other market is the developing one for small business computer systems, a market which is relatively unstable with low price predictability.", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing)", + classification = "722", + corpsource = "Harvard Univ., Boston, MA, USA", + journalabr = "Commun ACM", + keywords = "computer market; digital computers; hardware performance; price predictability; price/performance; system price; US", + keywords = "computer systems, digital", + treatment = "E Economic", +} + +@Article{Bucci:1979:MDD, + author = "Giacomo Bucci and Donald N. Streeter", + title = "Methodology for the Design of Distributed Information Systems", + journal = j-CACM, + volume = "22", + number = "4", + pages = "233--245", + month = apr, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A macro model of a distributed information system is presented. The model describes the major costs of using an information system from the perspective of the end-user. The model is intended to provide guidance to the system designer by making evident the effect of various design and operating parameters on overall cost per transaction. The technique is illustrated by application to the design of an interactive transaction processing system.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "722", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + journalabr = "Commun ACM", + keywords = "computer systems, digital; costs; design; distributed information systems; distributed processing; macro; methodology; model; systems analysis", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Hanson:1979:MPU, + author = "Richard J. Hanson and John A. Wisniewski", + title = "A Mathematical Programming Updating Method Using Modified {Givens} Transformations and Applied to {LP} Problems", + journal = j-CACM, + volume = "22", + number = "4", + pages = "245--251", + month = apr, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90C05 (65F35)", + MRnumber = "80c:90096", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "An efficient and numerically stable method is presented for the problem of updating an orthogonal decomposition of a matrix of column (or row) vectors. The fundamental idea is to add a column (or row) analogous to adding an additional row of data in linear least squares problem. A column (or row) is dropped by a formal scaling with the imaginary unit, followed by least squares addition of the column (or row). The elimination process for the procedure is successive application of the Givens transformation in modified (more efficient) form. These ideas are illustrated with an implementation of the revised simplex method. The algorithm is a general purpose one that does not account for any particular structure or sparsity in the equations. Some suggested computational tests for determining signs of various controlling parameters in the revised simplex algorithm are mentioned. A simple means of constructing test cases and some sample computing times are presented.", + acknowledgement = ack-nhfb, + classcodes = "C1180 (Optimisation techniques)", + classification = "723", + corpsource = "Sandia Labs., Albuquerque, NM, USA", + journalabr = "Commun ACM", + keywords = "linear programming; mathematical programming; mathematical programming, linear; modified Givens; revised simplex; transformations; updating", + treatment = "T Theoretical or Mathematical", +} + +@Article{Brelaz:1979:NMC, + author = "Daniel Br{\'e}laz", + title = "New Methods to Color the Vertices of a Graph", + journal = j-CACM, + volume = "22", + number = "4", + pages = "251--256", + month = apr, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "90B35", + MRnumber = "80c:90080", + mrreviewer = "G. Berman", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/clique.color.bib", + abstract = "Efficient new heuristic methods to color the vertices of a graph are described which rely upon the comparison of the degrees and structure of a graph. A method is developed which is exact for bipartite graphs and is an important part of heuristic procedures to find maximal cliques in general graphs. Finally an exact method is given which performs better than the Randall-Brown algorithm and is able to color larger graphs, and the new heuristic methods, the classical methods, and the exact method are compared.", + acknowledgement = ack-nhfb, + annote = "Successive augmentation approach to graph coloring. DSATUR chooses the vertex adjacent to the largest number of distinctly colored vertices. Paper also discusses an implicit enumeration scheme for finding an optimal coloring using some of the principles of DSATUR to guide the search.", + classcodes = "C1160 (Combinatorial mathematics)", + classification = "912; 921", + corpsource = "Ecole Polytech. Federale de Lausanne, Lausanne, Switzerland", + journalabr = "Commun ACM", + keywords = "bipartite graphs; cliques; colouring; graph; graph colouring; heuristic; mathematical techniques --- Graph Theory; maximal; operations research; vertices", + treatment = "T Theoretical or Mathematical", +} + +@Article{DeMillo:1979:SPP, + author = "Richard A. {De Millo} and Richard J. Lipton and Alan J. Perlis", + title = "Social Processes and Proofs of Theorems and Programs", + journal = j-CACM, + volume = "22", + number = "5", + pages = "271--280", + month = may, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/softeng.bib", + abstract = "It is argued that formal verifications of programs, no matter how obtained, will not play the same key role in the development of computer science and software engineering as proofs do in mathematics. Furthermore the absence of continuity, the inevitability of change, and the complexity of specification of significantly many real programs make the formal verification process difficult to justify and manage. It is felt that ease of formal verification should not dominate program language design.", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Georgia Inst. of Technol., Atlanta, GA, USA", + journalabr = "Commun ACM", + keywords = "computer programming; formal verification; philosophical aspects; program language design; programming theory; specification", + treatment = "G General Review; T Theoretical or Mathematical", +} + +@Article{Chang:1979:IAD, + author = "Ernest Chang and Rosemary Roberts", + title = "An Improved Algorithm for Decentralized Extrema-Finding in Circular Configurations of Processors", + journal = j-CACM, + volume = "22", + number = "5", + pages = "281--283", + month = may, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/ProbAlgs.bib", + note = "They present a deterministic distributed algorithm for finding the largest of a set of $n$ uniquely numbered processes in a ring. The algorithm uses $O(n \log n)$ messages on the average and $O(n^2)$ messages in the worst case, and does not assume that $n$ is known a priori.", + abstract = "An improvement is presented of LeLann's algorithm for finding the largest (or smallest) of a set of uniquely numbered processes arranged in a circle, in which no central controller exists and the number of processes is not known a priori. This decentralized algorithm uses a technique of selective message extinction in order to achieve an average number of message passes of order (n log n) rather than O(n**2).", + acknowledgement = ack-nhfb, + classcodes = "C4290 (Other computer theory); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. of Toronto, Ont., Canada", + journalabr = "Commun ACM", + keywords = "algorithm; circular configurations; computer operating systems; computer programming --- Subroutines; decentralized; distributed processing; distributed systems; extrema; operating systems; operating systems (computers); processes", + treatment = "T Theoretical or Mathematical", + xxtitle = "An improved algorithm for decentralized extrema-finding in circular configurations of processes", +} + +@Article{Sterling:1979:CDC, + author = "T. D. Sterling", + title = "Consumer Difficulties with Computerized Transactions: an Empirical Investigation", + journal = j-CACM, + volume = "22", + number = "5", + pages = "283--289", + month = may, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "Results show that with the present state of the art, approximately 40 percent of individuals (or households) having average contacts with different types of accounts experience one or more errors per year. Eighty percent relate to billing. Attempts to correct errors often turned out to be difficult and not always successful. There appears to be some conflict between computer-using organizations and their public. Also the role of poor management packages including poor software is indicated. While most management systems may be adequate, results of the survey raise concerns about the timeliness and the number of designs of very large linked program packages (as EFT for instance).", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7100 (Business and administration); C7120 (Financial computing)", + classification = "723", + corpsource = "Simon Fraser Univ., Burnaby, BC, Canada", + journalabr = "Commun ACM", + keywords = "administrative data processing; billing; computerized transactions; consumers; data processing, business; economic and sociological; effects; errors; management; packages", + treatment = "P Practical", +} + +@Article{Reynolds:1979:RAA, + author = "John C. Reynolds", + title = "Reasoning About Arrays", + journal = j-CACM, + volume = "22", + number = "5", + pages = "290--299", + month = may, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B10 (68E05)", + MRnumber = "80f:68018", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib", + abstract = "A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. The basic concepts include intervals and their partitions, functional restriction, images, pointwise extension of relations, ordering, single-point variation of functions, various equivalence relations for array values, and concatenation. The effectiveness of these ideas is illustrated by informal descriptions of algorithms for binary search and merging, and by a short formal proof.", + acknowledgement = ack-nhfb, + checked = "4 September 1990", + classcodes = "C4240 (Programming and algorithm theory)", + classification = "723", + corpsource = "Syracuse Univ., Syracuse, NY, USA", + journalabr = "Commun ACM", + keywords = "arrays; binary; computer programming; concatenation; concepts; equivalence relations; extension of relations; functional restriction; functions; imaging; intervals; laws; merging; notations; ordering; partitions; pointwise; programming theory; programs; reasoning; search; single point variation of", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Manthey:1979:MDM, + author = "Michael J. Manthey", + title = "Model for and Discussion of Multi-Interpreter Systems", + journal = j-CACM, + volume = "22", + number = "5", + pages = "299--309", + month = may, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A multi-interpreter system is a system in which programs execute by virtue of being interpreted by other programs, which themselves may either be interpreted (i.e. nested interpreters) or run directly on the host machine. The model reveals the anatomy of interpreters and how these differ from procedures, and exhibits links to protection domains and multiprocessor architectures.", + acknowledgement = ack-nhfb, + classcodes = "C6150C (Compilers, interpreters and other processors)", + classification = "722; 723", + corpsource = "State Univ. of New York, Buffalo, NY, USA", + journalabr = "Commun ACM", + keywords = "computer systems, digital; multi interpreter systems; multiprocessor; program interpreters; programs", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Lemos:1979:ISW, + author = "R. S. Lemos", + title = "An implementation of structured walk-throughs in teaching {COBAL} programming", + journal = j-CACM, + volume = "22", + number = "6", + pages = "335--340", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming)", + corpsource = "California State Univ., Los Angeles, CA, USA", + keywords = "COBAL programming; computer science education; multiple covariance; programming; structured walk-throughs; teaching", + treatment = "G General Review", +} + +@Article{Busenberg:1979:APP, + author = "S. N. Busenberg and W. C. Tam", + title = "An academic program providing realistic training in software engineering", + journal = j-CACM, + volume = "22", + number = "6", + pages = "341--345", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Harvey Mudd Coll., Claremont, CA, USA", + keywords = "Clinic program; communication skills; computer science education; methodology; realistic training; software design; software engineering; software project management; team work", + treatment = "G General Review", +} + +@Article{Alter:1979:MAF, + author = "Steven Alter", + title = "Model for Automating File and Program Design in Business Application Systems", + journal = j-CACM, + volume = "22", + number = "6", + pages = "345--353", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "A model is discussed for finding an efficient implementation of a business application system whose logical specifications have been determined in advance. The model views file and program design as a problem of systematically coordinating the configurations of datasets and computations. It uses a straightforward search technique to determine aggregations of computations, aggregations of datasets, device, organization, and key order for each dataset, key order for each computation, and access method for each dataset-computation pair. Although computational results are presented for a sample problem involving 54 computations and 49 datasets, the main point of the paper is that the underlying model works computationally and is simple enough to be adapted to many file design situations.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + classification = "723", + corpsource = "Steven Alter and Associates Inc., San Francisco, CA, USA", + journalabr = "Commun ACM", + keywords = "automating file; business application; computations; computer programming; datasets; design; file; file organisation; program design; search technique; software engineering; systems", + treatment = "P Practical", +} + +@Article{Feldman:1979:HLP, + author = "Jerome A. Feldman", + title = "High Level Programming for Distributed Computing", + journal = j-CACM, + volume = "22", + number = "6", + pages = "353--368", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib", + abstract = "An approach to distributed computing at the level of general purpose programming languages is described. Based on primitive notions of module, message, and transaction key, the methodology is shown to be independent of particular languages and machines. It appears to be useful for programming a wide range of tasks. This is part of an ambitious program of development in advanced programming languages, and relations with other aspects of the project are also discussed.", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + classification = "723", + corpsource = "Univ. of Rochester, Rochester, NY, USA", + journalabr = "Commun ACM", + keywords = "computer programming languages; distributed computing; distributed processing; high level programming; message; misc modules messages; module; multiprogramming; transaction key", + treatment = "G General Review", +} + +@Article{Sedgewick:1979:CIQ, + author = "Robert Sedgewick", + title = "Corrigendum: {``Implementing {Quicksort} Programs''}", + journal = j-CACM, + volume = "22", + number = "6", + pages = "368--368", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:43:13 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/Seiferas/1979.bib", + note = "See \cite{Sedgewick:1978:IQP}.", +} + +@Article{Shapira:1979:COP, + author = "R. Shapira and H. Freeman", + title = "The Cyclic Order Property of Vertices as an Aid in Scene Analysis", + journal = j-CACM, + volume = "22", + number = "6", + pages = "368--375", + month = jun, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib", + abstract = "A cyclic-order property is defined for bodies bounded by smooth-curved faces. The property is shown to be useful for analyzing pictures of such bodies, particularly when the line data extracted from the pictures are imperfect. This property augments previously known grammatical rules that determine the existence of three-dimensional bodies corresponding to given two-dimensional line-structure data.", + acknowledgement = ack-nhfb, + classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C1260 (Information theory)", + classification = "723", + corpsource = "Rensselaer Polytech. Inst., Troy, NY, USA", + journalabr = "Commun ACM", + keywords = "AI; algorithmic aspects; algorithms; computer graphics; cyclic order; grammatical; image processing; line data; pattern; pattern recognition; picture processing; pictures; recognition; reconstruction; reconstruction of objects and three-dimensional graphics; rules; scene analysis; see Section 6; vertices", +} + +@Article{Winograd:1979:BPL, + author = "T. Winograd", + title = "Beyond Programming Languages", + journal = j-CACM, + volume = "22", + number = "7", + pages = "391--401", + month = jul, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "As computer technology matures, our growing ability to create large systems is leading to basic changes in the nature of programming. Current programming language concepts will not be adequate for building and maintaining systems of the complexity called for by the tasks we attempt. Just as high level languages enabled the programmer to escape from the intricacies of a machine's order code, higher level programming systems can provide the means to understand and manipulate complex systems and components. In order to develop such systems, we need to shift our attention away from the detailed specification of algorithms, towards the description of the properties of the packages and objects with which we build. This paper analyzes some of the shortcomings of programming languages as they now exist, and lays out some possible directions for future research.", + acknowledgement = ack-nhfb, + classcodes = "C0200 (General computer topics); C6110 (Systems analysis and programming); C6140D (High level languages)", + corpsource = "Stanford Univ., Stanford, CA, USA", + keywords = "future; higher level programming systems; Programming; programming languages; programming systems; research; shortcomings; systems development; technological forecasting", + treatment = "G General Review", +} + +@Article{Preparata:1979:ORT, + author = "F. P. Preparata", + title = "An Optimal Real-Time Algorithm for Planar Convex Hulls", + journal = j-CACM, + volume = "22", + number = "7", + pages = "402--405", + month = jul, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C05 (68C25)", + MRnumber = "80e:68075", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib", + abstract = "An algorithm is described for the construction in real-time of the convex hull of a set of n points in the plane. Using an appropriate data structure, the algorithm constructs the convex hull by successive updates, each taking time O(log n), thereby achieving a total processing time O(n log n).", + acknowledgement = ack-nhfb, + classcodes = "C6130B (Graphics techniques)", + classification = "723", + corpsource = "Univ. of Illinois, Urbana, IL, USA", + journalabr = "Commun ACM", + keywords = "algorithmic aspects; computer programming; convex hull and mathematical aspects", + keywords = "algorithm; computer graphics; data structure; optimal; planar convex hulls; real time", + treatment = "P Practical", +} + +@Article{Fischer:1979:SRT, + author = "Patrick C. Fischer and Robert L. Probert", + title = "Storage Reorganization Techniques for Matrix Computation in a Paging Environment", + journal = j-CACM, + volume = "22", + number = "7", + pages = "405--415", + month = jul, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B20 (65F30)", + MRnumber = "80e:68055", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database", + abstract = "In order to multiply matrices while minimizing the number of page fetches required, it is often more efficient to reorganize the data into submatrix form and to use block multiplication rather than to use the best known algorithms which leave the matrices stored in row-(or column-)oriented form. An efficient method for accomplishing this reorganization is given. This also makes possible the derivation of an asymptotically better bound for multiplication of matrices given in row-oriented form by adapting the technique of Strassen to the reorganized data. The reorganization\slash block multiplication scheme is shown to be advantageous for matrices and pages of realistic size; the Strassen adaptation is not. The former scheme is also shown to be advantageous even if the transpose of one of the matrices is available at no additional cost.", + acknowledgement = ack-nhfb, + classcodes = "C4140 (Linear algebra); C6120 (File organisation); C6130 (Data handling techniques)", + classification = "723", + corpsource = "Pennsylvania State Univ., University Park, PA, USA", + journalabr = "Commun ACM", + keywords = "block; computer operating systems; matrix algebra; matrix computation; multiplication; paging; reorganization; virtual storage", + treatment = "P Practical", +} + +@Article{Hine:1979:CRT, + author = "J. H. Hine and I. Mitrani and S. Tsur", + title = "The Control of Response Times in Multi-Class Systems by Memory Allocation", + journal = j-CACM, + volume = "22", + number = "7", + pages = "415--424", + month = jul, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + abstract = "The possibility of giving different quality of service to jobs of different classes by regulating their memory allocation is examined in the context of a paged computer system. Two parameterized algorithms which partition the main memory between two classes of jobs are considered. Initially, a closed system consisting of a processor and paging and file devices, with fixed number of jobs, is studied to determine optimal degrees of multiprogramming and the proportion of processor time devoted to each class. Applying a decomposition approach and treating the closed system as a single server, the response times in an open system with external arrivals are studied. The object is to investigate the effect of the memory allocation parameters on the expected response times under the two algorithms. Numerical solutions and economical lower bounds for the expected response times as functions of the control parameters are obtained. A way of applying the results to systems with more than two job classes is indicated.", + acknowledgement = ack-nhfb, + annote = "The possibility of giving different quality of service to jobs of different classes by regulating their memory allocation is examined in the context of a paged computer system.", + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + classification = "723", + corpsource = "Univ. of Newcastle upon Tyne, Newcastle upon Tyne, UK", + country = "USA", + descriptors = "Queueing network; response time; memory management; priority; performance evaluation; memory organization; operating system;", + enum = "1369", + journalabr = "Commun ACM", + keywords = "computer operating systems; control; memory allocation; multiclass systems; multiprogramming; operating systems (computers); paged computer; paging; performance control; Queueing networks; response times; storage; storage allocation; system; virtual; virtual memory", + language = "English", + references = "13", + treatment = "P Practical", +} + +@Article{Kowalski:1979:ALC, + author = "Robert A. Kowalski", + title = "Algorithm = Logic + Control", + journal = j-CACM, + volume = "22", + number = "7", + pages = "424--436", + month = jul, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/prolog.bib and ftp://ftp.ira.uka.de/pub/bibliography/Ai/prolog.1.bib", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + corpsource = "Imperial Coll., London, UK", + keywords = "algorithm; algorithm theory; computer programs; control; logic; programming theory; prolog; theorem proving", + treatment = "T Theoretical or Mathematical", +} + +@Article{Wong:1979:SAP, + author = "J. W. Wong and G. Scott Graham", + title = "Self-Assessment Procedure {VI}: a self-assessment procedure dealing with queueing network models of computer systems", + journal = j-CACM, + volume = "22", + number = "8", + pages = "449--454", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:44:35 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + country = "USA", + descriptors = "Queueing system; simulation; measurement; communication network; solved exercise; bibliography;", + enum = "3335", + language = "English", + references = "34", +} + +@Article{Floyd:1979:PP, + author = "R. W. Floyd", + title = "The paradigms of programming", + journal = j-CACM, + volume = "22", + number = "8", + pages = "455--460", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Ai/constr.logic.bib", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Dept. of Computer Sci., Stanford Univ., Stanford, CA, USA", + keywords = "computer programs; languages; paradigms; programming; structural programming", + treatment = "G General Review", +} + +@Article{Hirschberg:1979:CCC, + author = "D. S. Hirschberg and A. K. Chandra and D. V. Sarwate", + title = "Computing Connected Components on Parallel Computers", + journal = j-CACM, + volume = "22", + number = "8", + pages = "461--464", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C25 (68B20 68E10)", + MRnumber = "80h:68041", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib", + abstract = "We present a parallel algorithm which uses $n^2$ processors to find the connected components of an undirected graph with $n$ vertices in time $O(log2n)$. An $O(\log_2n)$ time bound also can be achieved using only $n n/\log_2n$ processors. The algorithm can be used to find the transitive closure of a symmetric Boolean matrix. We assume that the processors have access to a common memory. Simultaneous access to the same location is permitted for fetch instructions but not for store instructions.", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C6150J (Operating systems)", + corpsource = "Dept. of Electrical Engng., Rice Univ., Houston, TX, USA", + keywords = "(computers); algorithm; algorithms; Boolean matrix; connected component; connected components; fetch instructions; file organisation; Graph theory; graph theory; operating systems; OS; parallel; parallel computers; parallel processing; store instructions; time bound; transitive closure; undirected graph", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Dershowitz:1979:PTM, + author = "Nachum Dershowitz and Zohar Manna", + title = "Proving Termination with Multiset Orderings", + journal = j-CACM, + volume = "22", + number = "8", + pages = "465--476", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B10", + MRnumber = "80g:68017", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/obscure.bib", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + corpsource = "Computer Sci. Dept., Stanford Univ., Stanford, CA, USA", + keywords = "multiset orderings; program variables; programming theory; proving the termination of programs; termination function", + treatment = "T Theoretical or Mathematical", +} + +@Article{Denning:1979:SPC, + author = "Dorothy E. Denning", + title = "Secure Personal Computing in an Insecure Network", + journal = j-CACM, + volume = "22", + number = "8", + pages = "476--482", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68A05 (68B15 94A99)", + MRnumber = "80d:68010", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques)", + corpsource = "Computer Sci. Dept., Purdue Univ., West Lafayette, IN, USA", + keywords = "communication links; confidential data; confidential files; encoding; encryption; insecure network; secure personal computing; security of data", + treatment = "P Practical", +} + +@Article{Nelson:1979:FRS, + author = "L. S. Nelson", + title = "Further remark on stably updating mean and standard deviation estimates", + journal = j-CACM, + volume = "22", + number = "8", + pages = "483--483", + month = aug, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming); C7310 (Mathematics computing)", + corpsource = "Appl. Math. Lab., General Electric Co., Louisville, KY, USA", + country = "USA", + descriptors = "expectation; standard deviation; moment estimation; numerical method", + enum = "2249", + keywords = "Mean; programming; standard deviation; standard deviation estimates; statistics; updating", + language = "English", + references = "3", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Feldman:1979:REC, + author = "Jerome A. Feldman and William R. Sutherland", + title = "Rejuvenating Experimental Computer Science --- {A} Report to the {National Science Foundation} and Others", + journal = j-CACM, + volume = "22", + number = "9", + pages = "497--502", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + abstract = "This report is based on the results of an NSF sponsored workshop held in Washington, DC, on November 2, 1978. The co-authors of the report are: Gordon Bell, Digital Equipment Corporation; Bernard A. Galler, University of Michigan; Patricia Goldberg, IBM Corporation; John Hamblen, University of Missouri at Rolla; Elliot Pinson, Bell Telephone Laboratories; and Ivan Sutherland, California Institute of Technology. Also participating in the workshop were representatives of NSF and other government agencies. In addition to the authors, a number of other people have contributed to the contents of this report. In preparation for the original workshop, all doctorate-granting computer science departments in the nation were asked for comments and suggestions on the problems of experimental computer science. A version of the current report dated January 15 was circulated to these departments and to a number of industrial and government groups for criticism. The editors and authors of this final version gratefully acknowledge the contribution of a large number of other people at all stages in the preparation of the report. \par Note: Following this presentation of the report, there is a position paper on the crisis in experimental computer science written by the ACM Executive Committee.", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training)", + corpsource = "Univ. of Rochester, Rochester, NY, USA", + keywords = "capital equipment; computer science education; experimental computer science; investment; universities", + treatment = "G General Review", +} + +@Article{McCracken:1979:AAE, + author = "Daniel D. {McCracken, CCP} and Peter J. Denning and David H. Brandin", + title = "Addendum: An {ACM} Executive Committee Position on the Crisis in Experimental Computer Science", + journal = j-CACM, + volume = "22", + number = "9", + pages = "503--504", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:46:13 1997", +} + +@Article{Galil:1979:IWC, + author = "Zvi Galil", + title = "On Improving the Worse Case Running Time of the {Boyer-Moore} String Matching Algorithm", + journal = j-CACM, + volume = "22", + number = "9", + pages = "505--508", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68H05 (68C25)", + MRnumber = "80m:68083", + mrreviewer = "Andrew Yao", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "It compares the pattern with the text from the right end of the pattern. Whenever a mismatch occurs, it shifts the pattern according to a precomputed table. In the case that the text character positioned against the last character in the pattern does not appear in the pattern, we can immediately shift the pattern right a distance equal to the size of the pattern. Thus, we need to inspect only about $n/m$ characters of the text (where $n$ and $m$ are the sizes of the text pattern).", + classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", + corpsource = "Tel-Aviv Univ., Tel-Aviv, Israel", + keywords = "algorithm; computational complexity; data handling; running time; string matching; worst case", + treatment = "T Theoretical or Mathematical", +} + +@Article{Raiha:1979:OIA, + author = "Kari-Jouko R{\"a}ih{\"a} and Stuart H. Zweben", + title = "An Optimal Insertion Algorithm for One-Sided Height-Balanced Binary Search Trees", + journal = j-CACM, + volume = "22", + number = "9", + pages = "508--512", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68C25 (68E10)", + MRnumber = "80h:68044", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + abstract = "An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time $O(\log n)$, where $n$ is the number of nodes in the tree. This represents an improvement over the best previous ly known insertion algorithms of Hirschberg and Kosaraju, which require time $O(\log 2n)$. Moreover, the $O(\log n)$ complexity is optimal. Earlier results have shown that deletion in such a structure can also be performed in $O(\log n)$ time. Thus the result of this paper gives a negative answer to the question of whether such trees should be the first examples of their kind, where deletion has a smaller time complexity than insertion. Furthermore, it can now be concluded that insertion, deletion, and retrieval in OSHB trees can be performed in the same time as the corresponding operations for the more general AVL trees, to within a constant factor. However, the insertion and deletion algorithms for OSHB trees appear much more complicated than the corresponding algorithms for AVL trees.", + acknowledgement = ack-nhfb, + annote = "An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time $O(\log{N})$, where $N$ is the number of nodes in the tree. This represents an improvement over the best previously known insertion algorithms of Hirschberg and Kosaraju, which require time $O(\log{N}\log{N})$.", + classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", + corpsource = "Univ. of Helsinki, Helsinki, Finland", + country = "USA", + descriptors = "Method; information system; search tree; graph theory;", + enum = "2486", + keywords = "binary; binary trees; data handling; height balanced; height-balanced trees; Insertion; insertion algorithm; one; one-sided height-balanced trees; optimal; search trees; search trees.; sided", + language = "English", + references = "13", + treatment = "T Theoretical or Mathematical", +} + +@Article{Hansen:1979:PAD, + author = "Wilfred J. Hansen", + title = "Progressive acyclic digraphs --- a tool for database integrity", + journal = j-CACM, + volume = "22", + number = "9", + pages = "513--518", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15 (68C05)", + MRnumber = "80h:68011", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C6160 (Database management systems (DBMS))", + corpsource = "Univ. of Illinois, Urbana, IL, USA", + keywords = "database integrity; database management systems; directed graphs; progressive acyclic digraph", + treatment = "T Theoretical or Mathematical", +} + +@Article{Nagy:1979:APM, + author = "G. Nagy and S. G. Wagle", + title = "Approximation of Polygonal Maps by Cellular Maps", + journal = j-CACM, + volume = "22", + number = "9", + pages = "518--525", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7340 (Geophysics computing)", + corpsource = "Univ. of Nebraska, Lincoln, NE, USA", + keywords = "and Applications; approximation; cartography; cellular maps; data structure; data structures; geographical; mathematical aspects; polygonal maps", + treatment = "A Application; T Theoretical or Mathematical", + xxauthor = "G. Nagy and G. Wagle", +} + +@Article{Chan:1979:CSD, + author = "T. F. Chan and J. G. Lewis", + title = "Computing standard deviations: accuracy", + journal = j-CACM, + volume = "22", + number = "9", + pages = "526--531", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + abstract = "Four algorithms for the numerical computation of the standard deviation of (unweighted) sampled data are analyzed. Two of the algorithms are well-known in the statistical and computational literature; the other two are new algorithms specifically intended for automatic computation. Our discussion is expository, with emphasis on reaching a suitable definition of ``accuracy.'' Each of the four algorithms is analyzed for the conditions under which it will be accurate. We conclude that all four algorithms will provide accurate answers for many problems, but two of the algorithms, one new, one old, are substantially more accurate on difficult problems than are the other two.", + acknowledgement = ack-nhfb, + classcodes = "C1140Z (Other topics in statistics); C7310 (Mathematics computing)", + corpsource = "Stanford Univ., Stanford, CA, USA", + country = "USA", + descriptors = "Expectation; standard deviation; moment estimation; numerical method; comparison; runtime/storage efficiency; rounding error; computer arithmetic;", + enum = "515", + keywords = "accuracy; condition number.; least squares; Mean; numerical computation; rounding error analysis; sampled data; standard deviation; standard deviations; statistics; updating estimates", + language = "English", + references = "11", + treatment = "A Application; T Theoretical or Mathematical", + xxtitle = "Computing Standard Deviation: Accuracy", +} + +@Article{West:1979:UMV, + author = "D. H. D. West", + title = "Updating mean and variance estimates: an improved method", + journal = j-CACM, + volume = "22", + number = "9", + pages = "532--535", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib and ftp://ftp.ira.uka.de/pub/bibliography/Theory/Matrix.bib", + abstract = "A method of improved efficiency is given for updating the mean and variance of weighted sampled data when an additional data value is included in the set. Evidence is presented that the method is stable and at least as accurate as the best existing updating method.", + acknowledgement = ack-nhfb, + annote = "A method of improved efficiency is given for updating the mean and variance of weighted sampled data when an additional data value is included in the set. Evidence is presented that the method is stable and at least as accurate as the best existing updating method.", + classcodes = "C1140Z (Other topics in statistics); C7310 (Mathematics computing)", + corpsource = "Univ. of Dublin, Dublin, Ireland", + country = "USA", + descriptors = "Expectation; standard deviation; moment estimation; numerical method; comparison; runtime/storage efficiency; variance;", + enum = "3271", + keywords = "efficiency; estimates; mean; Mean; removing data; sampled data; standard deviation; statistics; updating; updating estimates; variance; weighted", + kwds = "mean, standard deviation, variance, updating", + language = "English", + references = "7", + treatment = "A Application; T Theoretical or Mathematical", +} + +@Article{Laird:1979:COE, + author = "P. D. Laird", + title = "Comment on: {``An optimal evaluation of Boolean expressions in an online query system'' [Comm. ACM, 20, 1977, no. 5, 344--347, MR 55 \#9627] by M. Z. Hanani}", + journal = j-CACM, + volume = "22", + number = "10", + pages = "549--550", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68H05 (68B15)", + MRnumber = "81b:68118", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation); C7250L (Non-bibliographic retrieval systems)", + corpsource = "Shared Medical Systems Corp., King of Prussia, PA, USA", + keywords = "Boolean expressions; Boolean functions; file organisation; information; information retrieval; online query system; retrieval", + treatment = "T Theoretical or Mathematical", +} + +@Article{Gudes:1979:NOE, + author = "Ehud Gudes and Anthony Hoffman", + title = "A note on: {``An optimal evaluation of Boolean expressions in an online query system'' [Comm. ACM, 20, 1977, no. 5, 344--347, MR 55 \#9627] by M. Z. Hanani}", + journal = j-CACM, + volume = "22", + number = "10", + pages = "550--553", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68H05", + MRnumber = "80k:68085", + mrreviewer = "K. H. V. Booth", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7250L (Non-bibliographic retrieval systems)", + corpsource = "Pennsylvania State Univ., University Park, PA, USA", + keywords = "Boolean expressions; Boolean functions; information retrieval; online query system", + treatment = "P Practical", +} + +@Article{Anderson:1979:CCP, + author = "M. R. Anderson and M. G. Anderson", + title = "Corrigendum: {``Comments on Perfect Hashing Functions: A Single Probe Retrieving Method for Static Sets''}", + journal = j-CACM, + volume = "22", + number = "10", + pages = "553", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Wed Dec 27 08:06:10 1995", + note = "Corrects \cite{Anderson:1979:CPH}.", + acknowledgement = ack-nhfb, +} + +@Article{Lamport:1979:PCC, + author = "Leslie Lamport", + title = "On the Proof of Correctness of a Calendar Program", + journal = j-CACM, + volume = "22", + number = "10", + pages = "554--556", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B10", + MRnumber = "80f:68017", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C4240 (Programming and algorithm theory)", + corpsource = "SRI Internat., Menlo Part, CA, USA", + keywords = "calendar program; correctness; formal specification; programming theory; proof", + treatment = "T Theoretical or Mathematical", +} + +@Article{Klint:1979:LNM, + author = "Paul Klint", + title = "Line Numbers Made Cheap", + journal = j-CACM, + volume = "22", + number = "10", + pages = "557--559", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6110 (Systems analysis and programming)", + corpsource = "Math. Centrum, Amsterdam, Netherlands", + keywords = "execution; line number administration; programming", + treatment = "P Practical", +} + +@Article{Lozano-Perez:1979:APC, + author = "Tom{\'a}s Lozano-P{\'e}rez and Michael A. Wesley", + title = "An Algorithm for Planning Collision-Free Paths Among Polyhedral Obstacles", + journal = j-CACM, + volume = "22", + number = "10", + pages = "560--570", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/imager/imager.79.bib", + acknowledgement = ack-nhfb, + classcodes = "C7490 (Computing in other engineering fields)", + corpsource = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", + keywords = "algorithmic aspects; collision avoidance algorithm; collision free; digital simulation; forbidden positions; intersection; intersection determination; network; path; path planning; polyhedral obstacles; representation of objects; safe; solids; three-dimensional graphics; vertex", + ref = "VV35", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Morris:1979:CGC, + author = "F. L. Morris", + title = "On a Comparison of Garbage Collection Techniques", + journal = j-CACM, + volume = "22", + number = "10", + pages = "571", + month = oct, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Wed Sep 21 22:40:09 1994", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/garbage.collection.bib", +} + +@Article{Mayer:1979:PLB, + author = "R. E. Mayer", + title = "A psychology of learning {BASIC}", + journal = j-CACM, + volume = "22", + number = "11", + pages = "589--593", + month = nov, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0220 (Computing education and training); C6110 (Systems analysis and programming); C6140D (High level languages)", + corpsource = "Univ. of California, Santa Barbara, CA, USA", + keywords = "BASIC; computer science education; prestatement; programming; transaction", + treatment = "T Theoretical or Mathematical", +} + +@Article{Morris:1979:PSC, + author = "R. Morris and K. Thompson", + title = "Password Security --- {A} Case History", + journal = j-CACM, + volume = "22", + number = "11", + pages = "594--597", + month = nov, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib and ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib", + acknowledgement = ack-nhfb, + classcodes = "C6130 (Data handling techniques); C6150J (Operating systems)", + corpsource = "Bell Labs., Murray Hill, NJ, USA", + keywords = "operating systems (computers); OS; password security scheme; remotely accessed time sharing; security of data; system; UNIX ATT operating CACM", + ort = "ordner sicherheit", + treatment = "A Application; G General Review", +} + +@Article{Peleg:1979:BSC, + author = "Shmuel Peleg and Azriel Rosenfeld", + title = "Breaking Substitution Ciphers Using a Relaxation Algorithm", + journal = j-CACM, + volume = "22", + number = "11", + pages = "598--605", + month = nov, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib", + acknowledgement = ack-nhfb, + classcodes = "C1230 (Artificial intelligence)", + corpsource = "Univ. of Maryland, College Park, MD, USA", + keywords = "artificial intelligence; computer security; cryptography; decoding; joint letter probabilities; letters; plaintext; relaxation; relaxation algorithm; substitution ciphers; updating scheme", + ort = "ordner sicherheit", + treatment = "T Theoretical or Mathematical", +} + +@Article{Tarjan:1979:SST, + author = "Robert Endre Tarjan and Andrew Chi Chih Yao", + title = "Storing a Sparse Table", + journal = j-CACM, + volume = "22", + number = "11", + pages = "606--611", + month = nov, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "68B15 (68H05)", + MRnumber = "81e:68019", + mrreviewer = "Armin Cremers", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C6120 (File organisation)", + corpsource = "Stanford Univ., Stanford, CA, USA", + keywords = "hashing; LR parsing tables; sparse table; static table; storage allocation", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Shamir:1979:HSS, + author = "Adi Shamir", + title = "How to Share a Secret", + journal = j-CACM, + volume = "22", + number = "11", + pages = "612--613", + month = nov, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + MRclass = "94B99 (68E99)", + MRnumber = "80g:94070", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/security.1.bib and ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib", + acknowledgement = ack-nhfb, + annote = "protection against loss of keys by dividing the data into pieces.", + classcodes = "C6130 (Data handling techniques)", + corpsource = "MIT, Cambridge, MA, USA", + keywords = "computer security; cryptographic systems; cryptography; encoding; key management; robust key management schemes; security breaches; security of data", + ort = "ordner sicherheit", + treatment = "P Practical; T Theoretical or Mathematical", +} + +@Article{Lipis:1979:CCU, + author = "A. H. Lipis", + title = "Costs of the current {US} payments system", + journal = j-CACM, + volume = "22", + number = "12", + pages = "644--647", + month = dec, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C7120 (Financial computing)", + corpsource = "Electronic Banking Inc., Atlanta, GA, USA", + keywords = "banking industry; cash; credit cards; EFT; EFT transactions; EFTS; systems", + treatment = "E Economic; P Practical", +} + +@Article{Long:1979:PPE, + author = "R. H. Long", + title = "Public protection and education with {EFT}", + journal = j-CACM, + volume = "22", + number = "12", + pages = "648--654", + month = dec, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)", + corpsource = "Bank Administration Inst., Park Ridge, IL, USA", + keywords = "consumers; education; EFT; EFTS; social aspects of automation", + treatment = "P Practical", +} + +@Article{Parker:1979:VEI, + author = "D. B. Parker", + title = "Vulnerabilities of {EFTs} to intentionally caused losses", + journal = j-CACM, + volume = "22", + number = "12", + pages = "654--660", + month = dec, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)", + corpsource = "SRI Internat., Menlo Park, CA, USA", + keywords = "back-up requirements; business crimes; economics; EFTs; EFTS; electronic funds transfer systems; legislative actions; security; security of data", + treatment = "P Practical", +} + +@Article{Kraemer:1979:PVE, + author = "K. L. Kraemer and K. Colton", + title = "Policy, values, and {EFT} research: anatomy of a research agenda", + journal = j-CACM, + volume = "22", + number = "12", + pages = "660--671", + month = dec, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Mar 25 13:26:09 MST 1997", + acknowledgement = ack-nhfb, + classcodes = "C0230 (Economic, social and political aspects of computing); C7120 (Financial computing)", + corpsource = "Univ. of California, Irvine, CA, USA", + keywords = "American society; EFT research; EFTS; social aspects of automation", + treatment = "B Bibliography; P Practical", +} + +@Article{Shoch:1979:MPE, + author = "J. F. Shoch and J. A. Hupp", + title = "Measured Performance of an {ETHERNET} Local Network", + journal = j-CACM, + volume = "23", + number = "12", + pages = "711--721", + month = dec, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:47:21 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1979.bib", + country = "USA", + descriptors = "LAN;", + enum = "2893", + language = "English", + references = "0", +} + +@Article{Samet:1979:QMA, + author = "Hanan Samet", + title = "A quadtree medial axis transform", + journal = j-CACM, + volume = "26", + number = "9", + pages = "680--693", + month = sep, + year = "1979", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Jan 18 15:48:10 1997", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/siggraph/79.bib", +} + +@Article{Pearson:1990:FHV, + author = "Peter K. Pearson", + title = "Fast Hashing of Variable-Length Text Strings", + journal = j-CACM, + volume = "33", + number = "6", + pages = "677--680", + month = jun, + year = "1990", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sat Apr 06 08:06:41 1996", + bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib", + abstract = "Tailored to variable-length text strings, this hashing function uses very little arithmetic and can be used where perfect hashing is desired.", + acknowledgement = ack-nhfb, + annote = "Based on exclusive OR (XOR).", + comment = "A simple fast hashing algorithm is given for variable length text strings. Essentially an xor is done over all of the characters of the string and the result is the hash value. Some analysis is done and a practical implementation is reported on.", + review = "ACM CR 9012-0958", +} + +@Article{Sunday:1990:VFS, + author = "Daniel M. Sunday", + title = "A Very Fast Substring Search Algorithm", + journal = j-CACM, + volume = "33", + number = "8", + pages = "132--142", + month = aug, + year = "1990", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Jan 09 09:26:55 1996", + note = "See also \cite{Boyer:1977:FSS} and \cite{Knuth:1977:FPM}.", + acknowledgement = ack-nhfb, +} + +@Article{Dittmer:1991:NFH, + author = "I. Dittmer", + title = "Note on Fast Hashing of Variable Length Text Strings", + journal = j-CACM, + volume = "34", + number = "11", + pages = "118", + month = nov, + year = "1991", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Sun Jul 17 19:42:16 1994", + note = "Points out that Pearson's hashing algorithm \cite{Pearson:1990:FHV} was discovered fourteen years earlier by this author \cite{Dittmer:1976:IEP}. See also comments in \cite{Savoy:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.", +} + +@Article{Savoy:1991:NFH, + author = "Jacques Savoy", + title = "Note on Fast Hashing of Variable Length Text Strings", + journal = j-CACM, + volume = "34", + number = "11", + pages = "118--119", + month = nov, + year = "1991", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Jul 19 17:58:09 1994", + note = "Suggests an improvement to Pearson's hashing algorithm \cite{Pearson:1990:FHV} that avoids secondary clustering. Exhibits a key set for which Pearson's algorithm produces alarming clustering. See also comments in \cite{Dittmer:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.", + acknowledgement = ack-nhfb, +} + +@Article{Litsios:1991:NFH, + author = "James Litsios", + title = "Note on Fast Hashing of Variable Length Text Strings", + journal = j-CACM, + volume = "34", + number = "11", + pages = "118--120", + month = nov, + year = "1991", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Jul 19 18:02:04 1994", + note = "Suggests a simple extension of Pearson's hashing algorithm \cite{Pearson:1990:FHV} that supports non-character data. See also comments in \cite{Dittmer:1991:NFH,Savoy:1991:NFH,Pearson:1991:NFH}.", + acknowledgement = ack-nhfb, +} + +%======================================================================= +% Cross-referenced entries come last. ++@Article{Pearson:1991:NFH, + author = "Peter Pearson", + title = "Note on Fast Hashing of Variable Length Text Strings", + journal = j-CACM, + volume = "34", + number = "11", + pages = "120", + month = nov, + year = "1991", + CODEN = "CACMA2", + ISSN = "0001-0782", + bibdate = "Tue Jul 19 17:58:54 1994", + note = "Responds to several comments \cite{Dittmer:1991:NFH,Litsios:1991:NFH,Savoy:1991:NFH} on the author's earlier paper \cite{Pearson:1990:FHV}.", + acknowledgement = ack-nhfb, +} + +@Article{Knuth:1974:SPG, + author = "Donald E. Knuth", + title = "Structured Programming with {\bf go to} Statements", + journal = j-COMP-SURV, + volume = "6", + number = "4", + pages = "261--301", + month = dec, + year = "1974", + CODEN = "CMSVAN", + ISSN = "0360-0300", + bibdate = "Sat Aug 27 10:36:49 1994", + note = "Reprinted with revisions in {\sl Current Trends in Programming Methodology}, Raymond T. Yeh, ed., {\bf 1} (Englewood Cliffs, NJ: Prentice-Hall, 1977), 140--194; {\sl Classics in Software Engineering}, Edward Nash Yourdon, ed.\ (New York: Yourdon Press, 1979), 259--321. Reprinted with ``final'' revisions in \cite[pp. 17--89]{Knuth:1992:LP}. This paper is a response to \cite{Dijkstra:1968:GSC}.", + acknowledgement = ack-nhfb, +} + +@Article{Graham:1976:FUL, + author = "Susan L. Graham and Mark Wegman", + title = "A Fast and Usually Linear Algorithm for Global Flow Analysis", + journal = j-J-ACM, + volume = "23", + number = "1", + pages = "172--202", + month = jan, + year = "1976", + CODEN = "JACOAH", + ISSN = "0004-5411", + bibdate = "Wed Jan 15 18:12:53 MST 1997", + bibsource = "Compendex database", + abstract = "A new algorithm for global flow analysis on reducible graphs is presented. The algorithm is shown to treat a very general class of function spaces. For a graph of e edges, the algorithm has a worst-case time bound of 0(e log e) function operations. It is also shown that in programming terms, the number of operations is proportional to e plus the number of exits from program loops. Consequently a restriction to one-entry one-exit control structures guarantees linearity. The algorithm can be extended to yet larger classes of function spaces and graphs by relaxing the time bound. Examples are given of code improvement problems which can be solved using the algorithm.", + acknowledgement = ack-nhfb, + classification = "723; 921", + journalabr = "J Assoc Comput Mach", + keywords = "computer programming; mathematical programming", +} + +@Article{Brown:1972:CSC, + author = "R. J. Brown", + title = "Chromatic scheduling and the chromatic number problem", + journal = j-MANAGEMENT-SCIENCE, + volume = "19", + pages = "451--463", + year = "1972", + CODEN = "MSCIAM", + ISSN = "0025-1909", + annote = "Implicit enumeration algorithm [not seen].", +} + +@Article{Knuth:1977:FPM, + author = "Donald E. Knuth and J. H. Morris and V. R. Pratt", + title = "Fast pattern matching in strings", + journal = j-SIAM-J-COMPUT, + volume = "6", + number = "2", + pages = "323--350", + month = jun, + year = "1977", + CODEN = "SMJCAT", + ISSN = "0097-5397", + bibdate = "Tue Feb 6 05:29:37 1996", + note = "See also \cite{Boyer:1977:FSS} and \cite{Sunday:1990:VFS}.", +} + +@Article{Tharp:1982:PTS, + author = "A. L. Tharp and K.-C. Tai", + title = "The practicality of text signatures for accelerating string searching", + journal = j-SPE, + volume = "12", + number = "1", + pages = "35--44", + month = jan, + year = "1982", + CODEN = "SPEXBL", + ISSN = "0038-0644", + bibdate = "Tue Feb 06 05:30:19 1996", + note = "Expands Harrison's work \cite{Harrison:1971:IST}.", + acknowledgement = ack-nhfb, +} + +@Article{Skovgaard:1975:RBF, + author = "Ove Skovgaard", + title = "Remark on {``Algorithm 236: Bessel Functions of the First Kind [S17]''}", + journal = j-TOMS, + volume = "1", + number = "3", + pages = "282--284", + month = sep, + year = "1975", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:43 1996", + note = "See \cite{Gautschi:1964:AAB}.", + acknowledgement = ack-nhfb, +} + +@Article{Misra:1975:RG, + author = "Jayadev Misra", + title = "Remark on {``Algorithm 246: Graycode [Z]''}", + journal = j-TOMS, + volume = "1", + number = "3", + pages = "285--285", + month = sep, + year = "1975", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:25:57 1996", + note = "See \cite{Boothroyd:1964:AAG,Er:1985:RG}.", + acknowledgement = ack-nhfb, +} + +@Article{Feinstein:1975:RMT, + author = "Robert Feinstein", + title = "Remark on {``Algorithm 483: Masked Three-Dimensional Plot Program with Rotations [J6]''}", + journal = j-TOMS, + volume = "1", + number = "9", + pages = "285--285", + month = sep, + year = "1975", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:25:34 1996", + note = "See \cite{Watkins:1974:AAM}.", + acknowledgement = ack-nhfb, +} + +@Article{Boulton:1976:REP, + author = "D. M. Boulton", + title = "Remark on {``Algorithm 434: Exact Probabilities for $R\times{C}$ Contingency Tables [G2]''}", + journal = j-TOMS, + volume = "2", + number = "1", + pages = "108--108", + month = mar, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:29 1996", + note = "See \cite{March:1972:AAE}.", + acknowledgement = ack-nhfb, +} + +@Article{Duta:1976:RVS, + author = "Lucian D. Duta", + title = "Remark on {``Algorithm 475: Visible Surface Plotting Program [J6]''}", + journal = j-TOMS, + volume = "2", + number = "1", + pages = "109--110", + month = mar, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:59 1996", + note = "See \cite{Wright:1974:VSP}.", + acknowledgement = ack-nhfb, +} + +@Article{White:1976:RMS, + author = "G. M. White and S. Goudreau and J. L. Legros", + title = "Remark on {``Algorithm 479: A Minimal Spanning Tree Clustering Method [Z]''}", + journal = j-TOMS, + volume = "2", + number = "1", + pages = "110--111", + month = mar, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:06 1996", + note = "See \cite{Page:1974:AAM}.", + acknowledgement = ack-nhfb, +} + +@Article{Pomeranz:1976:REC, + author = "J. Pomeranz", + title = "Remark on {``Algorithm 487: Exact Cumulative Distribution of the Kolmogorov-Smirnov Statistic for Small Samples [S14]''}", + journal = j-TOMS, + volume = "2", + number = "1", + pages = "111--111", + month = mar, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:05 1996", + note = "See \cite{Pomeranz:1974:AAE}.", + acknowledgement = ack-nhfb, +} + +@Article{Morris:1976:RDF, + author = "Robert Morris", + title = "Remark on {``Algorithm 490: The Dilogarithm Function of a Real Argument [S22]''}", + journal = j-TOMS, + volume = "2", + number = "1", + pages = "112--112", + month = mar, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:02 1996", + note = "See \cite{Ginsberg:1975:AAD}.", + acknowledgement = ack-nhfb, +} + +@Article{Pike:1976:RIB, + author = "Malcolm C. Pike and Jennie SooHoo", + title = "Remark on {``Algorithm 179: Incomplete Beta Ratio [S14]''}", + journal = j-TOMS, + volume = "2", + number = "2", + pages = "207--208", + month = jun, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:04 1996", + note = "See \cite{Ludwig:1963:AAI}.", + acknowledgement = ack-nhfb, +} + +@Article{Anderson:1976:RIS, + author = "Michael R. Anderson", + title = "Remark on {``Algorithm 433: Interpolation and Smooth Curve Fitting Based on Local Procedures [E2]''}", + journal = j-TOMS, + volume = "2", + number = "2", + pages = "208--208", + month = jun, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:36 1996", + note = "See \cite{Akima:1972:AAI}.", + acknowledgement = ack-nhfb, +} + +@Article{Davies:1976:RRF, + author = "Alan M. Davies", + title = "Remark on {``Algorithm 450: Rosenbrock Function Minimization [E4]''}", + journal = j-TOMS, + volume = "2", + number = "3", + pages = "300--301", + month = sep, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:54 1996", + note = "See \cite{MacHura:1973:AAR}.", + acknowledgement = ack-nhfb, +} + +@Article{Brown:1976:RAS, + author = "Theodore Brown", + title = "Remark on {``Algorithm 489: The Algorithm SELECT --- for Finding the $i$th Smallest of $n$ Elements [M1]''}", + journal = j-TOMS, + volume = "2", + number = "3", + pages = "301--304", + month = sep, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:26:24 1996", + note = "See \cite{Floyd:1975:AAA}.", + acknowledgement = ack-nhfb, +} + +@Article{Ito:1976:RIT, + author = "M. R. Ito", + title = "Remark on {``Algorithm 284: Interchange of Two Blocks of Data [K2]''}", + journal = j-TOMS, + volume = "2", + number = "4", + pages = "392--393", + month = dec, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:27:37 1996", + note = "See \cite{Fletcher:1966:AAI}.", + acknowledgement = ack-nhfb, +} + +@Article{Lozy:1976:RCS, + author = "Mohamed el Lozy", + title = "Remark on {``Algorithm 299: Chi-Squared Integral [S15]''}", + journal = j-TOMS, + volume = "2", + number = "4", + pages = "393--395", + month = dec, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:00 1996", + note = "See \cite{Hill:1967:AAC,Hill:1985:RCS}.", + acknowledgement = ack-nhfb, +} + +@Article{Koppelaar:1976:RNI, + author = "Henk Koppelaar and Peter Molenaar", + title = "Remark on {``Algorithm 486: Numerical Inversion of Laplace Transform [D5]''}", + journal = j-TOMS, + volume = "2", + number = "4", + pages = "395--396", + month = dec, + year = "1976", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:27:48 1996", + note = "See \cite{Veillon:1974:AAN}.", + acknowledgement = ack-nhfb, +} + +@Article{Cate:1977:AAS, + author = "Esko G. Cate and David W. Twigg", + title = "Algorithm 513: Analysis of In-Situ Transposition [{F1}]", + journal = j-TOMS, + volume = "3", + number = "1", + pages = "104--110", + month = mar, + year = "1977", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:07 1996", + acknowledgement = ack-nhfb, +} + +@Article{Veillon:1977:RNI, + author = "Fran{\c{c}}oise Veillon", + title = "Remark on {``Algorithm 486: Numerical Inversion of Laplace Transform''}", + journal = j-TOMS, + volume = "3", + number = "1", + pages = "111--111", + month = mar, + year = "1977", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:10 1996", + note = "See \cite{Veillon:1974:AAN}.", + acknowledgement = ack-nhfb, +} + +@Article{Jansen:1977:RLF, + author = "J. K. M. Jansen", + title = "Remark on {``Algorithm 259: Legendre Functions for Arguments Larger than One''}", + journal = j-TOMS, + volume = "3", + number = "2", + pages = "204--250", + month = jun, + year = "1977", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:08 1996", + note = "See \cite{Gautschi:1965:AAL}.", + acknowledgement = ack-nhfb, +} + +@Article{Sipala:1977:RAS, + author = "Paolo Sipala", + title = "Remark on {``Algorithm 408: A Sparse Matrix Package (Part I) [F4]''}", + journal = j-TOMS, + volume = "3", + number = "3", + pages = "303--303", + month = sep, + year = "1977", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:09 1996", + note = "See \cite{McNamee:1971:AAS}.", + acknowledgement = ack-nhfb, +} + +@Article{Tenney:1977:RAT, + author = "Dennis Tenney", + title = "Remark on {``Algorithm 219: Topological Ordering for PERT Networks''}", + journal = j-TOMS, + volume = "3", + number = "3", + pages = "303--303", + month = sep, + year = "1977", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:09 1996", + note = "See \cite{Kase:1963:AAT}.", + acknowledgement = ack-nhfb, +} + +@Article{Skovgaard:1978:RCE, + author = "Ove Skovgaard", + title = "Remark on {``Algorithm 149: Complete Elliptic Integral [S21]''}", + journal = j-TOMS, + volume = "4", + number = "1", + pages = "95--95", + month = mar, + year = "1978", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:13 1996", + note = "See \cite{Merner:1962:AAC}.", + acknowledgement = ack-nhfb, +} + +@Article{Coleman:1978:RAS, + author = "John P. Coleman", + title = "Remark on {``Algorithm 49: Spherical Neumann Function''}", + journal = j-TOMS, + volume = "4", + number = "3", + pages = "295--295", + month = sep, + year = "1978", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:11 1996", + note = "See \cite{Herndon:1961:AAS}.", + acknowledgement = ack-nhfb, +} + +@Article{Gustavson:1978:RAS, + author = "Fred G. Gustavson", + title = "Remark on {``Algorithm 408: A Sparse Matrix Package (Part I) [F4]''}", + journal = j-TOMS, + volume = "4", + number = "3", + pages = "295--295", + month = sep, + year = "1978", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:12 1996", + note = "See \cite{McNamee:1971:AAS}.", + acknowledgement = ack-nhfb, +} + +@Article{Schoene:1978:RMI, + author = "Andrew Y. Schoene", + title = "Remark on {``Algorithm 435: Modified Incomplete Gamma Function [S14]''}", + journal = j-TOMS, + volume = "4", + number = "3", + pages = "296--304", + month = sep, + year = "1978", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:12 1996", + note = "See \cite{Fullerton:1972:AAM}.", + acknowledgement = ack-nhfb, +} + +@Article{Lozy:1979:RSD, + author = "Mohamed el Lozy", + title = "Remark on {``Algorithm 395: Student's $t$-Distribution''} and Remark on {``Algorithm 396: Student's Quantiles [S14]''}", + journal = j-TOMS, + volume = "5", + number = "2", + pages = "238--239", + month = jun, + year = "1979", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:16 1996", + note = "See \cite{Hill:1970:AASa,Hill:1970:AASb,Hill:1981:RSD,Hill:1985:RCS}.", + acknowledgement = ack-nhfb, +} + +@Article{Geddes:1979:RCC, + author = "K. O. Geddes", + title = "Remark on {``Algorithm 424: Clenshaw-Curtis Quadrature [O1]''}", + journal = j-TOMS, + volume = "5", + number = "2", + pages = "240--240", + month = jun, + year = "1979", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:14 1996", + note = "See \cite{Gentleman:1972:AAC}.", + acknowledgement = ack-nhfb, +} + +@Article{Anderson:1979:RBI, + author = "M. R. Anderson", + title = "Remark on {``Algorithm 474: Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures''}", + journal = j-TOMS, + volume = "5", + number = "2", + pages = "241--241", + month = jun, + year = "1979", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:13 1996", + note = "See \cite{Akima:1974:AAB}.", + acknowledgement = ack-nhfb, +} + +@Article{Leathers:1979:RAS, + author = "Burton L. Leathers", + title = "Remark on {``Algorithm 513: Analysis of In-Situ Transposition [F1]''} and Remark on {``Algorithm 467: Matrix Transposition in Place''}", + journal = j-TOMS, + volume = "5", + number = "4", + pages = "520--520", + month = dec, + year = "1979", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:15 1996", + note = "See \cite{Cate:1977:AAS,Brenner:1973:AAM}.", + acknowledgement = ack-nhfb, +} + +@Article{Swieten:1979:RVS, + author = "A. C. M. van Swieten and J. Th. M. de Hosson", + title = "Remark on {``Algorithm 475: Visible Surface Plotting Program''}", + journal = j-TOMS, + volume = "5", + number = "4", + pages = "521--523", + month = dec, + year = "1979", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:16 1996", + note = "See \cite{Wright:1974:VSP}.", + acknowledgement = ack-nhfb, +} + +@Article{Harms:1980:RSM, + author = "U. Harms and H. Kollakowski and G. M{\"{o}}ller", + title = "Remark on {``Algorithm 408: A Sparse Matrix Package (Part 1) [F4]''}", + journal = j-TOMS, + volume = "6", + number = "3", + pages = "456--457", + month = sep, + year = "1980", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:17 1996", + note = "See \cite{McNamee:1971:AAS}.", + acknowledgement = ack-nhfb, +} + +@Article{Hill:1981:RSD, + author = "G. W. Hill", + title = "Remark on {``Algorithm 395: Student's $t$-Distribution''}", + journal = j-TOMS, + volume = "7", + number = "2", + pages = "247--249", + month = jun, + year = "1981", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:18 1996", + note = "See \cite{Hill:1970:AASa,Hill:1970:AASb,Lozy:1979:RSD}.", + acknowledgement = ack-nhfb, +} + +@Article{Hill:1981:RSQ, + author = "G. W. Hill", + title = "Remark on {``Algorithm 396: Student's $t$-Quantiles''}", + journal = j-TOMS, + volume = "7", + number = "2", + pages = "250--251", + month = jun, + year = "1981", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:19 1996", + note = "See \cite{Hill:1970:AASb}.", + acknowledgement = ack-nhfb, +} + +@Article{Hill:1985:RCS, + author = "I. D. Hill and M. C. Pike", + title = "Remark on {``Algorithm 299: Chi-Squared Integral''}", + journal = j-TOMS, + volume = "11", + number = "2", + pages = "185--185", + month = jun, + year = "1985", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:22 1996", + note = "See \cite{Hill:1967:AAC,Lozy:1976:RCS}.", + acknowledgement = ack-nhfb, +} + +@Article{Er:1985:RG, + author = "M. C. Er", + title = "Remark on {``Algorithm 246: Graycode [Z]''}", + journal = j-TOMS, + volume = "11", + number = "4", + pages = "441--443", + month = dec, + year = "1985", + CODEN = "ACMSCU", + ISSN = "0098-3500", + bibdate = "Tue Feb 06 05:28:21 1996", + note = "See \cite{Boothroyd:1964:AAG,Misra:1975:RG}.", + acknowledgement = ack-nhfb, +} + +@Manual{ANSI:1966:AF, + title = "{ANSI Fortran X3.9-1966}", + organization = pub-ANSI, + address = pub-ANSI:adr, + pages = "??--??", + year = "1966", + bibdate = "Sat Jan 18 15:48:20 1997", + note = "Approved March 7, 1966 (also known as Fortran 66). See also subsequent clarifications \cite{ANSI:1969:CFS} and \cite{ANSI:1971:CFS}.", +} + +@PhdThesis{deBalbine:1969:CAR, + author = "Guy {de Balbine}", + title = "Computational Analysis of the Random Components Induced by a Binary Equivalence Relation", + type = "Ph.D. thesis", + school = "California Institute of Technology", + address = "Pasadena, CA, USA", + pages = "168", + year = "1969", + bibdate = "Sat Feb 17 13:24:16 1996", + note = "First use of second hash function for computing next hash table location after a collision.", + abstract = "The problem of partitioning into classes by means of a binary equivalence relation is investigated. Several algorithms for determining the number of components in the graph associated with a particular set of elements are constructed and compared. When the classification process operates on independently-drawn samples of $n$ distinct elements from a population, the expected number of components is shown to be obtainable recursively for a class of problems called separable; in all cases, estimates are available to reach any desired level of accuracy. Clustering models in Euclidean space are analyzed in detail and asymptotic formulas obtained to complement experiments. Conjectures concerning the general behavior of the expected number of components are presented also. Finally, several computational tools of general interest are improved significantly.", + acknowledgement = ack-nhfb, + annote = "Abstract in Dissertation Abstracts, v30 n2 p645b 1969.", +} + +@InProceedings{Korman:1970:CO, + author = "S. M. Korman", + editor = "N. Christofides and A. Mingozzi and P. Toth and C. Sandi", + booktitle = "Combinatorial Optimization", + title = "The graph-colouring problem", + publisher = "Wiley", + address = "New York", + pages = "211--235", + year = "1970", + annote = "Implicit enumeration algorithm [not seen].", +} + +@Book{Knuth:1973:ACP, + author = "D. E. Knuth", + title = "The Art of Computer Programming, Sorting and Searching", + volume = "3", + publisher = pub-AW, + address = pub-AW:adr, + pages = "xi + 723", + year = "1973", + ISBN = "0-201-03803-X", + LCCN = "QA76.5 .K74", + bibdate = "Wed Dec 15 15:47:47 1993", + acknowledgement = ack-nhfb, + annote = "Standardwerk ueber Suchen und Sortieren 5. Sorting 5.1. Combinatorial Properties of Permutations 5.2. Internal Sorting 5.3. Optimum Sorting 5.4. External Sorting 5.5. Summary, History, and Bibliography 6. Searching 6.1. Sequential Search 6.2. Searching By Comparison of Keys 6.3. Digital Searching 6.4. Hashing 6.5. Retrieval on Secondary Keys Answers to Exercises Appendix A: Tables of Numerical Quantities Appendix B: Index to Notations Index and Glossary.", + annote2 = "A basic source for computational algorithms such as hashing (pp.506--568), search tree construction(pp.406--505), and some notes on disk performance evaluation (pp.361--371).", + descriptor = "Algorithmus, B-baum, Baum, Binaer-baum, Gestreute Speicherung, Hash-verfahren, Mischen, Sortieren, Speicherung, Suchen, Zugriff", +} + +@MastersThesis{Dittmer:1976:IEP, + author = "Ingo Dittmer", + title = "{Implementation eines Einschrittcompilers f{\"u}r die Progammiersprache PASCAL auf der Rechenanlage IBM\slash 360 der Universit{\"a}t M{\"u}nster}. ({English} title: Implementation of a One-Step Compiler for the Programming Language {PASCAL} on the {IBM}\slash 360 of the {University of Muenster})", + type = "Diplomearbeit", + school = "Universit{\"a}t M{\"u}nster", + address = "M{\"u}nster, Germany", + pages = "??", + month = "??", + year = "1976", + bibdate = "Sat Feb 17 13:24:29 1996", + note = "Diplomearbeit M{\"u}nster 1976 und doert angegebene Literatur (English: Muenster diploma work 1976 and the literature cited therein). The hashing method was rediscovered fourteen years later by Pearson \cite{Pearson:1990:FHV}, and then commented on by several authors \cite{Dittmer:1991:NFH,Savoy:1991:NFH,Litsios:1991:NFH,Pearson:1991:NFH}.", + acknowledgement = ack-nhfb, + xxnote = "Cannot find in Dissertation Abstracts, European.", +} + +@Book{Knuth:1992:LP, + author = "Donald E. Knuth", + title = "Literate Programming", + publisher = pub-SUCSLI, + address = pub-SUCSLI:adr, + pages = "xvi + 368", + year = "1992", + ISBN = "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)", + LCCN = "QA76.6 .K644 1992", + bibdate = "Fri Jul 22 09:08:14 1994", + note = "Distributed by the University of Chicago Press.", + price = "US\$24.95 (paperback), US\$59.95 (hardcover)", + series = "CSLI Lecture Notes Number 27", + acknowledgement = ack-nhfb, +} ++ + diff --git a/hawk/t/h-002.hawk b/hawk/t/h-002.hawk index 3f7a61ef..2e74c6cd 100644 --- a/hawk/t/h-002.hawk +++ b/hawk/t/h-002.hawk @@ -22,7 +22,7 @@ function main() ensure (foo2[1], 1, @SCRIPTNAME, @SCRIPTLINE); ensure (foo3[1], ini, @SCRIPTNAME, @SCRIPTLINE); ensure (foo4[1], ini, @SCRIPTNAME, @SCRIPTLINE); - } + } ## gsub { @@ -279,7 +279,9 @@ function main() { - @local a; + # split, str::split, str::splita + @local a, str; + ensure (split("Here===Is=Some=====Data", a, "=+"), 4, @SCRIPTNAME, @SCRIPTLINE); ensure (a[1] === "Here", 1, @SCRIPTNAME, @SCRIPTLINE); ensure (a[2] === "Is", 1, @SCRIPTNAME, @SCRIPTLINE); @@ -315,14 +317,37 @@ function main() ensure (str::splita("Here===Is=Some=====Data", a, ""), 23, @SCRIPTNAME, @SCRIPTLINE); ensure (hawk::typename(a), "array",@SCRIPTNAME, @SCRIPTLINE); - ensure (split("Here Is Some Data", a, / /), 7, @SCRIPTNAME, @SCRIPTLINE); - ensure (split("Here Is Some Data", a, " "), 4, @SCRIPTNAME, @SCRIPTLINE); + ensure (str::split("Here Is Some Data", a, / /), 7, @SCRIPTNAME, @SCRIPTLINE); + ensure (str::split("Here Is Some Data", a, " "), 4, @SCRIPTNAME, @SCRIPTLINE); ensure (a[1] === "Here", 1, @SCRIPTNAME, @SCRIPTLINE); ensure (a[2] === "Is", 1, @SCRIPTNAME, @SCRIPTLINE); ensure (a[3] === "Some", 1, @SCRIPTNAME, @SCRIPTLINE); ensure (a[4] === "Data", 1, @SCRIPTNAME, @SCRIPTLINE); + + str = "a b\t\tc d"; + ensure (str::splita(str, a, " "), 4, @SCRIPTNAME, @SCRIPTLINE); + ensure (a[1], "a", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[2], "b", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[3], "c", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[4], "d", @SCRIPTNAME, @SCRIPTLINE); + + ensure (str::splita(str, a, / /), 5, @SCRIPTNAME, @SCRIPTLINE); + ensure (a[1], "a", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[2], "", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[3], "", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[4], "b\t\tc", @SCRIPTNAME, @SCRIPTLINE); + ensure (a[5], "d", @SCRIPTNAME, @SCRIPTLINE); } + + { + ## back reference in a regular expression + ensure (("a2b" ~ /(a)\12b/), 0, @SCRIPTNAME, @SCRIPTLINE); + ensure (("aa2b" ~ /(a)\12b/), 1, @SCRIPTNAME, @SCRIPTLINE); + ensure (("aaa2b" ~ /(a)\12b/), 1, @SCRIPTNAME, @SCRIPTLINE); + } + + print "SUCCESS"; } diff --git a/hawk/t/h-003.hawk b/hawk/t/h-003.hawk new file mode 100644 index 00000000..c9881731 --- /dev/null +++ b/hawk/t/h-003.hawk @@ -0,0 +1,76 @@ +@pragma entry main +@pragma implicit off + +@include "ensure.inc"; + +function are_files_identical(a, b) +{ + @local f1, f2, x, y, diff; + + f1 = sys::open(a, sys::O_RDONLY); + if (f1 <= -1) + { + printf ("ERROR: unable to open %s\n", a); + return -1; + } + + f2 = sys::open(b, sys::O_RDONLY); + if (f2 <= -1) + { + sys::close (a); + printf ("ERROR: unable to open %s\n", b); + return -1; + } + + diff = 0; + while (sys::read(f1, x, 1) > 0) + { + if (sys::read(f2, y, 1) <= 0 || x !== y) + { + diff = 1; + break; + } + } + + if (sys::read(f2, y, 1) > 0) diff = 1; + + sys::close (f2); + sys::close (f1); + return !diff; +} + +function run_test (x, more_opts, in_name, out_name) +{ + @local cmd, inf, expf, outf, same; + + if (hawk::isnil(in_name)) in_name = x; + if (hawk::isnil(out_name)) out_name = x; + + inf = sprintf("%s/%s.in", TDIR, in_name); + expf = sprintf("%s/%s.out", TDIR, out_name); + outf = sprintf("/tmp/%s.%d.out", out_name, sys::getpid()); +##print TDIR, inf, expf, outf; + + cmd=sprintf("%s %s -f %s/%s.hawk %s > %s", ARGV[0], more_opts, TDIR, x, inf, outf); +##print cmd; + system (cmd); + + same = are_files_identical(expf, outf); + if (same <= 0) + { + ## don't delete the output file for review. + printf ("FAILURE: %s - %s and %s differ\n", x, expf, outf); + exit (1); + } + + sys::unlink (outf); +} + +function main() +{ + run_test ("journal-toc"); + run_test ("journal-toc", "-vHTML=1", "journal-toc", "journal-toc-html"); + run_test ("bibtex-to-html", "", "journal-toc", "bibtex-to-html"); + print "SUCCESS"; +} + diff --git a/hawk/t/journal-toc-html.out b/hawk/t/journal-toc-html.out new file mode 100644 index 00000000..9947ee08 --- /dev/null +++ b/hawk/t/journal-toc-html.out @@ -0,0 +1,5090 @@ + + + + + + + + ++ ACM Transactions on Mathematical Software + + + + + ++ Table of contents for issues of ACM Transactions on Mathematical Software +
+ Volume 4, Number 4, April, 1961
+ Volume 5, Number 12, December, 1962
+ Volume 6, Number 6, June, 1963
+ Volume 6, Number 12, December, 1963
+ Volume 7, Number 8, August, 1964
+ Volume 7, Number 12, December, 1964
+ Volume 8, Number 8, August, 1965
+ Volume 9, Number 5, May, 1966
+ Volume 10, Number 4, April, 1967
+ Volume 11, Number 3, March, 1968
+ Volume 12, Number 5, May, 1969
+ Volume 12, Number 9, September, 1969
+ Volume 1, Number 11, November, 1970
+ Volume 13, Number 1, January, 1970
+ Volume 13, Number 2, February, 1970
+ Volume 13, Number 3, March, 1970
+ Volume 13, Number 4, April, 1970
+ Volume 13, Number 5, May, 1970
+ Volume 13, Number 6, June, 1970
+ Volume 13, Number 7, July, 1970
+ Volume 13, Number 8, August, 1970
+ Volume 13, Number 9, September, 1970
+ Volume 13, Number 10, October, 1970
+ Volume 13, Number 11, November, 1970
+ Volume 13, Number 12, December, 1970
+ Volume 12, Number 1, January, 1971
+ Volume 14, Number 2, February, 1971
+ Volume 14, Number 3, March, 1971
+ Volume 14, Number 4, April, 1971
+ Volume 14, Number 5, May, 1971
+ Volume 14, Number 6, June, 1971
+ Volume 14, Number 7, July, 1971
+ Volume 14, Number 8, August, 1971
+ Volume 14, Number 9, September, 1971
+ Volume 14, Number 10, October, 1971
+ Volume 14, Number 11, November, 1971
+ Volume 14, Number 12, December, 1971
+ Volume 18, Number 1, January, 1971
+ Volume 5, Number 6, June, 1972
+ Volume 8, Number 9, September, 1972
+ Volume 15, Number 1, January, 1972
+ Volume 15, Number 2, February, 1972
+ Volume 15, Number 3, March, 1972
+ Volume 15, Number 4, April, 1972
+ Volume 15, Number 5, May, 1972
+ Volume 15, Number 6, June, 1972
+ Volume 15, Number 7, July, 1972
+ Volume 15, Number 8, August, 1972
+ Volume 15, Number 9, September, 1972
+ Volume 15, Number 10, October, 1972
+ Volume 15, Number 11, November, 1972
+ Volume 15, Number 12, December, 1972
+ Volume 15, Number 2, February, 1973
+ Volume 16, Number 1, January, 1973
+ Volume 16, Number 2, February, 1973
+ Volume 16, Number 3, March, 1973
+ Volume 16, Number 4, April, 1973
+ Volume 16, Number 5, May, 1973
+ Volume 16, Number 6, June, 1973
+ Volume 16, Number 7, July, 1973
+ Volume 16, Number 8, August, 1973
+ Volume 16, Number 9, September, 1973
+ Volume 16, Number 10, October, 1973
+ Volume 16, Number 11, November, 1973
+ Volume 16, Number 12, December, 1973
+ Volume 17, Number 1, January, 1974
+ Volume 17, Number 2, February, 1974
+ Volume 17, Number 3, March, 1974
+ Volume 17, Number 4, April, 1974
+ Volume 17, Number 5, May, 1974
+ Volume 17, Number 6, June, 1974
+ Volume 17, Number 7, July, 1974
+ Volume 17, Number 8, August, 1974
+ Volume 17, Number 9, September, 1974
+ Volume 17, Number 10, October, 1974
+ Volume 17, Number 11, November, 1974
+ Volume 17, Number 12, December, 1974
+ Volume 21, Number 1, January, 1974
+ Volume 6, Number 10, October, 1975
+ Volume 18, Number 1, January, 1975
+ Volume 18, Number 2, February, 1975
+ Volume 18, Number 3, March, 1975
+ Volume 18, Number 4, April, 1975
+ Volume 18, Number 5, May, 1975
+ Volume 18, Number 6, June, 1975
+ Volume 18, Number 7, July, 1975
+ Volume 18, Number 8, August, 1975
+ Volume 18, Number 9, September, 1975
+ Volume 18, Number 10, October, 1975
+ Volume 18, Number 11, November, 1975
+ Volume 18, Number 12, December, 1975
+ Volume 19, Number 1, January, 1976
+ Volume 19, Number 2, February, 1976
+ Volume 19, Number 3, March, 1976
+ Volume 19, Number 4, April, 1976
+ Volume 19, Number 5, May, 1976
+ Volume 19, Number 6, June, 1976
+ Volume 19, Number 7, July, 1976
+ Volume 19, Number 8, August, 1976
+ Volume 19, Number 9, September, 1976
+ Volume 19, Number 10, October, 1976
+ Volume 19, Number 11, November, 1976
+ Volume 19, Number 12, December, 1976
+ Volume 20, Number 1, January, 1977
+ Volume 20, Number 2, February, 1977
+ Volume 20, Number 3, March, 1977
+ Volume 20, Number 4, April, 1977
+ Volume 20, Number 5, May, 1977
+ Volume 20, Number 6, June, 1977
+ Volume 20, Number 7, July, 1977
+ Volume 20, Number 8, August, 1977
+ Volume 20, Number 9, September, 1977
+ Volume 20, Number 10, October, 1977
+ Volume 20, Number 11, November, 1977
+ Volume 20, Number 12, December, 1977
+ Volume 24, Number 1, January, 1977
+ Volume 21, Number 2, February, 1978
+ Volume 21, Number 3, March, 1978
+ Volume 21, Number 4, April, 1978
+ Volume 21, Number 5, May, 1978
+ Volume 21, Number 6, June, 1978
+ Volume 21, Number 7, July, 1978
+ Volume 21, Number 8, August, 1978
+ Volume 21, Number 9, September, 1978
+ Volume 21, Number 10, October, 1978
+ Volume 21, Number 11, November, 1978
+ Volume 21, Number 12, December, 1978
+ Volume 23, Number 4, May, 1978
+ Volume 22, Number 1, January, 1979
+ Volume 22, Number 2, February, 1979
+ Volume 22, Number 3, March, 1979
+ Volume 22, Number 4, April, 1979
+ Volume 22, Number 5, May, 1979
+ Volume 22, Number 6, June, 1979
+ Volume 22, Number 7, July, 1979
+ Volume 22, Number 8, August, 1979
+ Volume 22, Number 9, September, 1979
+ Volume 22, Number 10, October, 1979
+ Volume 22, Number 11, November, 1979
+ Volume 22, Number 12, December, 1979
+ Volume 26, Number 9, September, 1979
+ Volume 33, Number 6, June, 1990
+ Volume 33, Number 8, August, 1990
+ Volume 34, Number 11, November, 1991
+ Volume 6, Number 4, December, 1974
+ Volume 23, Number 1, January, 1976
+ Volume 19, Number , , 1972
+ Volume 6, Number 2, June, 1977
+ Volume 12, Number 1, January, 1982
+ Volume 1, Number 3, September, 1975
+ Volume 1, Number 9, September, 1975
+ Volume 2, Number 1, March, 1976
+ Volume 2, Number 2, June, 1976
+ Volume 2, Number 3, September, 1976
+ Volume 2, Number 4, December, 1976
+ Volume 3, Number 1, March, 1977
+ Volume 3, Number 2, June, 1977
+ Volume 3, Number 3, September, 1977
+ Volume 4, Number 1, March, 1978
+ Volume 4, Number 3, September, 1978
+ Volume 5, Number 2, June, 1979
+ Volume 5, Number 4, December, 1979
+ Volume 6, Number 3, September, 1980
+ Volume 7, Number 2, June, 1981
+ Volume 11, Number 4, December, 1985
+ +
+ +
+ ++ + Communications of the ACM
+
+Volume 4, Number 4, April, 1961 + ++ J. R. Herndon ACM Algorithm 49: Spherical Neumann + Function . . . . . . . . . . . . . . . . 179 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 5, Number 12, December, 1962 + ++ J. N. Merner ACM Algorithm 149: Complete Elliptic + Integral . . . . . . . . . . . . . . . . 605 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 6, Number 6, June, 1963 + ++ O. G. Ludwig ACM Algorithm 179: Incomplete Beta Ratio 314 ++ +
+ ++ + Communications of the ACM
+
+Volume 6, Number 12, December, 1963 + ++ R. H. Kase ACM Algorithm 219: Topological Ordering + for Pert Networks . . . . . . . . . . . 738--739 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 7, Number 8, August, 1964 + ++ W. Gautschi ACM Algorithm 236: Bessel Functions of + the First Kind . . . . . . . . . . . . . 479--480 ++ +
+ ++ + Communications of the ACM
+
+Volume 7, Number 12, December, 1964 + ++ J. Boothroyd ACM Algorithm 246: Graycode . . . . . . 701 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 8, Number 8, August, 1965 + ++ W. Gautschi ACM Algorithm 259: Legendre Functions + for Arguments Larger than One . . . . . 488--492 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 9, Number 5, May, 1966 + ++ W. Fletcher ACM Algorithm 284: Interchange of Two + Blocks of Data . . . . . . . . . . . . . 326 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 10, Number 4, April, 1967 + ++ I. D. Hill and + M. C. Pike ACM Algorithm 299: Chi-Squared Integral 243--244 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 11, Number 3, March, 1968 + ++ Edsger Wybe Dijkstra Go to statement considered harmful . . . 147--148 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 12, Number 5, May, 1969 + ++ ANSI Subcommittee X3J3 Clarification of Fortran Standards --- + Initial Progress . . . . . . . . . . . . 289--294 ++ +
+ ++ + Communications of the ACM
+
+Volume 12, Number 9, September, 1969 + ++ N. Wirth On Multiprogramming, Machine Coding, and + Computer Organization . . . . . . . . . 489--498 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 1, Number 11, November, 1970 + ++ V. Y. Lum Multi-Attribute Retrieval with Combined + Indexes . . . . . . . . . . . . . . . . 660--665 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 13, Number 1, January, 1970 + ++ T. C. Lowe Automatic segmentation of cyclic program + structures based on connectivity and + processor timing . . . . . . . . . . . . 3--6 + Walter Gautschi and + Bruce J. Klein Recursive computation of certain + derivatives --- A study of error + propagation . . . . . . . . . . . . . . 7--9 + A. P. Mullery and + G. C. Driscoll A processor allocation method for + time-sharing . . . . . . . . . . . . . . 10--14 + R. F. Simmons Natural Language Question-Answering + Systems: 1969 . . . . . . . . . . . . . 15--30 + E. T. Irons Experience with an extensible language 31--40 + U. Montanari A note on minimal length polygonal + approximation to a digitized contour . . 41--47 + Harald Stehfest ACM Algorithm 368: Numerical Inversion + of Laplace Transforms . . . . . . . . . 47--49 + H. E. Schaffer ACM Algorithm 369: Generator of Random + Numbers Satisfying the Poisson + Distribution . . . . . . . . . . . . . . 49--49 + E. L. Butler ACM Algorithm 370: General Random Number + Generator . . . . . . . . . . . . . . . 49--52 + J. K. S. McKay ACM Algorithm 371: Partitions in Natural + Order . . . . . . . . . . . . . . . . . 52--52 + K. B. Dunham ACM Algorithm 372: An Algorithm to + Produce Complex Primes CSIEVE . . . . . 52--54 + R. Griffin and + K. A. Redich Remark on ``Algorithm 347 [M1]: An + Efficient Algorithm for Sorting with + Minimal Storage'', by R. C. Singleton 54--54 + Anonymous Representation for calendar date for + machine-to-machine data interchange . . 55--55 + Anonymous Interchange rolls of perforated tape for + information interchange . . . . . . . . 56--56 + W. H. Payne Fortran Tausworthe pseudorandom number + generator . . . . . . . . . . . . . . . 57--57 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 2, February, 1970 + ++ David K. Hsiao and + Frank D. Harary A Formal System for Information + Retrieval from Files . . . . . . . . . . 67--73 + E. von Glaserfeld and + P. P. Pisani The multistore parser for hierarchical + syntactic structures . . . . . . . . . . 74--82 + Steven Vere Translation equations . . . . . . . . . 83--89 + H. L. Morgan Spelling correction in systems programs 90--94 + J. Earley An Efficient Context-Free Parsing + Algorithm . . . . . . . . . . . . . . . 94--102 + C. E. Radke The Use of Quadratic Residue Research 103--105 + B. Jones A Variation on Sorting by Address + Calculation . . . . . . . . . . . . . . 105--107 + James R. Bell The Quadratic Quotient Method: A Hash + Code Eliminating Secondary Clustering 107--109 + D. N. Ness and + R. S. Green and + W. A. Martin and + G. A. Moulton Computer education in a graduate school + of management . . . . . . . . . . . . . 110--114, 19 + M. F. Robbins and + J. D. Beyer An interactive computer system using + graphical flowchart input . . . . . . . 115--119 + J. S. White ACM Algorithm 373: Number of Doubly + Restricted Partitions . . . . . . . . . 120--120 + J. S. White ACM Algorithm 374: Restricted Partition + Generator . . . . . . . . . . . . . . . 120--120 + H. Späth ACM Algorithm 375: Fitting Data to One + Exponential . . . . . . . . . . . . . . 120--121 + H. Spath Fitting data to one exponential . . . . 120--121 + H. Späth ACM Algorithm 376: Least Squares Fit by + $f(x)=A\cos(Bx+C)$ . . . . . . . . . . . 121--122 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 3, March, 1970 + ++ H. L. Morgan Spelling correction in systems programs 90--94 + R. R. Fenichel and + J. Weizenbaum and + J. C. Yochelson A Program to Teach Programming . . . . . 141--146 + J. R. Slagle and + J. K. Dixon Experiments with the M & N Tree-Searching + Program . . . . . . . . . . . . . . . . 147--154, 159 + A. Batson and + Shy-Ming M. Ju and + D. C. Wood Measurements of Segment Size . . . . . . 155--159 + G. A. Watson On an Algorithm for Nonlinear Minimax + Approximation . . . . . . . . . . . . . 160--162 + D. G. Schweikert A Comparison of Error Improvement + Estimates for Adaptive Trapezoid + Integration . . . . . . . . . . . . . . 163--166 + Robert M. Schwarcz and + John F. Burger and + Robert F. Simmons A Deductive Question Answerer for + Natural Language Inference . . . . . . . 167--183 + A. F. Cardenas and + W. J. Karplus PDEL, a Language for Partial + Differential Equations . . . . . . . . . 184--191 (or 184--190??) + M. J. Levine and + S. M. Swanson ACM Algorithm 377: Symbolic Expansion of + Algebraic Expressions . . . . . . . . . 191--192 + M. V. Kailas Another method of converting from + hexadecimal to decimal . . . . . . . . . 193--193 + D. Pager A number system for the permutations . . 193--193 + J. R. H. Dempster Comment on a Paging Anomaly . . . . . . 193--194 + H. A. Maurer A Note on the Complement of Inherently + Ambiguous Context-Free Languages . . . . 194--194 + D. K. Hsiao and + F. D. Harary Corrigenda: ``A Formal System for + Information Retrieval from Files'' . . . 266--266 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 4, April, 1970 + ++ A. J. DeSalvio and + J. G. Purdy and + J. Rau Creation and Control of Internal Data + Bases Under a Fortran Programming + Environment . . . . . . . . . . . . . . 211--215 + H. D. Mills Syntax-Directed Documentation for PL360 216--222 + Rudolf Bayer and + Christoph Witzgall Some Complete Calculi for Matrices . . . 223--237 + P. Brinch Hansen The Nucleus of a Multiprogramming System 238--241, 250 + C. M. Eastman Representations for Space Planning . . . 242--250 + J. E. Pomeranz and + R. L. Weil, Jr. The cyclical majority problem . . . . . 251--254 + E. N. Nilson Cubic Splines on Uniform Meshes . . . . 255--258 + W. Pankiewicz ACM Algorithm 378: Discretized + Newton-like Method for Solving a System + of Simultaneous Nonlinear Equations . . 259--260 + J. N. Lyness ACM Algorithm 379: SQUANK (Simpson + Quadrature Used Adaptively-Noise Killed) 260--263 (or 260--262??) + W. F. Heess, Jr. Comments on a paper by Wallace and Mason 264--265 + J. L. Smith Comment on multiprogramming under a page + on demand strategy . . . . . . . . . . . 265--265 + Ronald C. de Vries Comment on Lawler's Multilevel Boolean + minimization . . . . . . . . . . . . . . 265--266 + K. R. Knight An Algol construction for procedures as + parameters of procedures . . . . . . . . 266--266 + N. Wirth Corrigenda: ``On Multiprogramming, + Machine Coding, and Computer + Organization'' . . . . . . . . . . . . . 266--266 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 5, May, 1970 + ++ L. Hodes Programming System for the On-Line + Analysis of Biomedical Images . . . . . 279--283, 286 + G. A. Sitton Operations on Generalized Arrays with + the Genie Compiler . . . . . . . . . . . 284--286 + S. Vere Translation Equations (Errata) . . . . . 286--286 + W. E. Sasser and + D. S. Burdick and + D. A. Graham and + T. H. Naylor Application of Sequential Sampling to + Simulation. an Example Inventory Model 287--296 + J. Loeckx Algorithm for the Construction of + Bounded-Context Parsers . . . . . . . . 297--307 + John C. Reynolds GEDANKEN --- A Simple Typeless Language + Based on the Principle of Completeness + and the Reference Concept . . . . . . . 308--319 + S. Crespi-Reghizzi and + R. Morpurgo A language for treating graphs . . . . . 319--323 + S. Laflin and + M. A. Brebner ACM Algorithm 380: In-situ Transposition + of a Rectangular Matrix . . . . . . . . 324--326 (or 324--325??) + R. E. Knop ACM Algorithm 381: Random Vectors + Uniform In Solid Angle . . . . . . . . . 326--326 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 6, June, 1970 + ++ H. A. Elder On the Feasibility of Voice Input to an + On-Line Computer Processing System . . . 339--346 + C. R. Muthukrishnan and + V. Rajaraman On the Conversion of Decision Tables to + Computer Programs . . . . . . . . . . . 347--351 + J. E. Grimes Scheduling to Reduce Conflict in + Meetings . . . . . . . . . . . . . . . . 351--352 + D. G. Frantz A PL\slash 1 program to assist the + comparative linguist . . . . . . . . . . 353--356 + F. J. Damerau Automatic Parsing for Content Analysis 356--360 + Peter Linz Accurate Floating-Point Summation . . . 361--362 + K. E. Hillstrom Comparison of Several Adaptive + Newton-Cotes Quadrature Routines in + Evaluating Definite Integrals with + Peaked Integrands . . . . . . . . . . . 362--365 + G. W. Stewart Incorporating Origin Shifts into the QR + Algorithm for Symmetric Tridiagonal + Matrices . . . . . . . . . . . . . . . . 365--367 + P. J. Chase ACM Algorithm 382: Combinations of ${M}$ + Out of ${N}$ Objects . . . . . . . . . . 368--368 + P. J. Chase ACM Algorithm 383: Permutations of a Set + with Repetitions . . . . . . . . . . . . 368--369 + G. W. Stewart ACM Algorithm 384: Eigenvalues and + Eigenvectors of a Real Symmetric Matrix + [F2] . . . . . . . . . . . . . . . . . . 369--371 + R. L. London Certification of Algorithm 245 (M1) + Treesort 3: Proof of Algorithms --- A + New Kind of Certification . . . . . . . 371--374 + J. P. Chandler and + W. C. Harrison R201--SHELLSORT . . . . . . . . . . . . 373--374 + E. F. Codd A Relational Model of Data for Large + Shared Data Banks . . . . . . . . . . . 377--387 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 7, July, 1970 + ++ C. A. Grant An interactive command generating + facility . . . . . . . . . . . . . . . . 403--406 + M. A. Wilkes Conversational Access to a 2048-Word + Machine . . . . . . . . . . . . . . . . 407--414 + W. M. Waite The mobile programming system: STAGE 2 415--421 + Burton H. Bloom Space/Time Trade-offs in Hash Coding + with Allowable Errors . . . . . . . . . 422--426 + E. G. Coffman, Jr. and + J. Eve File Structures Using Hashing Functions 427--432, 436 + Gordon H. Bradley Algorithm and Bound for the Greatest + Common Divisor of $n$ Integers . . . . . 433--436 + W. A. Woods Context-Sensitive Parsing . . . . . . . 437--445 + K. A. Paciorek ACM Algorithm 385: Exponential Integral + ${E}_i(x)$ . . . . . . . . . . . . . . . 446--447 + G. H. Bradley ACM Algorithm 386: Greatest Common + Divisor of $n$ Integers and Multipliers 447--448 + K. Sattley and + R. Millstein Comments on a paper by Lowe . . . . . . 450--451 + H. D. Baecker A note on data base deadlocks . . . . . 451--451 + J. E. Pomeranz Note on an Anomaly in Paging . . . . . . 451--451 + B. R. Hunt A Comment on Axiomatic Approaches to + Programming . . . . . . . . . . . . . . 452--452 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 8, August, 1970 + ++ N. R. Nielsen Allocation of Computer Resources. is + Pricing the Answer . . . . . . . . . . . 467--474 + G. Nagy and + N. Tuong Normalization Techniques for Handprinted + Numerals . . . . . . . . . . . . . . . . 475--481 + A. C. Day Full Table Quadratic Searching for + Scatter Storage . . . . . . . . . . . . 481--482 + B. S. Brawn and + F. G. Gustavson and + E. S. Mankin Sorting in a Paging Environment . . . . 483--494 + J. H. Saltzer and + J. W. Gintell The instrumentation of Multics . . . . . 495--500 + J. D. Ichbiah and + S. P. Morse A technique for generating almost + optimal Floyd-Evans productions for + precedence grammars . . . . . . . . . . 501--508 + K. Fielding ACM Algorithm 387: Function Minimization + and Linear Search . . . . . . . . . . . 509--510 + H. Hübner and + H. Kremer and + K. O. Linn and + W. Schwering ACM Algorithm 388: Rademacher Function 510--511 + H. Hübner and + H. Kremer and + K. O. Linn and + W. Schwering ACM Algorithm 389: Binary Ordered Walsh + Functions . . . . . . . . . . . . . . . 511--511 + H. Hübner and + H. Kremer and + K. O. Linn and + W. Schwering ACM Algorithm 390: Sequency Ordered + Walsh Functions . . . . . . . . . . . . 511--512 (or 511--511??) + J. McKay ACM Algorithm 391: Unitary Symmetric + Polynomials . . . . . . . . . . . . . . 512--512 + Anonymous Identification of States of the United + States (including the District of + Columbia) for information interchange 514--515 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 9, September, 1970 + ++ W. Jack Bouknight A Procedure for Generation of + Three-Dimensional Half-Toned Computer + Graphics Presentations . . . . . . . . . 527--536 + G. Bracchi and + M. Somalvico Interactive Software System for + Computer-Aided Design. an Application to + Circuit Project . . . . . . . . . . . . 537--545 + I. Hirschsohn AMESPLOT, a Higher Level Data Plotting + Software System . . . . . . . . . . . . 546--555 + Cleve B. Moler and + Louis P. Solomon Integrating Square Roots . . . . . . . . 556--557 + G. W. Kimble A Variation of the Goodman-Lance Method + for the Solution of Two-Point Boundary + Value Problems . . . . . . . . . . . . . 557--558 + M. Wayne Wilson Optimal Starting Approximations for + Generating Square Root for Slow or No + Divide . . . . . . . . . . . . . . . . . 559--561 (or 559--560??) + L. W. Ehrlich Complex Matrix Inversion Versus Real . . 561--562 + M. H. van Emden Increasing the Efficiency of Quicksort 563--567 (or 563--566??) + Robert R. Smith and + Dennis McCall ACM Algorithm 392: Systems of Hyperbolic + P.D.E. . . . . . . . . . . . . . . . . . 567--570 + S. K. Abdali ACM Algorithm 393: Special Series + Summation with Arbitrary Precision . . . 570--570 + R. B. Dial ACM Algorithm 394: Decision Table + Translation . . . . . . . . . . . . . . 571--573 (or 571--572??) + Leslie Lamport and + J. R. Bell Comment on Bell's Quadratic Quotient + Method for Hash Code Searching . . . . . 573--574 + Z. Bavel On the Number of Automorphisms of a + Singly Generated Automaton . . . . . . . 574--575 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 10, October, 1970 + ++ W. A. Woods Transition Network Grammars for Natural + Language Analysis . . . . . . . . . . . 591--606 + J. Earley and + H. Sturgis A formalism for translator interactions 607--617 + G. W. Hill ACM Algorithm 395: Student's + $t$-Distribution . . . . . . . . . . . . 617--619 + G. W. Hill ACM Algorithm 396: Student's + $t$-Quantiles . . . . . . . . . . . . . 619--620 + S. K. Chang and + A. Gill ACM Algorithm 397: An Integer + Programming Problem . . . . . . . . . . 620--621 + R. A. Stone ACM Algorithm 398: Tableless Date + Conversion . . . . . . . . . . . . . . . 621--621 + J. J. Seppänen ACM Algorithm 399: Spanning Tree . . . . 621--622 + G. C. Wallick ACM Algorithm 400: Modified Havie + Integration . . . . . . . . . . . . . . 622--624 + R. Peto Remark on ``Algorithm 347 [M1]: An + Efficient Algorithm for Sorting with + Minimal Storage'' . . . . . . . . . . . 624 + L. B. Smith The use of interactive graphics to solve + numerical problems . . . . . . . . . . . 625--634 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 11, November, 1970 + ++ P. LaFata and + J. B. Rosen An interactive display for approximation + by linear programming . . . . . . . . . 651--659 + V. Y. Lum Multi-attribute retrieval with combined + indexes . . . . . . . . . . . . . . . . 660--665 + C. J. Mifsud A multiple-precision division algorithm 666--668 + K. Conrow and + R. G. Smith NEATER2: A PL/I Source Statement + Reformatter . . . . . . . . . . . . . . 669--675 + James R. Bell and + Charles H. Kaman The Linear Quotient Hash Code . . . . . 675--677 + C. J. Cheney A Nonrecursive List Compacting Algorithm 677--678 + Anonymous Proposed American National Standard. + Recorded magnetic tape for information + interchange (1600 CPI, phase encoded) 679--685 + Anonymous Proposed American National Standard. + Unrecorded magnetic tape for information + interchange (9 track-200 and 800 CPI, + NRZI and 1600 CPI, P.E.) . . . . . . . . 686--692 + P. Bratley ACM Algorithm 401: An Improved Algorithm + to Produce Complex Primes . . . . . . . 693--693 + M. H. van Emden ACM Algorithm 402: Increasing the + Efficiency of Quicksort . . . . . . . . 693--694 + W. J. Wilson A generalized method for generating + argument/function values . . . . . . . . 696--697 + J. R. Ehrman Correction to 'logical' arithmetic on + computers with two's complement binary + arithmetic . . . . . . . . . . . . . . . 697--698 + A. Bernstein Comment on the working set model for + program behavior . . . . . . . . . . . . 698--699 + J. Rokne Condition numbers of Pei matrices . . . 699--699 ++ +
+ ++ + Communications of the ACM
+
+Volume 13, Number 12, December, 1970 + ++ M. V. Mathews and + F. R. Moore GROOVE-A program to compose, store, and + edit functions of time . . . . . . . . . 715--721 + James C. Tiernan An Efficient Search Algorithm to Find + the Elementary Circuits of a Graph . . . 722--726 + C. Betourne and + J. Boulenger and + J. Ferrie and + C. Kaiser and + S. Krakowiak and + J. Mossiere Process management and resource sharing + in the multiaccess system ESOPE . . . . 727--733 + H. L. Morgan An interrupt based organization for + management information systems . . . . . 734--739 + R. J. Thompson Improving round-off in Runge-Kutta + computations with Gill's method . . . . 739--740 + S. C. Shapiro The list set generator: a construct for + evaluating set expressions . . . . . . . 741--744 + N. A. Black Optimum Merging from Mass Storage . . . 745--749 + G. W. Stewart Errata: ACM Algorithm 384: Eigenvalues + and Eigenvectors of a Real Symmetric + Matrix [F2] . . . . . . . . . . . . . . 750--750 + E. A. Fuchs and + P. E. Jackson Estimates of Distributions of Random + Variables for Certain Computer + Communications Traffic Models . . . . . 752--757 + C. C. Pinter On decomposing a Boolean function and + simplifying the components separately 758--758 + W. J. Raduchel Efficient handling of binary data . . . 758--759 + Robert A. Wagner Finiteness Assumptions and Intellectual + Isolation of Computer Scientists . . . . 759--760 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 12, Number 1, January, 1971 + ++ E. Lowry and + C. W. Medlock Object Code Optimization . . . . . . . . 13--22 + Carl Hammer Signature Simulation and Certain + Cryptographic Codes . . . . . . . . . . 3--14 + A. Klinger Pattern width at a given angle . . . . . 15--20 + Shi-Kuo Chang The Reconstruction of Binary Patterns + from Their Projections . . . . . . . . . 21--25 + G. Bracchi and + D. Ferrari Language for Treating Geometric Patterns + in a Two-Dimensional Space . . . . . . . 26--32 + R. A. Broucke Construction of rational and negative + powers of a formal series . . . . . . . 32--35 + R. C. Holt Comments on Prevention of System + Deadlocks . . . . . . . . . . . . . . . 36--38 + C. A. R. Hoare Proof of a Program: FIND . . . . . . . . 39--45 + L. G. Proll Further evidence for the analysis of + algorithms for the zero-one programming + problem . . . . . . . . . . . . . . . . 46--47 + M. W. Coleman and + M. S. Taylor ACM Algorithm 403: Circular Integer + Partitioning . . . . . . . . . . . . . . 48--48 + C. W. Lucas, Jr. and + C. W. Terrill ACM Algorithm 404: Complex Gamma + Function . . . . . . . . . . . . . . . . 48--49 (or 48--48??) + K. A. Redish Comment on London's Certification of + Algorithm 245 . . . . . . . . . . . . . 50--51 + S. L. Pollack Comment on the conversion of decision + tables to computer programs . . . . . . 52--52 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 14, Number 2, February, 1971 + ++ K. Schwayder Conversion of Limited-Entry Decision + Tables to Computer Programs. a Proposed + Modification to Pollack's Algorithm . . 69--73 + K. Shwayder Conversion of limited-entry decision + tables to computer programs-a proposed + modification to Pollack's algorithm . . 69--73 + A. J. Bernstein and + J. C. Sharp A policy-driven scheduler for a + time-sharing system . . . . . . . . . . 74--78 + N. R. Nielsen An analysis of some time-sharing + techniques . . . . . . . . . . . . . . . 79--90 + J. R. Slagle and + C. D. Farrell Experiments in Automatic Learning for a + Multipurpose Heuristic Program . . . . . 91--99 (or 91--98??) + H. Hurwitz, Jr. On the Probability Distribution of the + Values of Binary Trees . . . . . . . . . 99--102 + J. R. Slagle and + R. C. T. Lee Application of Game Tree Searching + Techniques to Sequential Pattern + Recognition . . . . . . . . . . . . . . 103--110 + J. Rokne and + P. Lancaster Complex Interval Arithmetic . . . . . . 111--112 + A. M. Dell and + R. L. Weil and + G. L. Thompson ACM Algorithm 405: Roots of Matrix + Pencils: The Generalized Eigenvalue + Problem . . . . . . . . . . . . . . . . 113--117 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 3, March, 1971 + ++ A. M. Noll Scanned-Display Computer Graphics . . . 143--150 + Z. Manna and + R. J. Waldinger Toward Automatic Program Synthesis . . . 151--165 + W. K. Winters Scheduling Algorithm for a Computer + Assisted Registration System . . . . . . 166--171 + J. G. Williams Storage Utilization in a Memory + Hierarchy When Storage Assignment is + Performed by a Hashing Algorithm . . . . 172--175 + C. W. Gear The Automatic Integration of Ordinary + Differential Equations . . . . . . . . . 176--179 + J. A. Howell ACM Algorithm 406: Exact Solution of + Linear Equations Using Residue + Arithmetic . . . . . . . . . . . . . . . 180--184 + C. W. Gear ACM Algorithm 407: DIFSUB for Solution + of Ordinary Differential Equations . . . 185--190 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 4, April, 1971 + ++ N. Wirth Program Development by Stepwise + Refinement . . . . . . . . . . . . . . . 221--227 + V. Y. Lum and + P. S. T. Yuen and + M. Dodd Key-to-Address Transform Techniques: A + Fundamental Performance Study on Large + Existing Formatted Files . . . . . . . . 228--239 + A. B. Tucker and + M. J. Flynn Dynamic Microprogramming. Processor + Organization and Programming . . . . . . 240--250 + P. A. Talbot and + J. W. Carr and + R. R. Coulter, Jr. and + R. C. Hwang Animator: an on-line two-dimensional + film animation system . . . . . . . . . 251--259 + M. L. Stein and + W. D. Munro On Complement Division . . . . . . . . . 260--264 + J. M. McNamee ACM Algorithm 408: A Sparse Matrix + Package (Part I) . . . . . . . . . . . . 265--273 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 5, May, 1971 + ++ T. William Olle (Chairman) and + Codasyl Systems Committee Introduction to `Feature analysis of + generalized data base management + systems' . . . . . . . . . . . . . . . . 308--318 + N. R. Nielsen The merit of regional computing networks 319--326 + P. Krolak and + W. Felts and + G. Marble A Man-Machine Approach Toward Solving + the Traveling Salesman Problem . . . . . 327--334 + Ugo Montanari On the optimal detection of curves in + noisy pictures . . . . . . . . . . . . . 335--345 + D. L. Richards How to Keep the Addresses Short . . . . 346--349 + R. R. Fenichel On Implementation of Label Variables . . 349--350 + James H. Morris, Jr. Another Recursion Induction Principle 351--354 + H. Schmitt ACM Algorithm 409: Discrete Chebychev + Curve Fit . . . . . . . . . . . . . . . 355--356 + J. M. Chambers ACM Algorithm 410: Partial Sorting [M1] 357--358 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 6, June, 1971 + ++ Kazuaki Harada Generation of rosary permutations + expressed in Hamiltonian circuits . . . 373--379 + J. D. Foley An approach to the optimum design of + computer graphics systems . . . . . . . 380--390 + S. Amarel Computer Science: A Conceptual Framework + for Curriculum Planning . . . . . . . . 391--401 + W. E. Bosarge, Jr. and + O. G. Johnson Numerical properties of the Ritz-Trefftz + algorithm for optimal control . . . . . 402--406 + H. Tim Gladwin A Note on Compiling Fixed Point Binary + Multiplications . . . . . . . . . . . . 407--408 + A. G. Fraser On the Meaning of Names in Programming + Systems . . . . . . . . . . . . . . . . 409--416 + R. J. Walker Binary summation . . . . . . . . . . . . 417--417 + M. Zelkowitz Interrupt driven programming . . . . . . 417--418 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 7, July, 1971 + ++ J. L. McKenney and + F. M. Tonge The State of Computer-Oriented Curricula + in Business Schools 1970 . . . . . . . . 443--448 + A. J. Bernstein A programmer training project . . . . . 449--452 + Franklin L. DeRemer Simple LR(k) grammars . . . . . . . . . 453--460 + Terrence W. Pratt and + Daniel P. Friedman A Language Extension for Graph + Processing, and Its Formal Semantics . . 460--467 (or 461--467??) + Keith Paton An algorithm for the blocks and cut + nodes of a graph . . . . . . . . . . . . 468--475 + D. E. Ferguson Buffer Allocation in Merge-Sorting . . . 476--478 + C. V. Ramamoorthy and + M. J. Gonzalez Subexpression ordering in the execution + of arithmetic expressions . . . . . . . 479--485 + D. G. McVitie and + L. B. Wilson The Stable Marriage Problem . . . . . . 486--490 + D. G. McVitie and + L. B. Wilson ACM Algorithm 411: Three Procedures for + the Stable Marriage Problem . . . . . . 491--492 + J. \vCerm\'ak ACM Algorithm 412: Graph Plotter . . . . 492--493 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 8, August, 1971 + ++ Anonymous Papers from the 2nd symposium on + symbolic and algebraic manipulation . . ?? + Anthony C. Hearn Applications of Symbolic Manipulation in + Theoretical Physics . . . . . . . . . . 511--516 + A. D. Hall, Jr. The Altran system for rational function + manipulation --- a survey . . . . . . . 517--521 + Robert R. Fenichel List Tracing in Systems Allowing + Multiple Cell Types . . . . . . . . . . 522--526 + J. Moses Algebraic Simplification: A Guide for + the Perplexed . . . . . . . . . . . . . 527--537 + W. H. Jefferys Automatic algebraic manipulation in + celestial mechanics . . . . . . . . . . 538--541 + D. Barton and + J. P. Fitch General relativity and the application + of algebraic manipulative systems . . . 542--547 + Joel Moses Symbolic Integration: The Stormy Decade 548--560 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 9, September, 1971 + ++ Daniel Teichroew Education Related to the Use of + Computers in Organizations . . . . . . . 573--588 + Sadahiro Isoda and + Eiichi Goto and + Izumi Kimura An Efficient Bit Table Technique for + Dynamic Storage Allocation of $2^n$-word + Blocks . . . . . . . . . . . . . . . . . 589--592 + Keith Paton Corrigendum: ``An algorithm for the + blocks and cutnodes of a graph'' . . . . 592--592 + Eugene Wong and + T. C. Chiang Canonical Structure in Attribute Based + File Organization . . . . . . . . . . . 593--597 + David L. Phillips A note on best one-sided approximations 598--600 + W. Liniger A stopping criterion for the + Newton-Raphson method in implicit + multistep integration algorithms for + nonlinear systems of ordinary + differential equations . . . . . . . . . 600--601 + Ivan Flores and + George Madpis Average Binary Search Length for Dense + Ordered Lists . . . . . . . . . . . . . 602--603 + R. R. Fenichel Comment on Cheney's List-Compaction + Algorithm . . . . . . . . . . . . . . . 603--604 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 10, October, 1971 + ++ Jay Earley Toward an Understanding of Data + Structures . . . . . . . . . . . . . . . 617--627 + ANSI Subcommittee X3J3 Clarification of Fortran Standards --- + Second Report . . . . . . . . . . . . . 628--642 + A. E. Oldehoeft and + S. D. Conte Experiments with an automated + instructional system for numerical + methods . . . . . . . . . . . . . . . . 643--650 + W. M. Newman Display procedures . . . . . . . . . . . 651--660 + A. G. Nemeth and + P. D. Rovner User program measurement in a + time-shared environment . . . . . . . . 661--666 + P. J. Courtois and + F. Heymans and + D. L. Parnas Concurrent Control with `Readers' and + `Writers' . . . . . . . . . . . . . . . 667--668 + J. N. Lyness and + G. Sande ACM Algorithm 413: ENTCAF and ENTCRE: + Evaluation of Normalized Taylor + Coefficients of an Analytic Function + (C5) . . . . . . . . . . . . . . . . . . 669--675 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 11, November, 1971 + ++ P. Branquart and + J. Lewi and + M. Sintzoff and + P. L. Wodon The composition of semantics in Algol 68 697--708 + J. W. Hamblen Using computers in higher education: + past recommendations, status, and needs 709--712 + D. L. Shell Optimizing the Polyphase Sort . . . . . 713--719 + I. Aramaki and + T. Kawabata and + K. Arimoto Automation of etching-pattern layout . . 720--730 + Michael A. Malcolm On Accurate Floating-Point Summation . . 731--736 + G. H. Golub and + L. B. Smith ACM Algorithm 414: Chebyshev + Approximation of Continuous Functions by + a Chebyshev System of Functions . . . . 737--746 ++ +
+ ++ + Communications of the ACM
+
+Volume 14, Number 12, December, 1971 + ++ R. Gordon and + G. T. Herman Reconstruction of Pictures from Their + Projections . . . . . . . . . . . . . . 759--768 + E. L. Amidon and + G. S. Akin Algorithmic Selection of the Best Method + for Compressing Map Data Strings . . . . 769--774 + James K. Mullin Retrieval-Update Speed Trade-offs Using + Combined Indexes . . . . . . . . . . . . 775--776 + M. C. Harrison Implementation of the Substring Test by + Hashing . . . . . . . . . . . . . . . . 777--779 + W. A. Wulf and + D. B. Russell and + A. N. Habermann BLISS: A language for systems + programming . . . . . . . . . . . . . . 780--790 + A. Rochfeld New LISP Techniques for a Paging + Environment . . . . . . . . . . . . . . 791--795 + J. W. Blumberg and + C. R. Foulk A note on `a modification of Nordsieck's + method using an ``off-step'' point' . . 796--796 + Sven-Åke A. Gustafson Rapid Computation of General + Interpolation Formulas and Mechanical + Quadrature Rules . . . . . . . . . . . . 797--801 + François Bourgeois and + Jean-Claude Lassalle An extension of the Munkres algorithm + for the assignment problem to + rectangular matrices . . . . . . . . . . 802--804 + F. Bourgeois and + J. C. Lassalle ACM Algorithm 415: Algorithm for the + Assignment Problem (Rectangular + Matrices) . . . . . . . . . . . . . . . 805--806 + Sven-Åke Gustafson ACM Algorithm 416: Rapid Computation of + Coefficients of Interpolation Formulas + [E1] . . . . . . . . . . . . . . . . . . 806--807 + Sven-Åke Gustafson ACM Algorithm 417: Rapid Computation of + Weights of Interpolatory Quadrature + Rules [D1] . . . . . . . . . . . . . . . 807--807 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 18, Number 1, January, 1971 + ++ A. V. Aho and + P. J. Denning and + J. D. Ullman Principles of optimal page replacement 80--93 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 5, Number 6, June, 1972 + ++ S. C. Johnson and + B. W. Kernighan Remark on ``CACM Algorithm 397'' . . . . 469 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 8, Number 9, September, 1972 + ++ R. H. Bartels and + G. W. Stewart Algorithm 432: The Solution of the + Matrix Equation $AX -+BX = C$ . . . . . 820--826 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 15, Number 1, January, 1972 + ++ A. M. Lesk Pictorial pattern recognition and the + phase problem of X-ray crystallography 3--6 + S. Levialdi On Shrinking Binary Picture Patterns . . 7--10 + R. O. Duda and + P. E. Hart Use of the Hough transformation to + detect lines and curves in pictures . . 11--15 + E. T. Irons and + F. M. Djorup A CRT editing system . . . . . . . . . . 16--20 + T. A. Dwyer Teacher/student authored CAI using the + NEWBASIC system . . . . . . . . . . . . 21--28 + Donald L. Shell Corrigendum: ``Optimizing the Polyphase + Sort'' . . . . . . . . . . . . . . . . . 28--28 + G. I. McCalla and + J. R. Sampson MUSE: A Model to Understand Simple + English . . . . . . . . . . . . . . . . 29--40 + R. I. Shrager Quadratic programming for nonlinear + regression . . . . . . . . . . . . . . . 41--45 + H. E. Salzer Ordering + +or-f(+or-f(+or-f(\ldots+or-f(x)\ldots))) when f(x) is positive monotonic 45--46 + B. Einarsson ACM Algorithm 418: Calculation of + Fourier Integrals . . . . . . . . . . . 47--48 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 2, February, 1972 + ++ David Pager A Proposal for a Computer-Based + Interactive Scientific Community . . . . 71--75 + C. M. Eastman Preliminary report on a system for + general space planning . . . . . . . . . 76--87 + W. A. Martin and + D. N. Ness Optimizing Binary Trees Grown with a + Storing Algorithm . . . . . . . . . . . 88--93 + A. E. Oldehoeft and + M. H. Halstead Maximum computing power and cost factors + in the centralization problem . . . . . 94--96 + M. A. Jenkins and + J. F. Traub ACM Algorithm 419: Zeros of a Complex + Polynomial . . . . . . . . . . . . . . . 97--99 + H. Williamson ACM Algorithm 420: Hidden-Line Plotting + Program . . . . . . . . . . . . . . . . 100--103 + J. A. Moorer Music and computer composition . . . . . 104--113 + Ivan Flores and + George Madpis Corrigendum: ``Average Binary Search + Length for Dense Ordered Lists'' . . . . 113--113 + Richard Gordon and + Gabor T. Herman Corrigendum: ``Reconstruction of + Pictures from Their Projections'' . . . 113--113 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 3, March, 1972 + ++ Anonymous Papers from the 3rd ACM symposium on + operating systems principles . . . . . . ?? + D. G. Bobrow and + J. D. Burchfiel and + D. L. Murphy and + R. S. Tomlinson TENEX, A Paged Time-Sharing System for + the PDP-10 . . . . . . . . . . . . . . . 135--143 + B. H. Liskov The Design of the Venus Operating System 144--149 + R. Stockton Gains An operating system based on the concept + of a supervisory computer . . . . . . . 150--156 + Michael D. Schroeder and + Jerome H. Saltzer A Hardware Architecture for Implementing + Protection Rings . . . . . . . . . . . . 157--170 + A. Nico Habermann Synchronization of Communicating + Processes . . . . . . . . . . . . . . . 171--176 + Toby J. Teorey and + Tad B. Pinkerton A Comparative Analysis of Disk + Scheduling Policies . . . . . . . . . . 177--184 + E. G. Coffman, Jr. and + T. A. Ryan, Jr. A study of storage partitioning using a + mathematical model of locality . . . . . 185--190 + Peter J. Denning and + Stuart C. Schwartz Properties of the working-set model . . 191--198 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 4, April, 1972 + ++ R. W. Conway and + W. L. Maxwell and + H. L. Morgan On the Implementation of Security + Measures in Information Systems . . . . 211--220 + D. C. Walden A system for interprocess communication + in a resource sharing computer network 221--230 + N. M. Herbst and + P. M. Will An experimental laboratory for pattern + recognition and signal processing . . . 231--244 + Yutaka Matsushita Hidden lines elimination for a rotating + object . . . . . . . . . . . . . . . . . 245--252 + S. M. Chase An implemented graph algorithm for + winning Shannon Switching Games . . . . 253--256 + E. Horowitz and + H. L. Morgan and + A. C. Shaw Computers and Society: A Proposed Course + for Computer Scientists . . . . . . . . 257--261 + H. Kuki Complex gamma function with error + control . . . . . . . . . . . . . . . . 262--267 + C. B. Moler Matrix Computations with Fortran and + Paging . . . . . . . . . . . . . . . . . 268--270 + Hirondo Kuki ACM Algorithm 421: Complex Gamma + Function with Error Control . . . . . . 271--272 + V. K. M. Whitney ACM Algorithm 422: Minimal Spanning Tree 273--274 + C. B. Moler ACM Algorithm 423: Linear Equation + Solver . . . . . . . . . . . . . . . . . 274--274 + D. C. Walden A Note on Cheney's Nonrecursive + List-Compacting Algorithm . . . . . . . 275--275 + T. C. Hu A Comment on the Double-Chained Tree . . 276--276 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 5, May, 1972 + ++ James K. Mullin An Improved Indexed-Sequential Access + Method Using Hashed Overflow . . . . . . 301--307 + A. Bensoussan and + C. T. Clingen and + R. C. Daley The Multics Virtual Memory: Concepts and + Design . . . . . . . . . . . . . . . . . 308--318 + R. D. Christman MUX, a simple approach to on-line + computing . . . . . . . . . . . . . . . 319--329 + David L. Parnas A technique for software module + specification with examples . . . . . . 330--336 + W. Morven Gentleman Implementing Clenshaw-Curtis quadrature. + I. Methodology and experience . . . . . 337--342 + W. Morvin Gentleman Implementing Clenshaw-Curtis quadrature. + II. Computing the cosine transformation 343--346 + D. Greenspan and + D. Schultz Fast finite-difference solution of + biharmonic problems . . . . . . . . . . 347--350 + C. B. Dunham Minimax nonlinear approximation by + approximation on subsets . . . . . . . . 351--351 + Richard Harter The Optimality of Winograd's Formula . . 352--352 + W. M. Gentleman ACM Algorithm 424: Clenshaw-Curtis + Quadrature . . . . . . . . . . . . . . . 353--355 + R. L. Hurst and + R. E. Knop ACM Algorithm 425: Generation of Random + Correlated Normal Variables . . . . . . 355--357 + C. Bron ACM Algorithm 426: Merge Sort Algorithm 357--358 + P. Linz ACM Algorithm 427: Fourier Cosine + Integral . . . . . . . . . . . . . . . . 358--360 + J. M. Yohe ACM Algorithm 428: Hu-Tucker Minimum + Redundancy Alphabetic Coding Method . . 360--362 + R. L. Ashenhurst A report of the ACM curriculum committee + on computer education for management. + Curriculum recommendations for graduate + professional programs in information + systems . . . . . . . . . . . . . . . . 363--398 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 6, June, 1972 + ++ J. Blatny and + S. R. Clark and + T. A. Rourke On the optimization of performance of + time-sharing systems by simulation . . . 411--420 + T. R. Spacek A proposal to establish a pseudo virtual + memory via writable overlays . . . . . . 421--426 + P. Gilbert and + W. J. Chandler Interference between Communicating + Parallel Processes . . . . . . . . . . . 427--437 + J. F. Gimpel Blocks-a new datatype for SNOBOL 4 . . . 438--447 + David F. Martin A Boolean matrix method for the + computation of linear precedence + functions . . . . . . . . . . . . . . . 448--454 + Robert T. O'Reagan Computer Assigned Codes from Verbal + Responses . . . . . . . . . . . . . . . 455--459 + K. Iguchi A starting method for solving nonlinear + Volterra integral equations of the + second kind . . . . . . . . . . . . . . 460--461 + I. Pohl A Sorting Problem and Its Complexity . . 462--464 + K. S. Kolbig Certification of algorithm 363 (complex + error function) . . . . . . . . . . . . 465--466 + H. Niessner Remark on algorithm 343 (Eigenvalues and + eigenvectors of a real general matrix) 466--466 + L. G. Proll Remark on ``ACM Algorithm 370 (General + random number generator) [G5]'' . . . . 467--468 + G. F. Schrack Remark on algorithm 381 (Random vectors + uniform in solid angle) . . . . . . . . 468--468 + A. H. J. Sale Remark on algorithm 393 (Special series + summation with arbitrary precision) . . 468--469 + B. Einarsson Remark on algorithm 418 (Calculation of + Fourier integrals) . . . . . . . . . . . 469--469 + S. C. Johnson and + B. W. Kernighan Remark on algorithm 397 (An integer + programming problem) . . . . . . . . . . 469--469 + Abraham Kandel Computer Science --- A Vicious Circle 470--471 + E. B. Koffman Individualizing instruction in a + generative CAI tutor . . . . . . . . . . 472--473 + E. N. Houstis and + W. F. Mitchell and + J. R. Rice ACM Algorithm 438: Product Type + Two-point Gauss-Legendre-Simpson's + Integration . . . . . . . . . . . . . . 1071 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 7, July, 1972 + ++ Lee Revens The first twenty-five years ACM + 1947--1962 . . . . . . . . . . . . . . . 485--490 + Eric A. Weiss Publications in computing: an informal + review . . . . . . . . . . . . . . . . . 491--497 + A. P. Ershov Aesthetics and the Human Factor in + Programming . . . . . . . . . . . . . . 501--505 + Anonymous As the industry sees it . . . . . . . . 506--517 + Michael A. Arbib Toward an Automata Theory of Brains . . 521--527 + Zohar Manna and + Jean Vuillemin Fixpoint Approach to the Theory of + Computation . . . . . . . . . . . . . . 528--536 + J. F. Traub Numerical Mathematics and Computer + Science . . . . . . . . . . . . . . . . 537--541 + David F. Shanno and + Roman L. Weil Management science: a view from + nonlinear programming . . . . . . . . . 542--549 + Joel Moses Toward a General Theory of Special + Functions . . . . . . . . . . . . . . . 550--556 (or 550--554??) + C. C. Foster A view of computer architecture . . . . 557--565 + A. G. Fraser On the interface between computers and + data communications systems . . . . . . 566--573 + Per Brinch Hansen Structured Multiprogramming . . . . . . 574--578 + W. C. Lynch Operating system performance . . . . . . 579--585 + S. R. Kimbleton The role of computer system models in + performance evaluation . . . . . . . . . 586--590 + Saul Rosen Programming Systems and Languages + (1965--1975) . . . . . . . . . . . . . . 591--600 + Jean E. Sammet Programming Languages: History and + Future . . . . . . . . . . . . . . . . . 601--610 + L. D. Fosdick The production of better mathematical + software . . . . . . . . . . . . . . . . 611--617 + D. G. Bobrow Requirements for Advanced Programming + Systems for List Processing . . . . . . 618--627 + Charles W. Bachman The Evolution of Storage Structures . . 628--634 + J. R. Rice On the present and future of scientific + computation . . . . . . . . . . . . . . 637--639 + Robert I. Benjamin A generational perspective of + information system development . . . . . 640--643 + S. Y. Sedelow Language analysis in the humanities . . 644--647 + K. L. Zinn Computers in the instructional process: + directions for research and development 648--651 + G. M. Sturman Computers and urban society . . . . . . 652--657 + G. Salton Dynamic document processing . . . . . . 658--668 + Donald E. Knuth Ancient Babylonian algorithms . . . . . 671--677 + F. L. Bauer and + H. W\"ossner and + Konrad Zuse The ``Plankalk\"ul'' of Konrad Zuse: a + forerunner of today's programming + languages. . . . . . . . . . . . . . . . 678--685 + Richard E. Sprague A Western View of Computer History . . . 686--692 + Franz L. Alt Archaeology of computers --- + reminiscences, 1945--1947 . . . . . . . 693--694 + A. Borodin and + C. C. Gotlieb Computers and employment . . . . . . . . 695--702 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 8, August, 1972 + ++ John G. Herriot In memory of George E. Forsythe . . . . 719--720 + Donald E. Knuth George Forsythe and the development of + Computer Science . . . . . . . . . . . . 721--726 + David Crowe Generating parsers for affix grammars. + Collection of articles in honor of + George E. Forsythe (ACM Student + Competition Award Papers) . . . . . . . 728--734 + Robert E. Helbig and + Patrick K. Orr and + Robert R. Roediger Political Redistricting by Computer . . 735--741 + Arthur J. Benjamin Extensible Editor for a Small Machine + with Disk Storage . . . . . . . . . . . 742--747 + Robert F. Rosin and + Gideon Frieder and + Richard H. Eckhouse, Jr. Environment for Research in + Microprogramming and Emulation . . . . . 748--760 + P. H. Oden and + G. S. Shedler A Model of Memory Contention in a Paging + Machine . . . . . . . . . . . . . . . . 761--771 + H. J. Bernstein and + H. T. Gladwin Compiling fixed-point multiplications 772--772 + W. L. van der Poel Comment on the composition of semantics + in Algol 68 . . . . . . . . . . . . . . 772--772 + James H. Morris, Jr. A Bonus from van Wijngaarden's Device 773--773 + P. R. Jones Comment on average binary search length 774--774 + Ronald C. Read and + K. Harada A note on the generation of rosary + permutations. With a response by K. + Harada . . . . . . . . . . . . . . . . . 775--775 + W. Squire ACM Algorithm 429: Localization of the + Roots of a Polynomial . . . . . . . . . 776--777 + P. W. Purdom Jr. and + E. F. Moore ACM Algorithm 430: Immediate + Predominators in a Directed Graph . . . 777--778 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 9, September, 1972 + ++ K. N. Levitt and + W. H. Kautz Cellular Arrays for the Solution of + Graph Problems . . . . . . . . . . . . . 789--801 + Sakti P. Ghosh File Organization --- The Consecutive + Retrieval Property . . . . . . . . . . . 802--808 + M. Mor and + T. Lamdan A New Approach to Automatic Scanning of + Contour Maps . . . . . . . . . . . . . . 809--812 + Paul L. Richman Automatic Error Analysis for Determining + Precision . . . . . . . . . . . . . . . 813--817 + A. Ravindran ACM Algorithm 431: A Computer Routine + for Quadratic and Linear Programming + Problems . . . . . . . . . . . . . . . . 818--820 + R. H. Bartels and + G. W. Stewart ACM Algorithm 432: Solution of the + Matrix Equation + ${\bf{A}}x+x{\bf{B}}={\bf{C}}$ . . . . . 820--826 + E. S. Deutsch Thinning Algorithms on Rectangular, + Hexagonal, and Triangular Arrays . . . . 827--837 + J. Gregory A Comparison of Floating Point Summation + Methods . . . . . . . . . . . . . . . . 838--838 + Hatem M. Khalil The eigenproblem of block tridiagonal + matrices . . . . . . . . . . . . . . . . 839--839 + D. L. Parnas and + A. N. Habermann and + R. C. Holt Comment on Deadlock Prevention Method 840--841 + R. Rubinstein and + J. Feldman A controller for a Braille terminal . . 841--842 + K. C. Tan On Foster's Information Storage and + Retrieval Using AVL Trees . . . . . . . 843--843 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 10, October, 1972 + ++ E. W. Dijkstra The Humble Programmer . . . . . . . . . 859--866 + James B. Morris Demand Paging Through Utilization of + Working Sets on the Maniac II . . . . . 867--872 + J. H. Ahrens and + U. Dieter Computer Methods for Sampling from the + Exponential and Normal Distributions . . 873--882 + Richard J. Hanson Integral Equations of Immunology . . . . 883--890 + Robert F. Simmons and + Jonathan Slocum Generating English Discourse from + Semantic Networks . . . . . . . . . . . 891--905 + Gert Dathe Conversion of Decision Tables by Rule + Mask Method without Rule Mask . . . . . 906--909 + W. D. Frazer and + C. K. Wong Sorting by Natural Selection . . . . . . 910--913 + A. P. Ershov Corrigendum: ``Aesthetics and the Human + Factor in Programming'' . . . . . . . . 913--913 + H. Akima ACM Algorithm 433: Interpolation and + Smooth Curve Fitting Based on Local + Procedures . . . . . . . . . . . . . . . 914--918 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 11, November, 1972 + ++ Phyllis Fox Comparative Study of Computer Programs + for Integrating Differential Equations 941--948 + Michael A. Malcolm Algorithms to Reveal Properties of + Floating-Point Arithmetic . . . . . . . 949--951 + Merrell L. Patrick A Highly Parallel Algorithm for + Approximating All Zeros of a Polynomial + with Only Real Zeros . . . . . . . . . . 952--955 + Henry F. Ledgard Model for Type Checking --- with an + Application to Algol 60 . . . . . . . . 956--966 + Peter Henderson Derived Semantics for Some Programming + Language Constructs . . . . . . . . . . 967--973 + M. Verhelst Conversion of Limited-Entry Decision + Tables to Optimal and Near-Optimal + Flowcharts: Two New Algorithms . . . . . 974--980 + H. D. Baecker Garbage Collection for Virtual Memory + Computer Systems . . . . . . . . . . . . 981--986 + John S. Ramberg and + Bruce W. Schmeiser Approximate Method for Generating + Symmetric Random Variables . . . . . . . 987--990 + D. L. March ACM Algorithm 434: Exact Probabilities + for ${R\times{C}}$ Contingency Tables 991--992 + W. Fullerton ACM Algorithm 435: Modified Incomplete + Gamma Function . . . . . . . . . . . . . 993--995 + V. Y. Lum and + P. S. T. Yuen Additional results on key-to-address + transform techniques: a fundamental + performance study on large existing + formatted files . . . . . . . . . . . . 996--997 + S. Kennedy A note on optimal doubly-chained trees 997--998 + Murray A. Eisenberg and + Michael R. McGuire Further comments on Dijkstra's + concurrent programming control problem 999--999 + S. W. Smoliar Comments on Moorer's Music and computer + composition . . . . . . . . . . . . . . 1000--1001 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 12, December, 1972 + ++ J. Richard Phillips and + H. C. Adams Dynamic Partitioning for Array Languages 1023--1032 + R. Bayer and + C. Witzgall Index Ranges for Matrix Calculi . . . . 1033--1039 + Jay Earley and + Paul Caizergues Method for Incrementally Compiling + Languages with Nested Statement + Structure . . . . . . . . . . . . . . . 1040--1044 + Fabrizio Luccio Weighted Increment Linear Search for + Scatter Tables . . . . . . . . . . . . . 1045--1047 + D. R. Barr and + N. L. Slezak A comparison of multivariate normal + generators . . . . . . . . . . . . . . . 1048--1049 + John Moore and + Prentiss Robinson New Method for the Solution of the + Cauchy Problem for Parabolic Equations 1050--1052 + D. L. Parnas On the Criteria to Be Used in + Decomposing Systems into Modules . . . . 1053--1058 + P. J. Brown Levels of Language for Portable Software 1059--1062 + Stephen Sherman and + Forest Baskett, III and + J. C. Browne Trace-Driven Modeling and Analysis of + CPU Scheduling in a Multiprogramming + System . . . . . . . . . . . . . . . . . 1063--1069 + W. R. Boland ACM Algorithm 436: Product Type + Trapezoidal Integration . . . . . . . . 1070--1070 + W. R. Boland ACM Algorithm 437: Product Type + Simpson's Integration . . . . . . . . . 1070--1071 + W. R. Boland ACM Algorithm 439: Product Type + Three-point Gauss-Legendre-Simpson's + Integration . . . . . . . . . . . . . . 1072 ++ +
+ ++ + Communications of the ACM
+
+Volume 15, Number 2, February, 1973 + ++ Peter J. Denning and + Stuart C. Schwartz Corrigendum: ``Properties of the + working-set model'' . . . . . . . . . . 191--198 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 16, Number 1, January, 1973 + ++ G. S. Shedler A Queuing Model of a Multiprogrammed + Computer with a Two-Level Storage System 3--10 + Carter Bays The Reallocation of Hash-Coded Tables 11--14 + James H. Morris, Jr. Protection in Programming Languages . . 15--21 + Yoichi Muraoka and + David J. Kuck On the Time Required for a Sequence of + Matrix Products . . . . . . . . . . . . 22--26 + E. B. James and + D. P. Partridge Adaptive Correction of Program + Statements . . . . . . . . . . . . . . . 27--37 + P. L. Richman Variable-Precision Exponentiation . . . 38--40 + C. R. Crawford Reduction of a Band-Symmetric + Generalized Eigenvalue Problem . . . . . 41--44 + S. E. Blount and + L. Fein The practical aspect of computer science + education --- discussion . . . . . . . . 45--46 + C. Bays A note on when to chain overflow items + within a direct-access table . . . . . . 46--47 + M. S. Atkins Mutual recursion in Algol 60 using + restricted compilers . . . . . . . . . . 47--48 + L. J. Gallaher ACM Algorithm 440: A Multidimensional + Monte Carlo Quadrature with Adaptive + Stratified Sampling . . . . . . . . . . 49--50 + R. E. Knop ACM Algorithm 441: Random samples from + the dipole distribution [G5] . . . . . . 51--51 + G. W. Hill and + A. W. Davis ACM Algorithm 442: Normal deviate [S14] 51--52 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 2, February, 1973 + ++ R. D. Merrill Representation of Contours and Regions + for Efficient Computer Search . . . . . 69--82 + S. Crespi-Reghizzi and + M. A. Melkanoff and + L. Lichten The Use of Grammatical Inference for + Designing Programming Languages . . . . 83--90 + J. F. Gimpel A Theory of Discrete Patterns and Their + Implementation in SNOBOL4 . . . . . . . 91--100 + J. Rokne Automatic Errorbounds for Simple Zeros + of Analytic Functions . . . . . . . . . 101--104 + Richard P. Brent Reducing the Retrieval Time of Scatter + Storage Techniques . . . . . . . . . . . 105--109 + Robert M. Graham and + Gerald J. Clancy, Jr. and + David B. DeVaney A software design and evaluation system 110--116 + R. M. Balzer An overview of the ISPL computer system + design . . . . . . . . . . . . . . . . . 117--122 + F. N. Fritsch and + R. E. Shafer and + W. P. Crowley ACM Algorithm 443: Solution of the + Transcendental Equation $w e^w = x$ . . 123--124 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 3, March, 1973 + ++ Richard H. Austing and + Gerald L. Engel A Computer Science Course Program for + Small Colleges . . . . . . . . . . . . . 139--147 + Robert A. Wagner Common Phrases and Minimum-Space Text + Storage . . . . . . . . . . . . . . . . 148--152 + Y. Feinroth and + E. Franceschini and + M. Goldstein Telecommunications Using a Front-End + Minicomputer . . . . . . . . . . . . . . 153--160 + Charles D. Pack The Effects of Multiplexing on a + Computer-Communications System . . . . . 161--168 + Richard W. Conway and + Thomas R. Wilcox Design and Implementation of Diagnostic + Compiler for PL/I . . . . . . . . . . . 169--179 + H. E. Salzer Gray code and the +or-sign sequence when + +or-f(+or-f(+or-f( . . +or-f(x) . . .))) + is ordered . . . . . . . . . . . . . . . 180--180 + Abraham Bookstein On Harrison's Substring Testing + Technique . . . . . . . . . . . . . . . 180--181 + W. H. Payne Graduate Education: The Ph.D. Glut . . . 181--182 + R. A. Wagner ACM Algorithm 444: An Algorithm for + Extracting Phrases in a Space-Optimal + Fashion . . . . . . . . . . . . . . . . 183--185 + Shi-Kuo Chang ACM Algorithm 445: Binary Pattern + Reconstruction from Projections . . . . 185--186 + J. Lau Binary pattern reconstruction from + projections . . . . . . . . . . . . . . 186--186 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 4, April, 1973 + ++ A. Hassitt and + J. W. Lageschulte and + L. E. Lyon Implementation of a High Level Language + Machine . . . . . . . . . . . . . . . . 199--212 + John G. Williams Asymmetric Memory Hierarchies . . . . . 213--222 + H. Kuki and + W. J. Cody A Statistical Study of the Accuracy of + Floating Point Number Systems . . . . . 223--230 + W. A. Burkhard and + R. M. Keller Some Approaches to Best-Match File + Searching . . . . . . . . . . . . . . . 230--236 + James P. Strong, III and + Azriel Rosenfeld A region coloring technique for scene + analysis . . . . . . . . . . . . . . . . 237--246 + Juan Rodriguez-Rosell and + Jean-Pierre Dupuy The design, implementation, and + evaluation of a working set dispatcher 247--253 + R. Broucke ACM Algorithm 446: Ten Subroutines for + the Manipulation of Chebyshev Series . . 254--256 + L. C. Ragland and + D. I. Good Greatest common divisor of $n$ integers + and multipliers . . . . . . . . . . . . 257--257 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 5, May, 1973 + ++ David Pager On the Problem of Communicating Complex + Information . . . . . . . . . . . . . . 275--281 + David W. Low Programming by Questionnaire: an + Effective Way to Use Decision Tables . . 282--286 + P. J. H. King and + R. G. Johnson Some Comments on the Use of Ambiguous + Decision Tables and Their Conversion to + Computer Programs . . . . . . . . . . . 287--290 + John Salasin Hierarchical Storage in Information + Retrieval . . . . . . . . . . . . . . . 291--295 + D. G. Corneil and + C. C. Gotlieb and + Y. M. Lee Minimal Event-Node Network of Project + Precedence Relations . . . . . . . . . . 296--298 + Andrew Mercer and + Azriel Rosenfeld An array grammar programming system . . 299--305 + Edward M. Reingold A Nonrecursive List Moving Algorithm . . 305--307 + H. Vos Coulomb wave functions . . . . . . . . . 308--309 + G. Bayer Maxflow . . . . . . . . . . . . . . . . 309--309 + B. Holmgren and + A. Kolm and + D. Obradovic Minit algorithm for linear programming 310--310 + D. Obradovic Minit algorithm for linear programming 310--310 + J. A. Howell Exact solution of linear equations using + residue arithmetic . . . . . . . . . . . 311--311 + A. H. J. Sale A sparse matrix package . . . . . . . . 311--311 + R. E. Wheeler Increasing the efficiency of quicksort 311--311 + M. K. Roy Reflection-free permutations, rosary + permutations and adjacent transposition + algorithms . . . . . . . . . . . . . . . 312--312 + C. H. McMorrow Concerning music and computer + composition in computational linguistics 313--313 + R. L. Wexelblat Another comment on computer music . . . 313--314 + R. G. Estell A comment on the practical aspects of + computer science education . . . . . . . 314--315 + Roger Fajman and + John Borgelt WYLBUR, An Interactive Text Editing and + Remote Job Entry System . . . . . . . . 314--322 + Dennis J. Frailey A Practical Approach to Managing + Resources and Avoiding Deadlocks . . . . 323--329 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 6, June, 1973 + ++ R. G. Hamlet Efficient multiprogramming resource + allocation and accounting . . . . . . . 337--342 + E. Gelenbe and + J. C. A. Boekhorst and + J. L. W. Kessels Minimizing wasted space in partitioned + segmentation . . . . . . . . . . . . . . 343--349 + J. C. Hill Synchronizing processors with + memory-content-generated interrupts . . 350--351 + Harold S. Stone and + Samuel F. Fuller On the Near-Optimality of the + Shortest-Latency-Time-First Drum + Scheduling Discipline . . . . . . . . . 352--353 + P. F. Stockhausen Adapting optimal code generation for + arithmetic expressions to the + instruction sets available on + present-day computers . . . . . . . . . 353--354 + R. F. Ling A computer generated aid for cluster + analysis . . . . . . . . . . . . . . . . 355--361 + Ben Shneiderman Optimum Data Base Reorganization Points 362--365 + H. Strunz The development of decision tables via + parsing of complex decision situations 366--369 + James R. Bell Threaded Code . . . . . . . . . . . . . 370--372 + J. Hopcroft and + R. Tarjan ACM Algorithm 447: Efficient Algorithms + for Graph Manipulation . . . . . . . . . 372--378 + T. Beyer and + D. F. Swinehart ACM Algorithm 448: Number of + Multiply-Restricted Partitions . . . . . 379--379 + J. Ferguson and + P. A. Staley Least squares piecewise cubic curve + fitting . . . . . . . . . . . . . . . . 380--382 + W. D. Hoskins Cubic spline solutions to fourth-order + boundary value problems . . . . . . . . 382--385 + Franz L. Alt and + Judith Yuni Kirk Computer Photocomposition of Technical + Text . . . . . . . . . . . . . . . . . . 386--391 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 7, July, 1973 + ++ Richard L. Nolan Managing the Computer Resource: Stage + Hypothesis . . . . . . . . . . . . . . . 399--405 + J. C. Huang A Note on Information Organization and + Storage . . . . . . . . . . . . . . . . 406--410 + Edward W. Kozdrowicki and + Dennis W. Cooper COKO III: the Cooper-Koz Chess Program 411--427 (or 411--426??) + John H. Howard, Jr. Mixed Solutions for the Deadlock Problem 427--430 + Erol Gelenbe Distribution of a Program in Primary and + Fast Buffer Storage . . . . . . . . . . 431--434 + Robert F. Rosin Teaching ``About Programming'' . . . . . 435--439 + F. Warren McFarlan and + Richard L. Nolan Curriculum Recommendations for Graduate + Professional Programs in Information + Systems: Recommended Addendum on + Information Systems Administration . . . 439--442 (or 439--441??) + A. Kandel Computer Science --- Seminars for + Undergraduates . . . . . . . . . . . . . 442--442 + G. V. Bochmann Multiple Exits from a Loop Without the + GOTO . . . . . . . . . . . . . . . . . . 443--444 + Patrick A. V. Hall Equivalence Between AND/OR Graphs and + Context-Free Grammars . . . . . . . . . 444--445 + F. Fiala ACM Algorithm 449: Solution of Linear + Programming Problems in 0-1 Variables 445--448 (or 445--447??) + B. W. Kernighan Remark on ``Algorithm 422: Minimal + Spanning Tree'' . . . . . . . . . . . . 448--448 + I. D. G. Macleod and + A. M. Collins Hidden-line plotting program . . . . . . 448--448 + P. J. Nikolai DIFSUB for solution of ordinary + differential equations . . . . . . . . . 448--448 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 8, August, 1973 + ++ Michael H. Smith A learning program which plays + partnership dominoes . . . . . . . . . . 462--467 + B. J. MacLennan Fen --- an Axiomatic Basis for Program + Semantics . . . . . . . . . . . . . . . 468--474 + David Misunas Petri Nets and Speed Independent Design 474--482 (or 474--481??) + M. MacHura and + A. Mulawa ACM Algorithm 450: Rosenbrock Function + Minimization . . . . . . . . . . . . . . 482--483 + R. B. Goldstein ACM Algorithm 451: Chi-Square Quantiles 483--485 + C. N. Liu and + D. T. Tang ACM Algorithm 452: Enumerating + Combinations of $m$ Out of $n$ Objects 485--485 + Robert Piessens ACM Algorithm 453: Gaussian Quadrature + Formulas for Bromwich's Integral . . . . 486--487 + J. A. Richardson and + J. L. Kuester ACM Algorithm 454: The Complex Method + for Constrained Optimization . . . . . . 487--489 + G. Andrejkova and + J. Vinar Complex gamma function . . . . . . . . . 489--489 + R. M. De Morgan Remark on ``Algorithm 357 [A1]: An + Efficient Prime Number Generator'' . . . 489--489 + R. P. Watkins Graph plotter . . . . . . . . . . . . . 489--490 + J. G. Byrne Hu-Tucker minimum redundancy alphabetic + coding method . . . . . . . . . . . . . 490--490 + A. J. Good Clenshaw-Curtis quadrature . . . . . . . 490--490 + E. J. Williams Localization of the roots of a + polynomial . . . . . . . . . . . . . . . 490--490 + Zohar Manna and + Stephen Ness and + Jean Vuillemin Inductive Methods for Proving Properties + of Programs . . . . . . . . . . . . . . 491--502 + W. W. Peterson and + T. Kasami and + N. Tokura On the Capabilities of While, Repeat, + and Exit Statements . . . . . . . . . . 503--512 + Caxton C. Foster A Generalization of AVL Trees . . . . . 513--517 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 9, September, 1973 + ++ Jeffrey P. Buzen Computational Algorithms for Closed + Queueing Networks with Exponential + Servers . . . . . . . . . . . . . . . . 527--531 + S. Ganapathy and + V. Rajaraman Information Theory Applied to the + Conversion of Decision Tables to + Computer Programs . . . . . . . . . . . 532--539 + Alfonso F. Cardenas Evaluation and Selection of File + Organization --- A Model and a System 540--548 + R. G. Casey Design of Tree Structures for Efficient + Querying . . . . . . . . . . . . . . . . 549--556 + Juan Rodriguez-Rosell Empirical Working Set Behavior . . . . . 556--560 + Geoffrey W. Gates and + David A. Poplawski A simple technique for structured + variable lookup . . . . . . . . . . . . 561--565 + M. V. Zelkowitz Reversible Execution . . . . . . . . . . 566--566 + Robert E. Barnhill and + David T. Pilcher Sard kernels for certain bivariate + cubatures . . . . . . . . . . . . . . . 567--571 (or 567--570??) + D. B. Hunter and + J. M. Williams ACM Algorithm 455: Analysis of Skew + Representations of the Symmetric Group 571--572 + Zden\vek Fencl ACM Algorithm 456: Routing Problem . . . 572--574 + Coen Bron and + Joep Kerbosch ACM Algorithm 457: Finding All Cliques + of an Undirected Graph . . . . . . . . . 575--577 + M. K. Roy Remark on ``Algorithm 323 [G6]: + Generation of Permutations in + Lexicographic Order'' . . . . . . . . . 577--578 + Mohit Kumar Roy Remark on ``Algorithm 323 [G6]: + Generation of Permutations in + Lexicographic Order'' . . . . . . . . . 577--578 + E. E. Lawrence A sparse matrix package. I . . . . . . . 578--578 + H. Williamson Hidden-line plotting program . . . . . . 578--579 + H. B. Driessen and + E. W. LeM. Hunt Localization of the roots of a + polynomial . . . . . . . . . . . . . . . 579--579 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 10, October, 1973 + ++ John S. McGeachie Multiple Terminals Under User Program + Control in a Time-Sharing Environment 587--590 + Daniel G. Bobrow and + Ben Wegbreit A Model and Stack Implementation of + Multiple Environments . . . . . . . . . 591--603 + Vincent Y. Lum General Performance Analysis of + Key-to-Address Transformation Methods + Using an Abstract File Concept . . . . . 603--612 + Butler W. Lampson A Note on the Confinement Problem . . . 613--615 + Daniel S. Hirschberg A Class of Dynamic Memory Allocation + Algorithms . . . . . . . . . . . . . . . 615--618 + Barton G. Prieve Using Page Residency to Select the + Working Set Parameter . . . . . . . . . 619--620 + Robert E. Millstein Control Structures in Illiac IV Fortran 621--627 + P. D. Robers and + S. S. Robers ACM Algorithm 458: Discrete Linear + ${L}_1$ Approximation by Interval Linear + Programming . . . . . . . . . . . . . . 629--631 + M. M. Syslo ACM Algorithm 459: The Elementary + Circuits of a Graph . . . . . . . . . . 632--633 + Paul E. Saylor and + James D. Sebastian ACM Algorithm 460: Calculation of + Optimum Parameters for Alternating + Direction Implicit Procedures . . . . . 633--635 + F. J. Burkowski and + W. D. Hoskins ACM Algorithm 461: Cubic Spline + Solutions to a Class of Functional + Differential Equations . . . . . . . . . 635--637 + T. G. Donnelly ACM Algorithm 462: Bivariate Normal + Distribution . . . . . . . . . . . . . . 638--638 + C. R. Lewart ACM Algorithm 463: Algorithms SCALE1, + SCALE2, and SCALE3 for Determination of + Scales on Computer Generated Plots . . . 639--640 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 11, November, 1973 + ++ Charles W. Bachman The Programmer as Navigator . . . . . . 653--658 + R. S. Fabry Dynamic Verification of Operating System + Decisions . . . . . . . . . . . . . . . 659--668 + M. D. Mickunas and + V. B. Schneider Parser-Generating System for + Constructing Compressed Compilers . . . 669--676 + B. W. Jordan, Jr. and + R. C. Barrett Scan Conversion Algorithm with Reduced + Storage Requirements . . . . . . . . . . 676--682 + James R. Slagle and + Lewis M. Norton Experiments with an Automatic + Theorem-Prover Having Partial Ordering + Inference Rules . . . . . . . . . . . . 682--688 + C. H. Reinsch ACM Algorithm 464: Eigenvalues of a Real + Symmetric Tridiagonal Matrix . . . . . . 689--689 + G. W. Hill ACM Algorithm 465: Student's $t$ + Frequency . . . . . . . . . . . . . . . 690--690 + G. Ehrlich ACM Algorithm 466: Four Combinatorial + Algorithms . . . . . . . . . . . . . . . 690--691 + N. Brenner ACM Algorithm 467: Matrix Transposition + in Place . . . . . . . . . . . . . . . . 692--694 + T. N. L. Patterson ACM Algorithm 468: Algorithm for + Automatic Numerical Integration Over a + Finite Interval . . . . . . . . . . . . 694--699 + C. Lam and + J. McKay ACM Algorithm 469: Arithmetic Over a + Finite Field . . . . . . . . . . . . . . 699--699 + Peter J. Denning and + G. Scott Graham A Note on Subexpression Ordering in the + Execution of Arithmetic Expressions . . 700--702 + Jerome A. Feldman and + James R. Low and + R. P. Brent Comment on Brent's scatter storage + algorithm (and author's reply) . . . . . 703--703 + E. Wegner Tree-structured programs . . . . . . . . 704--705 + Herbert E. Salzer A recurrence scheme for converting from + one orthogonal expansion into another 705--707 + F. Stenger An algorithm for the approximate + solution of Wiener-Hopf integral + equations . . . . . . . . . . . . . . . 708--710 + L. W. Ehrlich Solving the Biharmonic Equation in a + Square: a Direct Versus a Semidirect + Method . . . . . . . . . . . . . . . . . 711--714 ++ +
+ ++ + Communications of the ACM
+
+Volume 16, Number 12, December, 1973 + ++ J. Daniel Couger Curriculum Recommendations for + Undergraduate Programs in Information + Systems . . . . . . . . . . . . . . . . 727--749 + Edgar H. Sibley and + Robert W. Taylor A Data Definition and Mapping Language 750--759 + M. Kubicek ACM Algorithm 470: Linear Systems with + Almost Tridiagonal Matrix . . . . . . . 760--761 + W. Gautschi ACM Algorithm 471: Exponential Integrals 761--763 + J. G. Herriot and + C. H. Reinsch ACM Algorithm 472: Procedures for + Natural Spline Interpolation . . . . . . 763--768 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 17, Number 1, January, 1974 + ++ G. Lyon Syntax-directed least-errors analysis + for context-free languages: a practical + approach . . . . . . . . . . . . . . . . 3--14 + Michael A. Malcolm and + John Palmer A Fast Method For Solving a Class of + Tridiagonal Systems of Linear Equations 14--17 + H. Akima A method of bivariate interpolation and + smooth surface fitting based on local + procedures . . . . . . . . . . . . . . . 18--20 + Norman E. Gibbs and + William G. Poole, Jr. Tridiagonalization by Permutations . . . 20--24 + R. Piessens ACM Algorithm 473: Computation of + Legendre Series Coefficients . . . . . . 25--25 + H. Akima ACM Algorithm 474: Bivariate + Interpolation and Smooth Surface Fitting + Based on Local Procedures . . . . . . . 26--31 + Ivan E. Sutherland and + Gary W. Hodgman Reentrant Polygon Clipping . . . . . . . 32--42 + P. J. H. King and + R. G. Johnson Comments on the algorithms of Verhelst + for the conversion of limited-entry + decision tables to flowcharts (and + author's reply) . . . . . . . . . . . . 43--45 + Gary D. Knott A Numbering System for Combinations . . 45--46 + H. C. Lucas, Jr. A CRT report generating system . . . . . 47--48 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 2, February, 1974 + ++ James B. Rothnie, Jr. and + Tomas Lozano Attribute Based File Organization in a + Paged Memory Environment . . . . . . . . 63--69 + B. W. Jordan, Jr. and + R. C. Barrett A cell organized raster display for line + drawings . . . . . . . . . . . . . . . . 70--77 + John S. Ramberg and + Bruce W. Schmeiser An Approximate Method for Generating + Asymmetric Random Variables . . . . . . 78--82 + Leslie Lamport The Parallel Execution of DO Loops . . . 83--93 + Henry F. Ledgard Production Systems: or can we do better + than BNF? . . . . . . . . . . . . . . . 94--102 + Ben Wegbreit The Synthesis of Loop Predicates . . . . 102--112 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 3, March, 1974 + ++ K. Sreenivasan and + A. J. Kleinman On the Construction of a Representative + Synthetic Workload . . . . . . . . . . . 127--133 + E. Balkovich and + W. Chiu and + L. Presser and + R. Wood Dynamic Memory Repacking . . . . . . . . 133--138 + Howard Lee Morgan Optimal Space Allocation on Disk Storage + Devices . . . . . . . . . . . . . . . . 139--142 + Rudolf Loeser Some Performance Tests of ``Quicksort'' + and Descendants . . . . . . . . . . . . 143--152 + T. Wright Visible surface plotting program . . . . 152--157 (or 152--155??) + N. E. Bosten and + E. L. Battiste Incomplete beta ratio . . . . . . . . . 156--157 + R. C. Barrett and + B. W. Jordan, Jr. Scan Conversion Algorithms for a Cell + Organized Raster Display . . . . . . . . 157--163 + A. Frank Ackerman Quadratic Search for Hash Tables of Size + $p^n$ . . . . . . . . . . . . . . . . . 164--164 + Harold S. Stone A note on a combinatorial problem of + Burnett and Coffman . . . . . . . . . . 165--166 + Fred T. Krogh Efficient Implementation of a Variable + Projection Algorithm for Nonlinear Least + Squares Problems . . . . . . . . . . . . 167--169 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 4, April, 1974 + ++ Jerome H. Saltzer A Simple Linear Model of Demand Paging + Performance . . . . . . . . . . . . . . 181--186 + M. A. Franklin and + R. K. Gupta Computation of Page Fault Probability + from Program Transition Diagram . . . . 186--191 + John W. Boyse Execution Characteristics of Programs in + a Page-On-Demand System . . . . . . . . 192--196 + Graham Smith and + Ian M. Sefton On Lions' Counter Example for Gotlieb's + Method for the Construction of School + Timetables . . . . . . . . . . . . . . . 196--197 + Gary Lindstrom Copying List Structures Using Bounded + Workspace . . . . . . . . . . . . . . . 198--202 + Shimon Even Parallelism in Tape-Sorting . . . . . . 202--204 + H. C. Lucas, Jr. and + D. B. Montgomery and + J. C. Larreche A study of computer use in a graduate + school of business . . . . . . . . . . . 205--206 + Peter Freeman and + Michael A. Malcolm and + William H. Payne Graduate Education: The Ph.D. Glut: + Response and Rebuttal . . . . . . . . . 206--207 + T. D. Sterling and + S. V. Pollack Ideal teaching machines --- a solution + to the pedagogic language problem . . . 207--208 + P. W. Abrahams Some remarks on lookup of structured + variables . . . . . . . . . . . . . . . 209--210 + A. Balfour An alternative approach to mutual + recursion in Algol 60 using restricted + compilers . . . . . . . . . . . . . . . 210--210 + R. C. T. Lee and + C. L. Chang and + R. J. Waldinger An Improved Program-Synthesizing + Algorithm and its Correctness . . . . . 211--217 + A. K. Cline Scalar- and planar-valued curve fitting + using splines under tension. I . . . . . 218--220 + A. K. Cline ACM Algorithm 476: Six Subprograms for + Curve Fitting Using Splines Under + Tension . . . . . . . . . . . . . . . . 220--223 (or 220--221??) + G. Ehrlich ACM Algorithm 477: Generator of + Set-Partitions to Exactly ${R}$ Subsets 224--225 + B. Einarsson Solution of the transcendental equation + we/sup w/=x . . . . . . . . . . . . . . 225--225 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 5, May, 1974 + ++ Mary Shaw Reduction of Compilation Costs Through + Language Contraction . . . . . . . . . . 245--250 + Ben Wegbreit The treatment of data types in EL1 . . . 251--264 + Robert A. Wagner Order-$n$ Correction for Regular + Languages . . . . . . . . . . . . . . . 265--268 + Nai Kuan Tsao On the Distributions of Significant + Digits and Roundoff Errors . . . . . . . 269--271 + M. C. Wunderlich and + J. L. Selfridge Design for a Number Theory Package with + an Optimized Trial Division Routine . . 272--276 + W. M. Gentleman and + S. B. Marovich More on Algorithms that Reveal + Properties of Floating Point Arithmetic + Units . . . . . . . . . . . . . . . . . 276--277 + D. E. Gold and + D. J. Kuck A Model for Masking Rotational Latency + by Dynamic Disk Allocation . . . . . . . 278--288 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 6, June, 1974 + ++ Jacques Cohen and + Carl Zuckerman Two Languages for Estimating Program + Efficiency . . . . . . . . . . . . . . . 301--308 + L. Henschen and + Ross A. Overbeek and + L. Wos A Theorem-Proving Language for + Experimentation . . . . . . . . . . . . 308--314 + James F. Gimpel The minimization of + spatially-multiplexed character sets . . 315--318 + I. Barrodale and + F. D. K. Roberts ACM Algorithm 478: Solution of an + Overdetermined System of Equations in + the ${L_1}$ Norm . . . . . . . . . . . . 319--320 + R. L. Page ACM Algorithm 479: A Minimal Spanning + Tree Clustering Method . . . . . . . . . 321--323 + B. Gaither Hidden-line plotting program . . . . . . 324--324 + R. Piessens Calculation of Fourier integrals . . . . 324--324 + R. Piessens Modified Havie integration . . . . . . . 324--324 + T. M. R. Ellis Hidden-line plotting program . . . . . . 324--325 + R. L. Page Generation of random correlated normal + variables . . . . . . . . . . . . . . . 325--325 + D. M. Boulton Exact probabilities for R*C contingency + tables . . . . . . . . . . . . . . . . . 326--326 + W. D. Slysz An evaluation of software in the social + sciences . . . . . . . . . . . . . . . . 326--332 + John Adams and + John Gary Compact Representation of Contour Plots + for Phone Line Transmission . . . . . . 333--336 + W. Wulf and + E. Cohen and + W. Corwin and + A. Jones and + R. Levin and + C. Pierson and + F. Pollack HYDRA: The Kernel of a Multiprocessor + Operating System . . . . . . . . . . . . 337--345 + Ian J. Barton and + Susan E. Creasey and + Michael F. Lynch and + Michael J. Snell An Information-Theoretic Approach to + Text Searching in Direct Access Systems 345--350 + Edward Minieka On Computing Sets of Shortest Paths in a + Graph . . . . . . . . . . . . . . . . . 351--353 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 7, July, 1974 + ++ Dennis M. Ritchie and + Ken Thompson The UNIX Time-Sharing System . . . . . . 365--375 + Samuel H. Fuller Minimal-Total-Processing Time Drum and + Disk Scheduling Disciplines . . . . . . 376--381 + J. Bruno and + E. G. Coffman, Jr. and + R. Sethi Scheduling Independent Tasks To Reduce + Mean Finishing Time . . . . . . . . . . 382--387 + Jerome H. Saltzer Protection and the Control of + Information Sharing in Multics . . . . . 388--402 + R. S. Fabry Capability-Based Addressing . . . . . . 403--412 + Gerald J. Popek and + Robert P. Goldberg Formal Requirements for Virtualizable + Third Generation Architectures . . . . . 412--421 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 8, August, 1974 + ++ Bruce Hahn A New Technique for Compression and + Storage of Data . . . . . . . . . . . . 434--436 + Arthur Evans, Jr. and + William Kantrowitz and + Edwin Weiss A User Authentication Scheme Not + Requiring Secrecy in the Computer . . . 437--442 + George B. Purdy A High Security Log-in Procedure . . . . 442--445 + Theodore D. Friedman and + Lance J. Hoffman Execution Time Requirements for + Encipherment Programs . . . . . . . . . 445--449 + G. A. Neufeld and + J. Tartar Graph Coloring Conditions for the + Existence of Solutions to the Timetable + Problem . . . . . . . . . . . . . . . . 450--453 + Leslie Lamport A New Solution of Dijkstra's Concurrent + Programming Problem . . . . . . . . . . 453--455 + John C. Cavouras On the Conversion of Programs to + Decision Tables: Method and Objectives 456--462 + T. Lyche and + L. L. Schumaker ACM Algorithm 480: Procedures for + Computing Smoothing and Interpolating + Natural Splines . . . . . . . . . . . . 463--467 + K. C. Crandall ACM Algorithm 481: Arrow to Precedence + Network Transformation . . . . . . . . . 467--469 + John McKay and + E. Regener ACM Algorithm 482: Transitivity Sets + [G7] . . . . . . . . . . . . . . . . . . 470--470 + A. H. Stroud Gauss Harmonic Interpolation Formulas 471--475 + Rolf O. E. Lagerloef Interpolation with Rounded Ramp + Functions . . . . . . . . . . . . . . . 476--479 + Forman S. Acton Recurrence Relations for the Fresnel + Integral + $\int_0^\infty[\exp(-ct)dt/(t)^{1/2}(1+t^2)]$ and Similar Integrals 480--481 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 9, September, 1974 + ++ I. M. Willers A New Integration Algorithm for Ordinary + Differential Equations Based on + Continued Fraction Approximations . . . 504--508 + Oliver Aberth A Precise Numerical Analysis Program . . 509--513 + To-yat. Cheung Interactive Graphic Display for Region + Partitioning by Linear Programming . . . 513--516 + Mario Schkolnick The Equivalence of Reducing Transition + Languages and Deterministic Languages 517--519 + S. L. Watkins ACM Algorithm 483: Masked + Three-Dimensional Plot Program with + Rotations . . . . . . . . . . . . . . . 520--523 + K. H. Burrell ACM Algorithm 484: Evaluation of the + Modified Bessel Functions ${K}_0(z)$ and + ${K}_1(z)$ for Complex Arguments . . . . 524--526 + H. D. Eidson and + L. L. Schumaker ACM Algorithm 485: Computation of + $g$-Splines via a Factorization Method 526--530 + John W. Young A First Order Approximation to the + Optimum Checkpoint Interval . . . . . . 530--531 + Keith Shwayder Extending the Information Theory + Approach to Converting Limited-Entry + Decision Tables to Computer Programs . . 532--537 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 10, October, 1974 + ++ C. A. R. Hoare Monitors: An Operating System + Structuring Concept . . . . . . . . . . 549--557 + Kenneth K. Shen and + James L. Peterson A Weighted Buddy Method for Dynamic + Storage Allocation . . . . . . . . . . . 558--568 (or 558--562??) + D. R. Slutz and + I. L. Traiger A note on the calculation of average + working set size . . . . . . . . . . . . 563--565 + Ben Shneiderman and + Peter Scheuermann Structured Data Structures . . . . . . . 566--574 + R. H. Canaday and + R. D. Harrison and + E. L. Ivie and + J. L. Ryder and + L. A. Wehr A Back-end Computer for Data Base + Management . . . . . . . . . . . . . . . 575--583 (or 575--582??) + A. Charnes and + W. M. Raike and + J. D. Stutz and + A. S. Walters On Generation of Test Problems for + Linear Programming Codes . . . . . . . . 583--587 (or 583--586??) + F. Veillon ACM Algorithm 486: Numerical Inversion + of Laplace Transform . . . . . . . . . . 587--589 (or 587--588??) + H. Koppelaar Certification and remark on algorithm + 191 . . . . . . . . . . . . . . . . . . 589--590 + L. G. Proll A computer routine for quadratic and + linear programming problems . . . . . . 590--590 + J. Klemes and + J. Klemsa Rosenbrock function minimization . . . . 590--591 + Fred T. Krogh Errata: ``Efficient Implementation of a + Variable Projection Algorithm for + Nonlinear Least Squares'' . . . . . . . 591--591 + Bruce Gilchrist and + Richard E. Weber Enumerating Full-Time Programmers . . . 592--593 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 11, November, 1974 + ++ Theodor D. Sterling Guidelines for Humanizing Computerized + Information Systems, A Report from + Stanley House . . . . . . . . . . . . . 609--613 + Domenico Ferrari Improving Locality by Critical Working + Sets . . . . . . . . . . . . . . . . . . 614--620 + Perry Lowell Miller A locally-organized parser for spoken + input . . . . . . . . . . . . . . . . . 621--630 + Gary M. Rader Method for Composing Simple Traditional + Music by Computer . . . . . . . . . . . 631--638 + R. A. Freiburghouse Register Allocation via Usage Counts . . 638--642 + E. W. Dijkstra Self-stabilizing Systems in Spite of + Distributed Control . . . . . . . . . . 643--644 + J. A. Brown and + B. Werner An on-site data management system + application in field archaeology . . . . 644--646 + D. R. Hanson A simple technique for representing + strings in Fortran IV . . . . . . . . . 646--647 + C. J. Van Rijsbergen The best-match problem in document + retrieval . . . . . . . . . . . . . . . 648--649 + R. V. Evans Multiple exits from a loop using neither + GO TO nor labels . . . . . . . . . . . . 650--650 ++ +
+ ++ + Communications of the ACM
+
+Volume 17, Number 12, December, 1974 + ++ Donald E. Knuth Computer Programming as an Art . . . . . 667--673 + Laurance I. Press Arguments for a Moratorium on the + Construction of a Community Information + Utility . . . . . . . . . . . . . . . . 674--678 + J. C. Strauss An analytic model of the Hasp execution + task monitor . . . . . . . . . . . . . . 679--685 + Thomas L. Adam and + K. M. Chandy and + J. R. Dickson A Comparison of List Schedules for + Parallel Processing Systems . . . . . . 685--690 + N. D. Wallace Computer Generation of Gamma Random + Variates with Non-Integral Shape + Parameters . . . . . . . . . . . . . . . 691--695 + A. Salazar and + R. V. Oakford A Graph Formulation of a School + Scheduling Algorithm . . . . . . . . . . 696--698 + Sherwood C. Chu and + Mones Berman An Exponential Method for the Solution + of Systems of Ordinary Differential + Equations . . . . . . . . . . . . . . . 699--702 + J. Pomeranz ACM Algorithm 487: Exact Cumulative + Distribution of the Kolmogorov-Smirnov + Statistic for Small Samples . . . . . . 703--704 + R. P. Brent ACM Algorithm 488: A Gaussian + pseudo-random number generator [G5] . . 704--706 (or 704--705??) + C. William Skinner Heuristic Approach to Inductive + Inference in Fact Retrieval Systems . . 707--712 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 21, Number 1, January, 1974 + ++ D. Mitra Some Aspects of Hierarchical Memory + Systems . . . . . . . . . . . . . . . . 54--65 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 6, Number 10, October, 1975 + ++ R. E. Millstein Control Structures in Illiac IV Fortran 157--164 + T. Sterling and + V. Lum and + N. Shu and + B. Housel CONVERT\/: A High Level Translation + Definition Language for Data Conversion 557--567 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 18, Number 1, January, 1975 + ++ Aaron Finerman Professionalism in the Computing Field 4--9 + F. L. Bauer Positivity and Norms . . . . . . . . . . 9--13 + John Todd The Lemniscate Constants . . . . . . . . 14--19 + G. Peters and + J. H. Wilkinson On the Stability of Gauss-Jordan + Elimination with Pivoting . . . . . . . 20--24 + Garrett Birkhoff Two Hadamard Numbers for Matrices . . . 25--29 + A. van der Sluis Perturbations of Eigenvalues of + Non-Normal Matrices . . . . . . . . . . 30--36 + Marvin Marcus and + Herbert Robinson Elementary Divisors of Tensor Products 36--39 + Magnus R. Hestenes Pseudoinverses and Conjugate Gradients 40--43 + Harlan D. Mills The New Math of Computer Programming . . 43--48 + Tien Chi Chen and + Irving T. Ho Storage-Efficient Representation of + Decimal Data . . . . . . . . . . . . . . 49--52 + Werner Liniger Connections Between Accuracy and + Stability Properties of Linear Multistep + Formulas . . . . . . . . . . . . . . . . 53--56 + Richard J. Hanson Stably Updating Mean and Standard + Deviation of Data . . . . . . . . . . . 57--58 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 2, February, 1975 + ++ John McCarthy Proposed Criterion for a Cipher to be + Probable-Word Proof . . . . . . . . . . ?? + G. J. Burnett and + E. G. Coffman, Jr. Analysis of Interleaved Memory Systems + Using Blockage Buffers . . . . . . . . . 91--95 + Neil M. Goldman Sentence Paraphrasing from a Conceptual + Base . . . . . . . . . . . . . . . . . . 96--106 + Gordon J. VanderBrug and + Jack Minker State-Space, Problem-Reduction, and + Theorem Proving --- Some Relationships 107--115 + Carolyn Kimme and + Dana Ballard and + Jack Sklansky Finding Circles by an Array of + Accumulators . . . . . . . . . . . . . . 120--122 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 3, March, 1975 + ++ H. C. Johnston and + C. A. R. Hoare Matrix Reduction --- an Efficient Method + (school timetables) . . . . . . . . . . 141--150 + Brian W. Kernighan and + Lorinda L. Cherry A System for Typesetting Mathematics . . 151--157 + D. H. Lawrie and + T. Layman and + D. Baer and + J. M. Randal GLYPNIR --- A programming language for + Illiac IV . . . . . . . . . . . . . . . 157--164 + Robert W. Floyd and + Ronald L. Rivest Expected Time Bounds for Selection . . . 165--172 + R. W. Floyd and + R. L. Rivest ACM Algorithm 489: The Algorithm SELECT + -- for Finding the $i$th Smallest of $n$ + Elements . . . . . . . . . . . . . . . . 173--173 + A. M. Erisman and + W. F. Tinney On Computing Certain Elements of the + Inverse of a Sparse Matrix . . . . . . . 177--179 + L. F. Shampine Discrete Least Squares Polynomial Fits 179--180 + A. van der Sluis Corrigendum: ``Perturbations of + eigenvalues of non-normal matrices'' . . 180 + D. L. Parnas On a Solution to the Cigarette Smoker's + Problem (Without Conditional Statements) 181--183 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 4, April, 1975 + ++ Jack A. Chambers and + Ray V. Poore Computer Networks in Higher Education: + Socio-Economic-Political Factors . . . . 193--199 + E. S. Ginsberg and + D. Zaborowski ACM Algorithm 490: The Dilogarithm + Function of a Real Argument . . . . . . 200--202 + K. K. Shen and + J. L. Peterson Corrigendum: ``A Weighted Buddy Method + for Dynamic Storage Allocation'' . . . . 202--202 + Graham Smith On Maintenance of the Opportunity List + for Class-Teacher Timetable Problems . . 203--208 + I. C. Braid The Synthesis of Solids Bounded by Many + Faces . . . . . . . . . . . . . . . . . 209--216 + Vladimir Batagelj Quadratic Hash Method When the Table + Size is not a Prime Number . . . . . . . 216--217 + Henry S. Warren, Jr. A Modification of Warshall's Algorithm + for the Transitive Closure of Binary + Relations . . . . . . . . . . . . . . . 218--220 + James A. Hinds Algorithm for Locating Adjacent Storage + Blocks in the Buddy System . . . . . . . 221--222 + Jean G. Vaucher and + Pierre Duval A Comparison of Simulation Event List + Algorithms . . . . . . . . . . . . . . . 223--230 + Robert R. Korfhage and + David W. Matula On Salazar and Oakford . . . . . . . . . 240--240 + Michael R. Garey and + David S. Johnson On Salazar and Oakford . . . . . . . . . 240--241 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 5, May, 1975 + ++ David A. Fisher Copying Cyclic List Structures in Linear + Time Using Bounded Workspace . . . . . . 251--252 + Alfonso F. Cardenas Analysis and Performance of Inverted + Data Base Structures . . . . . . . . . . 253--263 + Yorick Wilks An intelligent analyzer and understander + of English . . . . . . . . . . . . . . . 264--274 + N. E. Gibbs ACM Algorithm 491: Basic Cycle + Generation . . . . . . . . . . . . . . . 275--276 (or 275--275??) + D. J. Evans and + M. Hatzopoulos A note on the LU factorization of a + symmetric matrix . . . . . . . . . . . . 278--279 + B. L. Fox More on $k$th Shortest Paths . . . . . . 279--279 + A. I. Wasserman A problem-list of public policy issues + concerning computers and health care . . 279--280 + Harlan D. Mills Corrigendum: ``The New Math of Computer + Programming'' . . . . . . . . . . . . . 280--280 + Steven L. Horowitz Syntactic Algorithm for Peak Detection + in Waveforms with Applications to + Cardiography . . . . . . . . . . . . . . 281--285 + Charles E. Pfefferkorn Heuristic Problem Solving Design System + for Equipment or Furniture Layouts . . . 286--297 + Robert R. Korfhage and + David W. Matula More on the Salazar and Oakford Paper 303--303 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 6, June, 1975 + ++ N. E. Gibbs ACM Algorithm 492: Generation of All the + Cycles of a Graph from a Set of Basic + Cycles . . . . . . . . . . . . . . . . . 310--310 + Bui Tuong Phong Illumination for Computer Generated + Pictures . . . . . . . . . . . . . . . . 311--317 + V. Y. Lum and + M. E. Senko and + C. P. Wang and + H. Ling A Cost Oriented Algorithm for Data Set + Allocation in Storage Hierarchies . . . 318--322 + Alan F. Babich and + John Grason and + David L. Parnas Significant Event Simulation . . . . . . 323--329 + Robert B. K. Dewar Indirect Threaded Code . . . . . . . . . 330--331 + Ben Cranston and + Rick Thomas Simplified Recombination Scheme for the + Fibonacci Buddy System . . . . . . . . . 331--332 + Alfred V. Aho and + Margaret J. Corasick Efficient String Matching: an Aid to + Bibliographic Search . . . . . . . . . . 333--340 + D. S. Hirschberg A Linear Space Algorithm for Computing + Maximal Common Subsequences . . . . . . 341--343 + Stephen Soule Addition in an Arbitrary Base Without + Radix Conversion . . . . . . . . . . . . 344--346 + L. H. Harper and + T. H. Payne and + J. E. Savage and + E. Straus Sorting $X + Y$ . . . . . . . . . . . . 347--350 (or 347--349??) + F. Paul Wyman Improved Event-Scanning Mechanisms for + Discrete Event Simulation . . . . . . . 350--353 + Donald E. Knuth and + Charles T. Zahn, Jr. Ill-Chosen Use of ``Event'' . . . . . . 360--360 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 7, July, 1975 + ++ P. J. Courtois Decomposability, Instabilities, and + Saturation in Multiprogramming Systems 371--377 + Soren Lauesen A large semaphore based operating system 377--389 + Naomi Sager and + Ralph Grishman Restriction Language for Computer + Grammars of Natural Language . . . . . . 390--400 + D. L. Parnas and + D. P. Siewiorek Use of the Concept of Transparency in + the Design of Hierarchically Structured + Systems . . . . . . . . . . . . . . . . 401--408 + H. Freeman and + R. Shapira Determining the Minimum-Area Encasing + Rectangle for an Arbitrary Closed Curve 409--413 + Daniel G. Bobrow A Note on Hash Linking . . . . . . . . . 413--415 + R. E. Weber and + B. Gilchrist Discrimination in the employment of + women in the computer industry . . . . . 416--418 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 8, August, 1975 + ++ John E. Shore On the External Storage Fragmentation + Produced by First-Fit and Best-Fit + Allocation Strategies . . . . . . . . . 433--440 + A. V. Aho and + S. C. Johnson and + J. D. Ullman Deterministic Parsing of Ambiguous + Grammars . . . . . . . . . . . . . . . . 441--452 + Edsger W. Dijkstra Guarded Commands, Nondeterminacy and + Formal Derivation of Programs . . . . . 453--457 + L. W. Cotton Remark on stably updating mean and + standard deviation of data . . . . . . . 458--458 + Stuart C. Shapiro and + Stanley C. Kwasny Interactive Consulting via Natural + Language . . . . . . . . . . . . . . . . 459--462 + John Todd Corrigendum: ``The Lemniscate + Constants'' . . . . . . . . . . . . . . 462--462 + J. G. Vaucher and + P. Duval Corrigendum: ``A comparison of + simulation event list algorithms'' . . . 462--462 + A. J. Smith Comments on a paper by T. C. Chen and I. + T. Ho . . . . . . . . . . . . . . . . . 463--463 + Sakti P. Ghosh Consecutive Storage of Relevant Records + with Redundancy . . . . . . . . . . . . 464--471 + Leslie Lamport Multiple Byte Processing with Full-Word + Instructions . . . . . . . . . . . . . . 471--475 + Keith Shwayder Combining Decision Rules in a Decision + Table . . . . . . . . . . . . . . . . . 476--480 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 9, September, 1975 + ++ Guy L. Steele, Jr. Multiprocessing Compactifying Garbage + Collection . . . . . . . . . . . . . . . 495--508 + Jon Louis Bentley Multidimensional Binary Search Trees + Used for Associative Searching . . . . . 509--517 + R. Mark Claudson Digital Simulation of River Plankton + Population Dynamics . . . . . . . . . . 517--523 + William F. Piepmeier Optimal Balancing of I/O Requests to + Disks . . . . . . . . . . . . . . . . . 524--527 + Ben Wegbreit Mechanical Program Analysis . . . . . . 528--539 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 10, October, 1975 + ++ Rob Gerritsen A Preliminary System for the Design of + DBTG Data Structures . . . . . . . . . . 551--557 + Nan C. Shu and + Barron C. Housel and + Vincent Y. Lum CONVERT: A High Level Translation + Definition Language for Data Conversion 557--567 + John Miles Smith and + Philip Yen-Tang Chang Optimizing the Performance of a + Relational Algebra Data Base Interface 568--579 + M. M. Astrahan and + D. D. Chamberlin Implementation of a Structured English + Query Language . . . . . . . . . . . . . 580--588 + Fanica Gavril Merging with Parallel Processors . . . . 588--591 + M. Reiser and + H. Kobayashi Horner's Rule for the Evaluation of + General Closed Queueing Networks . . . . 592--593 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 11, November, 1975 + ++ G. Salton and + A. Wong and + C. S. Yang A Vector Space Model for Automatic + Indexing . . . . . . . . . . . . . . . . 613--620 + Raymond F. Boyce and + Donald D. Chamberlin and + W. Frank King, III and + Michael M. Hammer Specifying Queries as Relational + Expressions: The Square Data Sublanguage 621--628 + Henry F. Ledgard and + Michael Marcotty A genealogy of control structures . . . 629--639 + Susan L. Graham and + Steven P. Rhodes Practical Syntactic Error Recovery . . . 639--650 (or 639--649??) + James R. Bitner and + Edward M. Reingold Backtrack Programming Techniques . . . . 651--656 + Lawrence T. Kou and + C. K. Wong A Note on the Set Basis Problem Related + to the Compaction of Character Sets . . 656--657 ++ +
+ ++ + Communications of the ACM
+
+Volume 18, Number 12, December, 1975 + ++ Peter Naur Programming Languages, Natural + Languages, and Mathematics . . . . . . . 676--683 + John B. Goodenough Exception Handling: Issues and a + Proposed Notation . . . . . . . . . . . 683--696 + Mehdi Jazayeri and + William F. Ogden and + William C. Rounds The Intrinsically Exponential Complexity + of the Circularity Problem for Attribute + Grammars . . . . . . . . . . . . . . . . 697--706 + Harry B. Hunt, III and + Thomas G. Szymanski and + Jeffrey D. Ullman On the Complexity of LR(k) Testing . . . 707--716 + Susan L. Graham and + Mark Wegman A fast and usually linear algorithm for + global flow analysis . . . . . . . . . . 716--716 + Richard J. Lipton Reduction: A Method of Proving + Properties of Parallel Programs . . . . 717--721 + J. T. Schwartz Automatic Data Structure Choice in a + Language of Very High Level . . . . . . 722--728 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 19, Number 1, January, 1976 + ++ Leonard Kleinrock and + William E. Naylor and + Holger Opderbeck A Study of Line Overhead in the ARPANET 3--13 + Neil C. Wilhelm An Anomaly in Disk Scheduling: A + Comparison of FCFS and SSTF Seek + Scheduling Using an Empirical Model for + Disk Accesses . . . . . . . . . . . . . 13--18 (or 13--17??) + Carson E. Agnew On Quadratic Adaptive Routing Algorithms 18--22 + P. L. Karlton and + S. H. Fuller and + R. E. Scroggs and + E. B. Kaehler Performance of Height-Balanced Trees . . 23--28 + J. J. Florentin Information Reference Coding . . . . . . 29--33 + Charles R. Litecky and + Gordon B. Davis Study of Errors, Error-Proneness, and + Error Diagnosis in Cobol . . . . . . . . 33--37 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 2, February, 1976 + ++ Donald E. Knuth Errata: ``Ancient Babylonian + algorithms'' + Gregor V. Bochmann Semantic Evaluation from Left to Right 55--62 + Ronald L. Rivest On Self-Organizing Sequential Search + Heuristics . . . . . . . . . . . . . . . 63--67 + F. M. Ives Permutation Enumeration: Four New + Permutation Algorithms . . . . . . . . . 68--72 + Alberto Martelli Application of Heuristic Search Methods + to Edge and Contour Detection . . . . . 73--83 + Kenneth F. Siler A Stochastic Evaluation Model for + Database Organizations in Data Retrieval + Systems . . . . . . . . . . . . . . . . 84--95 + Ronald Fagin A Counterintuitive Example of Computer + Paging . . . . . . . . . . . . . . . . . 96--97 + Ehud Artzy and + James A. Hinds and + Harry J. Saal A Fast Division Technique for Constant + Divisors . . . . . . . . . . . . . . . . 98--101 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 3, March, 1976 + ++ Allen Newell and + Herbert A. Simon Computer Science as Empirical Inquiry: + Symbols and Search . . . . . . . . . . . 113--126 + Jair M. Babad and + Mario M. Modiano Joining Policies in a Multipriority + Multiclass Batch Computer System . . . . 127--136 + F. E. Allen and + J. Cocke A Program Data Flow Analysis Procedure 137--147 (or 137--146??) + Naftaly Minski Intentional Resolution of Privacy + Protection in Database Systems . . . . . 148--159 + M. Naftaly Intentional resolution of privacy + protection in database systems . . . . . 148--159 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 4, April, 1976 + ++ O. R. Smoot Development of an international system + for legal protection of computer + programs . . . . . . . . . . . . . . . . 171--174 + Bennet P. Lientz A comparative evaluation of versions of + BASIC . . . . . . . . . . . . . . . . . 175--181 + J. Raymond LG: A language for analytic geometry . . 182--187 + Ronald Fagin Corrigendum: ``A Counterintuitive + Example of Computer Paging'' . . . . . . 187 + Shmuel Katz and + Zohar Manna Logical Analysis of Programs . . . . . . 188--206 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 5, May, 1976 + ++ Dorothy E. Denning A Lattice Model of Secure Information + Flow . . . . . . . . . . . . . . . . . . 236--243 + Jonathan K. Millen Security Kernel Validation in Practice 243--250 + Butler W. Lampson and + Howard E. Sturgis Reflections on an Operating System + Design . . . . . . . . . . . . . . . . . 251--265 + A. N. Habermann and + Lawrence Flon and + Lee Cooprider Modularization and Hierarchy in a Family + of Operating Systems . . . . . . . . . . 266--272 + John H. Howard Proving Monitors . . . . . . . . . . . . 273--279 (or 273--278??) + Susan Owicki and + David Gries Verifying Properties of Parallel + Programs: An Axiomatic Approach . . . . 279--285 + A. Wayne Madison and + Alan P. Batson Characteristics of Program Localities 285--294 + Barton G. Prieve and + R. S. Fabry VMIN --- an Optimal Variable-Space Page + Replacement Algorithm . . . . . . . . . 295--297 + Wesley W. Chu and + Holger Opderbeck Analysis of the PFF Replacement + Algorithm via a Semi-Markov Model . . . 298--304 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 6, June, 1976 + ++ O. E. Taulbee and + S. D. Conte Production and employment of Ph.D.'s in + computer science . . . . . . . . . . . . 311--313 + Dennis G. Severance and + Ricardo A. Duhne A Practitioner's Guide to Addressing + Algorithms . . . . . . . . . . . . . . . 314--326 + Forest Baskett and + Alan Jay Smith Interference in Multiprocessor Computer + Systems with Interleaved Memory . . . . 327--334 + Gideon Frieder and + Harry J. Saal Process for the Determination of + Addresses in Variable Length Addressing 335--338 + David S. Wise Referencing Lists by an Edge . . . . . . 338--342 + Helmut Schumacher and + Kenneth C. Sevcik The synthetic approach to decision table + conversion . . . . . . . . . . . . . . . 343--351 + Douglas W. Clark An Efficient List Moving Algorithm Using + constant Workspace . . . . . . . . . . . 352--354 (or 353--354??) + Guy L. Steele, Jr. Corrigendum: ``Multiprocessing + Compactifying Garbage Collection'' . . . 354--354 + Gary D. Knott A Numbering System for Permutations of + Combinations . . . . . . . . . . . . . . 355--356 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 7, July, 1976 + ++ S. D. Conte and + M. H. Halstead Technology of Computer Center + Management: a Proposed Course for + Graduate Professional Programs in + Computer Science or in Information + Systems . . . . . . . . . . . . . . . . 369--370 + Robert M. Keller Formal Verification of Parallel Programs 371--384 + James C. King Symbolic Execution and Program Testing 385--394 + Robert M. Metcalfe and + David R. Boggs Ethernet: Distributed Packet Switching + for Local Computer Networks . . . . . . 395--404 + Cheng-Wen Cheng and + Jonas Rabin Synthesis of Decision Rules . . . . . . 404--406 + George S. Fishman Sampling from the Gamma-distribution on + a computer . . . . . . . . . . . . . . . 407--409 + Kurt Maly Compressed Tries . . . . . . . . . . . . 409--415 + Warren Burton A buddy system variation for disk + storage allocation . . . . . . . . . . . 416--417 + G. H. Gonnet Heaps applied to event driven mechanisms 417--418 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 8, August, 1976 + ++ John J. Donovan Tools and Philosophy for Software + Education . . . . . . . . . . . . . . . 430--436 + R. D. Tennent The Denotational Semantics of + Programming Languages . . . . . . . . . 437--453 + James H. Clark Designing Surfaces in 3-D . . . . . . . 454--460 + Michael A. Harrison and + Walter L. Ruzzo and + Jeffrey D. Ullman Protection in Operating Systems . . . . 461--471 + D. S. Hirschberg An Insertion Technique for One-Sided + Height-Balanced Trees . . . . . . . . . 471--473 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 9, September, 1976 + ++ Wesley W. Chu and + Holger Opderbeck Corrigendum: ``Analysis of the PFF + replacement algorithm via a semi-Markov + model'' + Ben Wegbreit Corrigendum: ``Faster Retrieval from + Context Trees'' . . . . . . . . . . . . ?? + Philip L. Wadler Analysis of an Algorithm for Real Time + Garbage Collection . . . . . . . . . . . 491--500 + Chee K. Yap New Upper Bounds for Selection . . . . . 501--508 + Michael C. Loui Weighted Derivation Trees . . . . . . . 509--513 + Kenneth G. Walter Recursion Analysis for Compiler + Optimization . . . . . . . . . . . . . . 514--516 + James R. Bitner and + Gideon Ehrlich and + Edward M. Reingold Efficient Generation of the Binary + Reflected Gray Code and Its Applications 517--521 + L. Peter Deutsch and + Daniel G. Bobrow An Efficient, Incremental, Automatic + Garbage Collector . . . . . . . . . . . 522--526 + Ben Wegbreit Faster Retrieval from Context Trees . . 526--529 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 10, October, 1976 + ++ James F. Blinn and + Martin E. Newell Texture and Reflection in Computer + Generated Images . . . . . . . . . . . . 542--547 + James H. Clark Hierarchical Geometric Models for + Visible Surface Algorithms . . . . . . . 547--554 + Joshua Z. Levin A Parametric Algorithm for Drawing + Pictures of Solid Objects Composed of + Quadric Surfaces . . . . . . . . . . . . 555--563 + N. Burtnyk and + M. Wein Interactive Skeleton Techniques for + Enhancing Motion Dynamics in Key Frame + Animation . . . . . . . . . . . . . . . 564--569 + James W. Frane The BMD and BMDP Series of Statistical + Computer Programs . . . . . . . . . . . 570--576 + C. Duong-Kien and + H.-J. Hoffmann and + D. Muth An improvement to Martin's algorithm for + computation of linear precedence + functions . . . . . . . . . . . . . . . 576--577 + Richard G. Montanelli, Jr. and + Sandra A. Mamrak Status of Women and Minorities in + Academic Computer Science . . . . . . . 578--581 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 11, November, 1976 + ++ D. T. Ross Homilies for humble standards (computer + applications) . . . . . . . . . . . . . 595--600 + Henry F. Ledgard and + William C. Cave Cobol Under Control . . . . . . . . . . 601--608 + Thomas R. Wilcox and + Alan M. Davis and + Michael H. Tindall Design and Implementation of a Table + Driven, Interactive Diagnostic + Programming System . . . . . . . . . . . 609--616 + Frank Rubin Experiments in Text File Compression . . 617--623 (or 617--622??) + K. P. Eswaran and + J. N. Gray and + R. A. Lorie and + I. L. Traiger The notions of consistency and predicate + locks in a database system . . . . . . . 624--633 + K. Maruyama and + S. E. Smith Optimal Reorganization of Distributed + Space Disk Files . . . . . . . . . . . . 634--642 + Richard G. Hamlet High-Level Binding with Low-Level + Linkers . . . . . . . . . . . . . . . . 642--644 ++ +
+ ++ + Communications of the ACM
+
+Volume 19, Number 12, December, 1976 + ++ Jean E. Sammet Roster of Programming Languages for + 1974--75 . . . . . . . . . . . . . . . . 655--669 + Bruce W. Arden The Computer Science and Engineering + Research Study (COSERS) . . . . . . . . 670--673 + J. F. Nunamaker, Jr. and + Benn R. Konsynski, Jr. and + Thomas Ho and + Carl Singer Computer-Aided Analysis and Design of + Information Systems . . . . . . . . . . 674--687 + George Stockman and + Laveen Kanal and + M. C. Kyle Structural Pattern Recognition of + Carotid Pulse Waves Using a General + Waveform Parsing System . . . . . . . . 688--695 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 20, Number 1, January, 1977 + ++ Allen van Gelder Structured programming in COBOL: an + approach for application programmers . . 2--12 + Richard H. Austing and + Bruce H. Barnes and + Gerald L. Engel A Survey of the Literature in Computer + Science Education Since Curriculum '68 13--21 + Jair M. Babad A Record and File Partitioning Model . . 22--31 (or 22--30??) + Albert L. Zobrist and + Frederick R. Carlson, Jr. Detection of Combined Occurrences . . . 31--36 (or 31--35??) + A. P. Batson and + R. E. Brundage Segment Sizes and Lifetimes in Algol 60 + Programs . . . . . . . . . . . . . . . . 36--44 + David Gries On Believing Programs to be Correct . . 49--50 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 2, February, 1977 + ++ Mervin E. Muller An Approach to Multidimensional Data + Array Processing by Computer . . . . . . 63--77 + Douglas W. Clark and + C. Cordell Green An Empirical Study of List Structure in + LISP . . . . . . . . . . . . . . . . . . 78--87 + F. P. Preparata and + S. J. Hong Convex Hulls of Finite Sets of Points in + Two and Three Dimensions . . . . . . . . 87--93 + M. C. Easton and + B. T. Bennett Transient-Free Working-Set Statistics 93--99 + Jack Bresenham A Linear Algorithm for Incremental + Digital Display of Circular Arcs . . . . 100--106 + Thoddi C. T. Kotiah and + David I. Steinberg Occurrences of Cycling and Other + Phenomena Arising in a Class of Linear + Programming Models . . . . . . . . . . . 107--112 + Gary D. Knott A Numbering System for Binary Trees . . 113--115 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 3, March, 1977 + ++ Philip Clapson Improving the Access Time for Random + Access Files . . . . . . . . . . . . . . 127--135 + C. T. Yu and + G. Salton Effective Information Retrieval Using + Term Accuracy . . . . . . . . . . . . . 135--142 + Amund Lunde Empirical Evaluation of Some Features of + Instruction Set Processor Architectures 143--153 + R. M. Brown and + J. C. Browne and + K. M. Chandy Memory Management and Response Time . . 153--165 + Warren Burton Representation of Many-Sided Polygons + and Polygonal Lines for Rapid Processing 166--171 + H. B. Hunt, III and + T. G. Szymanski and + J. D. Ullman Operations on Sparse Relations . . . . . 171--176 + Richard L. Nolan Effects of Chargeout on User/Manager + Attitudes . . . . . . . . . . . . . . . 177--185 + Israel Borovits and + Philip Ein-Dor Cost/utilization: A measure of system + performance . . . . . . . . . . . . . . 185--191 + C. Bays A comparison of next-fit, first-fit, and + best-fit . . . . . . . . . . . . . . . . 191--192 + Eberhard Bertsch The storage requirement in precedence + parsing . . . . . . . . . . . . . . . . 192--196 (or 192--194??) ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 4, April, 1977 + ++ James H. Morris, Jr. and + Ben Wegbreit Subgoal Induction . . . . . . . . . . . 209--222 + Steven L. Tanimoto and + Theodosios Pavlidis Editing of Picture Segmentations Using + Local Analysis of Graphs . . . . . . . . 223--229 + Nicholas V. Findler Studies in Machine Cognition Using the + Game of Poker . . . . . . . . . . . . . 230--245 + K. Maruyama and + S. E. Smith Analysis of Design Alternatives for + Virtual Memory Indexes . . . . . . . . . 245--254 + Henry C. Lucas, Jr. and + Jimmy A. Sutton Stage Hypothesis and the S-Curve: Some + Contradictory Evidence . . . . . . . . . 254--259 + S. B. Yao Approximating block accesses in database + organizations . . . . . . . . . . . . . 260--261 + C. R. Hollander Remark on uniform insertion on + structured data structures . . . . . . . 261--262 + S. K. Bandyopadhyay Comment on weighted increment linear + search for scatter tables . . . . . . . 262--263 + C. D. Thompson and + H. T. Kung Sorting on a Mesh-Connected Parallel + Computer . . . . . . . . . . . . . . . . 263--271 + Lawrence Robinson and + Karl N. Levitt Proof Techniques for Hierarchically + Structured Programs . . . . . . . . . . 271--283 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 5, May, 1977 + ++ R. C. Holt and + D. B. Wortman and + D. T. Barnard and + J. R. Cordy SP/k: A System for Teaching Computer + Programming . . . . . . . . . . . . . . 301--309 + George S. Fishman Achieving Specific Accuracy in + Simulation Output Analysis . . . . . . . 310--315 + Howard L. Morgan and + K. Dan Levin Optimal Program and Data Locations in + Computer Networks . . . . . . . . . . . 315--322 + J.-L. Baer and + B. Schwab A Comparison of Tree-Balancing + Algorithms . . . . . . . . . . . . . . . 322--330 + Neil J. Stillman and + P. Bruce Berra A Comparison of Hardware and Software + Associative Memories in the Context of + Computer Graphics . . . . . . . . . . . 331--339 + Marvin Shapiro Choice of Reference Points in Best-Match + File Searching . . . . . . . . . . . . . 339--343 + Michael Z. Hanani An Optimal Evaluation of Boolean + Expressions in an Online Query System 344--347 + Y. Milman An Approach to Optimal Design of Storage + Parameters in Databases . . . . . . . . 347--350 + James W. Hunt and + Thomas G. Szymanski A Fast Algorithm for Computing Longest + Common Subsequences . . . . . . . . . . 350--353 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 6, June, 1977 + ++ Orrin E. Taulbee and + S. D. Conte Production and Employment of Ph.D.'s in + Computer Science --- 1976 . . . . . . . 370--372 + Ben Shneiderman and + Richard Mayer and + Don McKay and + Peter Heller Experimental Investigations of the + Utility of Detailed Flowcharts in + Programming . . . . . . . . . . . . . . 373--381 + H. F. Ledgard and + R. W. Taylor Two Views of Data Abstraction . . . . . 382--384 + Moshé M. Zloof and + S. Peter de Jong The System for Business Automation + (SBA): Programming Language . . . . . . 385--396 + John V. Guttag Abstract Data Types and the Development + of Data Structures . . . . . . . . . . . 396--404 + John Miles Smith and + Diane C. P. Smith Database Abstractions: Aggregation . . . 405--413 + David Gries and + Narain Gehani Some Ideas on Data Types in High-Level + Languages . . . . . . . . . . . . . . . 414--420 + James L. Peterson and + Theodore A. Norman Buddy Systems . . . . . . . . . . . . . 421--431 + J. M. Robson A Bounded Storage Algorithm for Copying + Cyclic Structures . . . . . . . . . . . 431--433 + R. S. Bird Notes on Recursion Elimination . . . . . 434--439 + Henry S. Warren, Jr. Functions Realizable with Word-Parallel + Logical and Two's-Complement Addition + Instructions . . . . . . . . . . . . . . 439--441 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 7, July, 1977 + ++ Sandra A. Mamrak Dynamic Response Time Prediction for + Computer Networks . . . . . . . . . . . 461--468 + Manfred Ruschitzka and + R. S. Fabry A Unifying Approach to Scheduling . . . 469--477 + William D. Tajibnapis A Correctness Proof of a Topology + Information Maintenance Protocol for a + Distributed Computer Network . . . . . . 477--485 + Paul G. Heckel and + Butler W. Lampson A terminal-oriented communication system 486--494 + Ben Ross Schneider, Jr. and + Reid M. Watts SITAR: an Interactive Text Processing + System for Small Computers . . . . . . . 495--499 + J. L. W. Kessels Alternative to Event Queues for + Synchronization in Monitors . . . . . . 500--503 + Dorothy E. Denning and + Peter J. Denning Certification of Programs for Secure + Information Flow . . . . . . . . . . . . 504--513 + Jeffrey M. Barth Shifting Garbage Collection Overhead to + Compile Time . . . . . . . . . . . . . . 513--518 + E. A. Ashcroft and + W. W. Wadge Lucid, a Nonprocedural Language with + Iteration . . . . . . . . . . . . . . . 519--526 + J. Nevil Brownlee An Algol-based implementation of SNOBOL + 4 patterns . . . . . . . . . . . . . . . 527--529 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 8, August, 1977 + ++ Charles M. Geschke and + James H. Morris, Jr. and + Edwin H. Satterthwaite Early Experience with Mesa . . . . . . . 540--553 + Mary Shaw and + William A. Wulf and + Ralph L. London Abstraction and Verification in Alphard: + Defining and Specifying Iteration and + Generators . . . . . . . . . . . . . . . 553--564 + Barbara Liskov and + Alan Snyder and + Russell Atkinson and + Craig Schaffert Abstraction Mechanisms in CLU . . . . . 564--576 + Niklaus Wirth Toward a Discipline of Real-Time + Programming . . . . . . . . . . . . . . 577--583 + J. D. Gannon An experimental evaluation of data type + conventions . . . . . . . . . . . . . . 584--595 + W. R. Franta and + Kurt Maly An Efficient Data Structure for the + Simulation Event Set . . . . . . . . . . 596--602 + Eugene L. Lawler Comment on computing the $k$ shortest + paths in a graph . . . . . . . . . . . . 603--604 + N. Francez Another advantage of keyword notation + for parameter communication with + subprograms . . . . . . . . . . . . . . 604--605 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 9, September, 1977 + ++ Michael O. Rabin Complexity of Computations . . . . . . . 625--633 + Dana S. Scott Logic and Programming Languages . . . . 634--641 + Richard H. Austing The GRE Advanced Test in Computer + Science . . . . . . . . . . . . . . . . 642--645 + Robert W. Scheifler An Analysis of Inline Substitution for a + Structured Programming Language . . . . 647--654 + David K. Gifford Hardware Estimation of a Process' + Primary Memory Requirements . . . . . . 655--663 + Harry G. Mairson Some New Upper Bounds on the Generation + of Prime Numbers . . . . . . . . . . . . 664--669 + Edward M. McCreight Pagination of B*-Trees with + Variable-Length Records . . . . . . . . 670--674 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 10, October, 1977 + ++ H. Fuchs and + Z. M. Kedem and + S. P. Uselton Optimal Surface Reconstruction from + Planar Contours . . . . . . . . . . . . 693--702 + Sheng-Chuan C. Wu and + John F. Abel and + Donald P. Greenberg An Interactive Computer Graphics + Approach to Surface Representation . . . 703--712 + Barry K. Rosen High-Level Data Flow Analysis . . . . . 712--724 + C. Montangero and + G. Pacini and + F. Turini Two-Level Control Structure for + Nondeterministic Programming . . . . . . 725--730 + Wilf R. LaLonde Regular Right Part Grammars and Their + Parsers . . . . . . . . . . . . . . . . 731--741 + R. Devillers Game Interpretation of the Deadlock + Avoidance Problem . . . . . . . . . . . 741--745 + Evan L. Ivie Programmer's Workbench --- a Machine for + Software Development . . . . . . . . . . 746--753 + Alan Jay Smith Multiprocessor Memory Organization and + Memory Interference . . . . . . . . . . 754--761 + Robert S. Boyer and + J. Strother Moore A Fast String Searching Algorithm . . . 762--772 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 11, November, 1977 + ++ J. A. N. Lee Considerations for future programming + language standards activities . . . . . 788--794 + Rollins Turner and + Bill Strecker Use of the LRU Stack Depth Distribution + for Simulation of Paging Behavior . . . 795--798 + Franklin C. Crow The Aliasing Problem in + Computer-Generated Shaded Images . . . . 799--805 + Leslie Lamport Concurrent Reading and Writing . . . . . 806--811 + John E. Shore Anomalous Behavior of the Fifty-Percent + Rule in Dynamic Memory Allocation . . . 812--820 + G. C. Stockman and + A. K. Agrawala Equivalence of Hough curve detection to + template matching . . . . . . . . . . . 820--822 + N. Wirth What can we do about the unnecessary + diversity of notation for syntactic + definitions? . . . . . . . . . . . . . . 822--823 + M. K. Roy A note on reflection-free permutation + enumeration . . . . . . . . . . . . . . 823--823 + Zohar Manna and + Adi Shamir The Optimal Approach to Recursive + Programs . . . . . . . . . . . . . . . . 824--831 + Michael Hammer and + W. Gerry Howe and + Vincent J. Kruskal and + Irving Wladawsky Very High Level Programming Language for + Data Processing Applications . . . . . . 832--840 + Renzo Sprugnoli Perfect Hashing Functions: A Single + Probe Retrieving Method for Static Sets 841--850 + John Cocke and + Ken Kennedy An Algorithm for Reduction of Operator + Strength . . . . . . . . . . . . . . . . 850--856 + R. S. Bird Improving Programs by the Introduction + of Recursion . . . . . . . . . . . . . . 856--863 + Norman R. Nielsen Dynamic Memory Allocation in Computer + Simulation . . . . . . . . . . . . . . . 864--873 + Michael W. Blasgen and + Richard G. Casey and + Kapali P. Eswaran An Encoding Method for Multifield + Sorting and Indexing . . . . . . . . . . 874--878 + Enrique Grapa and + Geneva G. Belford Some Theorems to Aid in Solving the File + Allocation Problem . . . . . . . . . . . 878--882 ++ +
+ ++ + Communications of the ACM
+
+Volume 20, Number 12, December, 1977 + ++ A. A. Lopez and + R. Raymond and + R. Tardiff A survey of computer science offerings + in small liberal arts colleges . . . . . 902--906 + J. L. W. Kessels A Conceptual Framework for a + Nonprocedural Programming Language . . . 906--913 + J. Lawrence Carter A Case Study of a New Code Generation + Technique for Compilers . . . . . . . . 914--920 + David Gries An Exercise in Proving Parallel Programs + Correct . . . . . . . . . . . . . . . . 921--930 + Irene Grief A language for formal problem + specification . . . . . . . . . . . . . 931--935 + Marshall D. Abrams and + Siegfried Treu A Methodology for Interactive Computer + Service Measurement . . . . . . . . . . 936--944 + J. N. Danziger and + W. H. Dutton Computers as an innovation in American + local governments . . . . . . . . . . . 945--956 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 24, Number 1, January, 1977 + ++ P. D. Summers A Methodology for LISP Program + Construction from Examples . . . . . . . 161--175 + S. H. Lavington The Manchester Mark I and Atlas: a + historical perspective . . . . . . . . . 4--12 + R. N. Ibbett and + P. C. Capon The development of the MU5 computer + system . . . . . . . . . . . . . . . . . 13--24 + B. R. Borgerson and + M. L. Hanson and + P. A. Hartley Evolution of the Sperry Univac 1100 + Series: a History, Analysis, and + Projection . . . . . . . . . . . . . . . 25--43 + C. G. Bell and + A. Kotok and + T. N. Hastings and + R. Hill The Evolution of the DECsystem 10 . . . 44--63 + Richard M. Russell The CRAY-1 Computer System . . . . . . . 63--72 + Richard P. Case and + Andris Padegs Architecture of the IBM System/370 . . . 73--96 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 21, Number 2, February, 1978 + ++ S. A. Mamrak and + R. G. Montanelli, Jr. Computer science faculties: the current + status of minorities and women . . . . . 115--119 + R. L. Rivest and + A. Shamir and + L. Adelman A Method for Obtaining Digital + Signatures and Public-Key Cryptosystems 120--126 + M. A. Auslander and + H. R. Strong Systematic Recursion Removal . . . . . . 127--134 + L. T. Kou and + L. J. Stockmeyer and + C. K. Wong Covering Edges by Cliques with Regard to + Keyword Conflicts and Intersection + Graphs . . . . . . . . . . . . . . . . . 135--139 + Gerald Held and + Michael Stonebraker B-Trees Re-Examined . . . . . . . . . . 139--143 + William J. Stewart A Comparison of Numerical Techniques in + Markov Modeling . . . . . . . . . . . . 144--152 + Gabor T. Herman and + Arnold Lent and + Peter H. Lutz Relaxation Methods for Image + Reconstruction . . . . . . . . . . . . . 152--158 + Zohar Manna and + Richard Waldinger Is `Sometime' Sometimes Better Than + `Always'? (Intermittent Assertions in + Proving Program Correctness) . . . . . . 159--172 + Bruce J. Schachter and + Azriel Rosenfeld Some New Methods of Detecting Step Edges + in Digital Pictures . . . . . . . . . . 172--176 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 3, March, 1978 + ++ Michael O. Rabin Corrigendum: ``Complexity of + computations'' + Henry C. Lucas, Jr. Use of an Interactive Information + Storage and Retrieval System in Medical + Research . . . . . . . . . . . . . . . . 197--205 + William H. Dutton and + Kenneth L. Kraemer Management Utilization of Computers in + American Local Governments . . . . . . . 206--218 + R. E. Anderson Value orientation of computer science + students . . . . . . . . . . . . . . . . 219--225 + S. Rao Kosaraju Insertions and Deletions in One-Sided + Height-Balanced Trees . . . . . . . . . 226--227 + Richard A. DeMillo and + Stanley C. Eisenstat and + Richard J. Lipton Preserving Average Proximity in Arrays 228--231 + M. A. Franklin and + G. Scott Graham and + R. K. Gupta Anomalies with Variable Partition Paging + Algorithms . . . . . . . . . . . . . . . 232--236 + Andrew S. Tanenbaum Implications of Structured Programming + for Machine Architecture . . . . . . . . 237--246 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 4, April, 1978 + ++ W. H. Payne and + K. L. McMillen Orderly Enumeration of Nonsingular + Binary Matrices Applied to Text + Encryption . . . . . . . . . . . . . . . 259--263 + Paul Heckel A Technique for Isolating Differences + Between Files . . . . . . . . . . . . . 264--268 + Art Lew Optimal Conversion of Extended-Entry + Decision Tables with General Cost + Criteria . . . . . . . . . . . . . . . . 269--279 + Henry G. Baker, Jr. List Processing in Real Time on a Serial + Computer . . . . . . . . . . . . . . . . 280--294 + Ralph C. Merkle Secure Communications Over Insecure + Channels . . . . . . . . . . . . . . . . 294--299 + Thomas G. Szymanski Assembling Code for machines with + Span-Dependent Instructions . . . . . . 300--308 + Jean Vuillemin A Data Structure for Manipulating + Priority Queues . . . . . . . . . . . . 309--315 + S. Even and + M. Rodeh Economical Encoding of Commas Between + Strings . . . . . . . . . . . . . . . . 315--317 + R. C. H. Cheng Generating beta variates with + nonintegral shape parameters . . . . . . 317--322 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 5, May, 1978 + ++ Douglas W. Clark A Fast Algorithm for Copying List + Structures . . . . . . . . . . . . . . . 351--357 + Anita K. Jones and + Barbara H. Liskov A Language Extension for Expressing + Constraints on Data Access . . . . . . . 358--367 + Matthew Geller Test Data as an Aid in Proving Program + Correctness . . . . . . . . . . . . . . 368--375 + James R. Low Automatic Data Structure Selection: an + Example and Overview . . . . . . . . . . 376--385 + Michael Karr and + David B. Loveman III Incorporation of Units into Programming + Languages . . . . . . . . . . . . . . . 385--391 + David R. Hanson and + Ralph E. Griswold The SL5 procedure mechanism . . . . . . 392--400 + Frederick Hayes-Roth and + John McDermott An Interference Matching Technique for + Inducing Abstractions . . . . . . . . . 401--411 + J. M. Fleisher and + R. R. Meyer New Sufficient Optimality Conditions for + Integer Programming and Their + Application . . . . . . . . . . . . . . 411--418 + Pandu R. Tadikamalla Computer Generation of Gamma Random + Variables . . . . . . . . . . . . . . . 419--422 + Richard L. Sites Optimal Shift Strategy for a + Block-Transfer CCD Memory . . . . . . . 423--425 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 6, June, 1978 + ++ S. H. Zweben and + M. A. McDonald An Optimal Method for Deletion in + One-Sided Height-Balanced Trees . . . . 441--445 + James R. Driscoll and + Y. Edmund Lien A Selective Traversal Algorithm for + Binary Search Trees . . . . . . . . . . 445--447 + Jacques Cohen and + Martin S. Roth Analyses of Deterministic Parsing + Algorithms . . . . . . . . . . . . . . . 448--458 + M. Dennis Mickunas and + John A. Modry Automatic Error Recovery for LR Parsers 459--465 + B. P. Lientz and + E. B. Swanson and + G. E. Tompkins Characteristics of Application Software + Maintenance . . . . . . . . . . . . . . 466--471 + Earl Chrysler Some Basic Determinants of Computer + Programming Productivity . . . . . . . . 472--483 + Rob Kling Automated Welfare Client-Tracking and + Service Integration: the Political + Economy of Computing . . . . . . . . . . 484--493 + E. Gelenbe and + D. Derochette Performance of Rollback Recovery Systems + Under Intermittent Failures . . . . . . 493--499 + Toby J. Teorey General Equations for Idealized CPU-I/O + Overlap Configurations . . . . . . . . . 500--507 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 7, July, 1978 + ++ David L. Waltz An English Language Query Answering + System for a Large Relational Data Base 526--539 + Michael L. Fredman and + Bruce Weide On the complexity of computing the + measure of $\bigcup[a_i,b_i]$ . . . . . 540--544 + Francis Y. Chin An ${O}(n)$ Algorithm for Determining a + Near-Optimal Computation Order of Matrix + Chain Products . . . . . . . . . . . . . 544--549 + Yehoshua Perl and + Alon Itai and + Haim Avni Interpolation Search --- A Log Log N + Search . . . . . . . . . . . . . . . . . 550--553 + Constantine Halatsis and + George Philokyprou Pseudochaining in Hash Tables . . . . . 554--557 + Leslie Lamport Time, Clocks, and the Ordering of Events + in a Distributed System . . . . . . . . 558--565 + Henry Givens Baker, Jr. Shallow Binding in Lisp 1.5 . . . . . . 565--569 + Hanan Samet Proving the Correctness of Heuristically + Optimized Code . . . . . . . . . . . . . 570--582 + Robert E. Shostak An Algorithm for Reasoning About + Equality . . . . . . . . . . . . . . . . 583--585 + Rahul Chattergy and + Udo W. Pooch Analysis of the Availability of Computer + Systems Using Computer-Aided Algebra . . 586--591 + Lawrence Snyder B-Trees Re-examined . . . . . . . . . . 594--594 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 8, August, 1978 + ++ John Backus Can Programming Be Liberated From the + von Neumann Style? A Functional Style + and its Algebra of Programs . . . . . . 613--641 + R. Kling Value conflicts and social choice in + electronic funds transfer system + developments . . . . . . . . . . . . . . 642--657 + D. S. Hirschberg Fast Parallel Sorting Algorithms . . . . 657--661 + F. Lockwood Morris A Time- and Space-Efficient Garbage + Compaction Algorithm . . . . . . . . . . 662--665 + C. A. R. Hoare Communicating Sequential Processes . . . 666--677 + Richard S. Brice and + J. C. Browne Feedback Coupled Resource Allocation + Policies in the + Multiprogramming-Multiprocessor Computer + System . . . . . . . . . . . . . . . . . 678--686 + Peter Scheuermann and + C. Robert Carlson Self-Assessment Procedure V: a + self-assessment procedure dealing with + database systems . . . . . . . . . . . . 687--693 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 9, September, 1978 + ++ R. A. Harris and + J. D. Zund An algorithm using symbolic techniques + for the Bel-Petrov classification of + gravitational fields . . . . . . . . . . 715--717 + H. D. Schwetman Hybrid Simulation Models of Computer + Systems . . . . . . . . . . . . . . . . 718--723 + Jeffrey M. Barth A Practical Interprocedural Data Flow + Analysis Algorithm . . . . . . . . . . . 724--736 + Gerald J. Popek and + David A. Farber Model for Verification of Data Security + in Operating Systems . . . . . . . . . . 737--749 + Peter J. Denning and + Donald R. Slutz Generalized Working Sets for Segment + Reference Strings . . . . . . . . . . . 750--759 + Glenford J. Myers Controlled Experiment in Program Testing + and Code Walkthroughs/Inspections . . . 760--768 + Th. Ottmann and + H. W. Six and + D. Wood Right Brother Trees . . . . . . . . . . 769--776 + Ernst G. Ulrich Event Manipulation for Discrete + Simulations Requiring Large Numbers of + Events . . . . . . . . . . . . . . . . . 777--785 + K. Maly A note on virtual memory indexes . . . . 786--787 + Stephen A. Ward Real Time Plotting of Approximate + Contour Maps . . . . . . . . . . . . . . 788--790 + A. Tenenbaum Simulations of dynamic sequential search + algorithms . . . . . . . . . . . . . . . 790--791 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 10, October, 1978 + ++ Walt Brainerd Fortran 77 . . . . . . . . . . . . . . . 806--820 + D. Towsley and + K. M. Chandy and + J. C. Browne Models for Parallel Processing Within + Programs: Application to CPU:I/O and + I/O:I/O Overlap . . . . . . . . . . . . 821--831 + Ben Shneiderman Jump Searching: A Fast Sequential Search + Technique . . . . . . . . . . . . . . . 831--834 + Shi-Kuo Chang and + Yin-Wah Wong Optimal Histogram Matching by Monotone + Gray Level Transformation . . . . . . . 835--840 + Robert Morris Counting Large Numbers of Events in + Small Registers . . . . . . . . . . . . 840--842 + Colin L. McMaster An Analysis of Algorithms for the Dutch + National Flag Problem . . . . . . . . . 842--846 + Robert Sedgewick Implementing Quicksort Programs . . . . 847--857 + Gordon Lyon Packed Scatter Tables . . . . . . . . . 857--865 + Malcolm C. Easton and + Ronald Fagin Cold-Start Vs. Warm-Start Miss Ratios 866--872 + W. R. Franta and + Kurt Maly A comparison of heaps and the TL + structure for the simulation event set 873--875 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 11, November, 1978 + ++ Norman R. Lyons Systems Design Education: a Gaming + Approach . . . . . . . . . . . . . . . . 889--895 + J. W. Wendorf A Simply Extended and Modified Batch + Environment Graphical System (Sembegs) 897--904 + B. Kumar and + E. S. Davidson Performance Evaluation of Highly + Concurrent Computers by Deterministic + Simulation . . . . . . . . . . . . . . . 904--913 + Berthold K. P. Horn and + Brett L. Bachman Using Synthetic Images to Register Real + Images with Surface Models . . . . . . . 914--924 + P. R. Tadikamalla Computer Generation of Gamma Random + Variables --- II . . . . . . . . . . . . 925--928 + G. David Ripley Simple Recovery-Only Procedure for + Simple Precedence Parsers . . . . . . . 928--930 + D. P. Friedman and + D. S. Wise A Note on Conditional Expressions . . . 931--933 + Per Brinch Hansen Distributed Processes: A Concurrent + Programming Concept . . . . . . . . . . 934--941 + Fabrizio Luccio and + Linda Pagli Power Trees . . . . . . . . . . . . . . 941--947 + B. A. Sheil Median Split Trees: A Fast Lookup + Technique for Frequently Occurring Keys 947--958 + C. A. R. Hoare Corrigendum: ``Communicating Sequential + Processes'' . . . . . . . . . . . . . . 958--958 + Eugene C. Freuder Synthesizing Constraint Expressions . . 958--966 + Edsger W. Dijkstra and + Leslie Lamport and + A. J. Martin and + C. S. Scholten and + E. F. M. Steffens On-the-Fly Garbage Collection: An + Exercise in Cooperation . . . . . . . . 966--975 ++ +
+ ++ + Communications of the ACM
+
+Volume 21, Number 12, December, 1978 + ++ David Gries Corrigendum: ``An exercise in proving + parallel programs correct'' + Roger M. Needham and + Michael D. Schroeder Using Encryption for Authentication in + Large Networks of Computers . . . . . . 993--999 + David Gries and + Jayadev Misra A Linear Sieve Algorithm for Finding + Prime Numbers . . . . . . . . . . . . . 999--1003 + James L. Peterson and + James R. Bitner and + John H. Howard The Selection of Optimal Tab Settings 1004--1007 + James C. Wetherbe and + V. Thomas Dock Strategic Planning Methodology for the + Computing Effort in Higher Education: an + Empirical Evaluation . . . . . . . . . . 1008--1015 + M. Ibramsha and + V. Rajaraman Detection of Logical Errors in Decision + Table Programs . . . . . . . . . . . . . 1016--1025 + Alberto Martelli and + Ugo Montanari Optimizing Decision Trees Through + Heuristically Guided Search . . . . . . 1025--1039 + Yogen K. Dalal and + Robert M. Metcalfe Reverse Path Forwarding of Broadcast + Packets . . . . . . . . . . . . . . . . 1040--1048 + John V. Guttag and + Ellis Horowitz and + David R. Musser Abstract Data Types and Software + Validation . . . . . . . . . . . . . . . 1048--1064 + Jay M. Spitzen and + Karl N. Levitt and + Lawrence Robinson An Example of Hierarchical Design and + Proof . . . . . . . . . . . . . . . . . 1064--1075 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 23, Number 4, May, 1978 + ++ J. L. Bentley Multidimensional Divide-and-Conquer . . 214--228 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 22, Number 1, January, 1979 + ++ John W. Boyse Interference Detection Among Solids and + Surfaces . . . . . . . . . . . . . . . . 3--9 + Kent W. Colton The impact and use of computer + technology by the police . . . . . . . . 10--20 + Gian Carlo Bongiovanni and + Fabrizio Luccio Permutation of Data Blocks in a Bubble + Memory . . . . . . . . . . . . . . . . . 21--25 + Charles H. Sauer and + K. Mani Chandy The Impact of Distributions and + Disciplines on Multiple Processor + Systems . . . . . . . . . . . . . . . . 25--34 + J. P. Banâtre and + J. P. Routeau and + L. Trilling An event-driven compiling technique . . 34--42 + Jacques J. Arsac Syntactic Source to Source Transforms + and Program Manipulation . . . . . . . . 43--54 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 2, February, 1979 + ++ O. E. Taulbee and + S. D. Conte Production and employment of Ph.D.s in + computer science --- 1977 and 1978 . . . 75--76 + R. E. Fairley Employment characteristics of doctoral + level computer scientists . . . . . . . 77--78 + W. E. Gull and + M. A. Jenkins Recursive data structures in APL. . . . 79--96 + É. Morel and + C. Renvoise Global Optimization by Suppression of + Partial Redundancies . . . . . . . . . . 96--103 + M. R. Anderson and + M. G. Anderson Comments on Perfect Hashing Functions: A + Single Probe Retrieving Method for + Static Sets . . . . . . . . . . . . . . 104--105 + David R. Cheriton and + Michael A. Malcolm and + Lawrence S. Melen and + Gary R. Sager Thoth, a Portable Real-Time Operating + System . . . . . . . . . . . . . . . . . 105--115 + David P. Reed and + Rajendra K. Kanodia Synchronization with Eventcounts and + Sequencers . . . . . . . . . . . . . . . 115--123 + Haim Mendelson and + Joseph S. Pliskin and + Uri Yechiali Optimal Storage Allocation for Serial + Files . . . . . . . . . . . . . . . . . 124--130 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 3, March, 1979 + ++ Richard H. Austing and + Bruce H. Barnes and + Della T. Bonnette and + Gerald L. Engel and + Gordon Stokes Curriculum '78: Recommendations for the + Undergraduate Program in Computer + Science --- A Report of the ACM + Curriculum Committee on Computer Science 147--166 + Albert D. Edgar and + Samuel C. Lee FOCUS microcomputer number system . . . 166--177 + James Slagle Experiments with Some Algorithms that + Find Central Solutions for Pattern + Classification . . . . . . . . . . . . . 178--183 + Amaryllis Deliyanni and + Robert A. Kowalski Logic and Semantic Networks . . . . . . 184--192 + Dalia Motzkin Use of Normal Multiplication Tables for + Information Storage and Retrieval . . . 193--207 + C. L. McMaster Corrigendum: ``An Analysis of Algorithms + for the Dutch National Flag Problem'' 207--207 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 4, April, 1979 + ++ Arthur M. Lesk Detection of Three-Dimensional Patterns + of Atoms in Chemical Structures . . . . 219--224 + E. G. Cale and + L. L. Gremillion and + J. L. McKenney Price/Performance Patterns of U.S. + Computer Systems . . . . . . . . . . . . 225--233 + Giacomo Bucci and + Donald N. Streeter Methodology for the Design of + Distributed Information Systems . . . . 233--245 + Richard J. Hanson and + John A. Wisniewski A Mathematical Programming Updating + Method Using Modified Givens + Transformations and Applied to LP + Problems . . . . . . . . . . . . . . . . 245--251 + Daniel Brélaz New Methods to Color the Vertices of a + Graph . . . . . . . . . . . . . . . . . 251--256 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 5, May, 1979 + ++ Richard A. De Millo and + Richard J. Lipton and + Alan J. Perlis Social Processes and Proofs of Theorems + and Programs . . . . . . . . . . . . . . 271--280 + Ernest Chang and + Rosemary Roberts An Improved Algorithm for Decentralized + Extrema-Finding in Circular + Configurations of Processors . . . . . . 281--283 + T. D. Sterling Consumer Difficulties with Computerized + Transactions: an Empirical Investigation 283--289 + John C. Reynolds Reasoning About Arrays . . . . . . . . . 290--299 + Michael J. Manthey Model for and Discussion of + Multi-Interpreter Systems . . . . . . . 299--309 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 6, June, 1979 + ++ R. S. Lemos An implementation of structured + walk-throughs in teaching COBAL + programming . . . . . . . . . . . . . . 335--340 + S. N. Busenberg and + W. C. Tam An academic program providing realistic + training in software engineering . . . . 341--345 + Steven Alter Model for Automating File and Program + Design in Business Application Systems 345--353 + Jerome A. Feldman High Level Programming for Distributed + Computing . . . . . . . . . . . . . . . 353--368 + Robert Sedgewick Corrigendum: ``Implementing Quicksort + Programs'' . . . . . . . . . . . . . . . 368--368 + R. Shapira and + H. Freeman The Cyclic Order Property of Vertices as + an Aid in Scene Analysis . . . . . . . . 368--375 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 7, July, 1979 + ++ T. Winograd Beyond Programming Languages . . . . . . 391--401 + F. P. Preparata An Optimal Real-Time Algorithm for + Planar Convex Hulls . . . . . . . . . . 402--405 + Patrick C. Fischer and + Robert L. Probert Storage Reorganization Techniques for + Matrix Computation in a Paging + Environment . . . . . . . . . . . . . . 405--415 + J. H. Hine and + I. Mitrani and + S. Tsur The Control of Response Times in + Multi-Class Systems by Memory Allocation 415--424 + Robert A. Kowalski Algorithm = Logic + Control . . . . . . 424--436 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 8, August, 1979 + ++ J. W. Wong and + G. Scott Graham Self-Assessment Procedure VI: a + self-assessment procedure dealing with + queueing network models of computer + systems . . . . . . . . . . . . . . . . 449--454 + R. W. Floyd The paradigms of programming . . . . . . 455--460 + D. S. Hirschberg and + A. K. Chandra and + D. V. Sarwate Computing Connected Components on + Parallel Computers . . . . . . . . . . . 461--464 + Nachum Dershowitz and + Zohar Manna Proving Termination with Multiset + Orderings . . . . . . . . . . . . . . . 465--476 + Dorothy E. Denning Secure Personal Computing in an Insecure + Network . . . . . . . . . . . . . . . . 476--482 + L. S. Nelson Further remark on stably updating mean + and standard deviation estimates . . . . 483--483 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 9, September, 1979 + ++ Jerome A. Feldman and + William R. Sutherland Rejuvenating Experimental Computer + Science --- A Report to the National + Science Foundation and Others . . . . . 497--502 + Daniel D. McCracken, CCP and + Peter J. Denning and + David H. Brandin Addendum: An ACM Executive Committee + Position on the Crisis in Experimental + Computer Science . . . . . . . . . . . . 503--504 + Zvi Galil On Improving the Worse Case Running Time + of the Boyer-Moore String Matching + Algorithm . . . . . . . . . . . . . . . 505--508 +Kari-Jouko R\"aih\"a and + Stuart H. Zweben An Optimal Insertion Algorithm for + One-Sided Height-Balanced Binary Search + Trees . . . . . . . . . . . . . . . . . 508--512 + Wilfred J. Hansen Progressive acyclic digraphs --- a tool + for database integrity . . . . . . . . . 513--518 + G. Nagy and + S. G. Wagle Approximation of Polygonal Maps by + Cellular Maps . . . . . . . . . . . . . 518--525 + T. F. Chan and + J. G. Lewis Computing standard deviations: accuracy 526--531 + D. H. D. West Updating mean and variance estimates: an + improved method . . . . . . . . . . . . 532--535 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 10, October, 1979 + ++ P. D. Laird Comment on: ``An optimal evaluation of + Boolean expressions in an online query + system'' [Comm. ACM, 20, 1977, no. 5, + 344--347, MR 55 #9627] by M. Z. Hanani 549--550 + Ehud Gudes and + Anthony Hoffman A note on: ``An optimal evaluation of + Boolean expressions in an online query + system'' [Comm. ACM, 20, 1977, no. 5, + 344--347, MR 55 #9627] by M. Z. Hanani 550--553 + M. R. Anderson and + M. G. Anderson Corrigendum: ``Comments on Perfect + Hashing Functions: A Single Probe + Retrieving Method for Static Sets'' . . 553 + Leslie Lamport On the Proof of Correctness of a + Calendar Program . . . . . . . . . . . . 554--556 + Paul Klint Line Numbers Made Cheap . . . . . . . . 557--559 +Tomás Lozano-Pérez and + Michael A. Wesley An Algorithm for Planning Collision-Free + Paths Among Polyhedral Obstacles . . . . 560--570 + F. L. Morris On a Comparison of Garbage Collection + Techniques . . . . . . . . . . . . . . . 571 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 11, November, 1979 + ++ R. E. Mayer A psychology of learning BASIC . . . . . 589--593 + R. Morris and + K. Thompson Password Security --- A Case History . . 594--597 + Shmuel Peleg and + Azriel Rosenfeld Breaking Substitution Ciphers Using a + Relaxation Algorithm . . . . . . . . . . 598--605 + Robert Endre Tarjan and + Andrew Chi Chih Yao Storing a Sparse Table . . . . . . . . . 606--611 + Adi Shamir How to Share a Secret . . . . . . . . . 612--613 ++ +
+ ++ + Communications of the ACM
+
+Volume 22, Number 12, December, 1979 + ++ A. H. Lipis Costs of the current US payments system 644--647 + R. H. Long Public protection and education with EFT 648--654 + D. B. Parker Vulnerabilities of EFTs to intentionally + caused losses . . . . . . . . . . . . . 654--660 + K. L. Kraemer and + K. Colton Policy, values, and EFT research: + anatomy of a research agenda . . . . . . 660--671 + J. F. Shoch and + J. A. Hupp Measured Performance of an ETHERNET + Local Network . . . . . . . . . . . . . 711--721 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 26, Number 9, September, 1979 + ++ Hanan Samet A quadtree medial axis transform . . . . 680--693 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 33, Number 6, June, 1990 + ++ Peter K. Pearson Fast Hashing of Variable-Length Text + Strings . . . . . . . . . . . . . . . . 677--680 ++ +
+ ++ + Communications of the ACM
+
+Volume 33, Number 8, August, 1990 + ++ Daniel M. Sunday A Very Fast Substring Search Algorithm 132--142 ++ +
+
+ ++ + Communications of the ACM
+
+Volume 34, Number 11, November, 1991 + ++ I. Dittmer Note on Fast Hashing of Variable Length + Text Strings . . . . . . . . . . . . . . 118 + Jacques Savoy Note on Fast Hashing of Variable Length + Text Strings . . . . . . . . . . . . . . 118--119 + James Litsios Note on Fast Hashing of Variable Length + Text Strings . . . . . . . . . . . . . . 118--120 + Peter Pearson Note on Fast Hashing of Variable Length + Text Strings . . . . . . . . . . . . . . 120 ++ +
+
+ ++ + Computing Surveys
+
+Volume 6, Number 4, December, 1974 + ++ Donald E. Knuth Structured Programming with go to + Statements . . . . . . . . . . . . . . . 261--301 ++ +
+
+ ++ + Journal of the ACM
+
+Volume 23, Number 1, January, 1976 + ++ Susan L. Graham and + Mark Wegman A Fast and Usually Linear Algorithm for + Global Flow Analysis . . . . . . . . . . 172--202 ++ +
+
+ ++ + Management Science
+
+Volume 19, Number , , 1972 + ++ R. J. Brown Chromatic scheduling and the chromatic + number problem . . . . . . . . . . . . . 451--463 ++ +
+
+ ++ + SIAM Journal of Computing
+
+Volume 6, Number 2, June, 1977 + ++ Donald E. Knuth and + J. H. Morris and + V. R. Pratt Fast pattern matching in strings . . . . 323--350 ++ +
+
+ ++ + Software --- Practice and Experience
+
+Volume 12, Number 1, January, 1982 + ++ A. L. Tharp and + K.-C. Tai The practicality of text signatures for + accelerating string searching . . . . . 35--44 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 1, Number 3, September, 1975 + ++ Ove Skovgaard Remark on ``Algorithm 236: Bessel + Functions of the First Kind [S17]'' . . 282--284 + Jayadev Misra Remark on ``Algorithm 246: Graycode + [Z]'' . . . . . . . . . . . . . . . . . 285--285 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 1, Number 9, September, 1975 + ++ Robert Feinstein Remark on ``Algorithm 483: Masked + Three-Dimensional Plot Program with + Rotations [J6]'' . . . . . . . . . . . . 285--285 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 2, Number 1, March, 1976 + ++ D. M. Boulton Remark on ``Algorithm 434: Exact + Probabilities for $R\times{C}$ + Contingency Tables [G2]'' . . . . . . . 108--108 + Lucian D. Duta Remark on ``Algorithm 475: Visible + Surface Plotting Program [J6]'' . . . . 109--110 + G. M. White and + S. Goudreau and + J. L. Legros Remark on ``Algorithm 479: A Minimal + Spanning Tree Clustering Method [Z]'' 110--111 + J. Pomeranz Remark on ``Algorithm 487: Exact + Cumulative Distribution of the + Kolmogorov-Smirnov Statistic for Small + Samples [S14]'' . . . . . . . . . . . . 111--111 + Robert Morris Remark on ``Algorithm 490: The + Dilogarithm Function of a Real Argument + [S22]'' . . . . . . . . . . . . . . . . 112--112 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 2, Number 2, June, 1976 + ++ Malcolm C. Pike and + Jennie SooHoo Remark on ``Algorithm 179: Incomplete + Beta Ratio [S14]'' . . . . . . . . . . . 207--208 + Michael R. Anderson Remark on ``Algorithm 433: Interpolation + and Smooth Curve Fitting Based on Local + Procedures [E2]'' . . . . . . . . . . . 208--208 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 2, Number 3, September, 1976 + ++ Alan M. Davies Remark on ``Algorithm 450: Rosenbrock + Function Minimization [E4]'' . . . . . . 300--301 + Theodore Brown Remark on ``Algorithm 489: The Algorithm + SELECT --- for Finding the $i$th + Smallest of $n$ Elements [M1]'' . . . . 301--304 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 2, Number 4, December, 1976 + ++ M. R. Ito Remark on ``Algorithm 284: Interchange + of Two Blocks of Data [K2]'' . . . . . . 392--393 + Mohamed el Lozy Remark on ``Algorithm 299: Chi-Squared + Integral [S15]'' . . . . . . . . . . . . 393--395 + Henk Koppelaar and + Peter Molenaar Remark on ``Algorithm 486: Numerical + Inversion of Laplace Transform [D5]'' 395--396 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 3, Number 1, March, 1977 + ++ Esko G. Cate and + David W. Twigg Algorithm 513: Analysis of In-Situ + Transposition [F1] . . . . . . . . . . . 104--110 + Françoise Veillon Remark on ``Algorithm 486: Numerical + Inversion of Laplace Transform'' . . . . 111--111 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 3, Number 2, June, 1977 + ++ J. K. M. Jansen Remark on ``Algorithm 259: Legendre + Functions for Arguments Larger than + One'' . . . . . . . . . . . . . . . . . 204--250 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 3, Number 3, September, 1977 + ++ Paolo Sipala Remark on ``Algorithm 408: A Sparse + Matrix Package (Part I) [F4]'' . . . . . 303--303 + Dennis Tenney Remark on ``Algorithm 219: Topological + Ordering for PERT Networks'' . . . . . . 303--303 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 4, Number 1, March, 1978 + ++ Ove Skovgaard Remark on ``Algorithm 149: Complete + Elliptic Integral [S21]'' . . . . . . . 95--95 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 4, Number 3, September, 1978 + ++ John P. Coleman Remark on ``Algorithm 49: Spherical + Neumann Function'' . . . . . . . . . . . 295--295 + Fred G. Gustavson Remark on ``Algorithm 408: A Sparse + Matrix Package (Part I) [F4]'' . . . . . 295--295 + Andrew Y. Schoene Remark on ``Algorithm 435: Modified + Incomplete Gamma Function [S14]'' . . . 296--304 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 5, Number 2, June, 1979 + ++ Mohamed el Lozy Remark on ``Algorithm 395: Student's + $t$-Distribution'' and Remark on + ``Algorithm 396: Student's Quantiles + [S14]'' . . . . . . . . . . . . . . . . 238--239 + K. O. Geddes Remark on ``Algorithm 424: + Clenshaw-Curtis Quadrature [O1]'' . . . 240--240 + M. R. Anderson Remark on ``Algorithm 474: Bivariate + Interpolation and Smooth Surface Fitting + Based on Local Procedures'' . . . . . . 241--241 ++ +
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 5, Number 4, December, 1979 + ++ Burton L. Leathers Remark on ``Algorithm 513: Analysis of + In-Situ Transposition [F1]'' and Remark + on ``Algorithm 467: Matrix Transposition + in Place'' . . . . . . . . . . . . . . . 520--520 + A. C. M. van Swieten and + J. Th. M. de Hosson Remark on ``Algorithm 475: Visible + Surface Plotting Program'' . . . . . . . 521--523 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 6, Number 3, September, 1980 + ++ U. Harms and + H. Kollakowski and + G. Möller Remark on ``Algorithm 408: A Sparse + Matrix Package (Part 1) [F4]'' . . . . . 456--457 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 7, Number 2, June, 1981 + ++ G. W. Hill Remark on ``Algorithm 395: Student's + $t$-Distribution'' . . . . . . . . . . . 247--249 + G. W. Hill Remark on ``Algorithm 396: Student's + $t$-Quantiles'' . . . . . . . . . . . . 250--251 + I. D. Hill and + M. C. Pike Remark on ``Algorithm 299: Chi-Squared + Integral'' . . . . . . . . . . . . . . . 185--185 ++ +
+
+ ++ + ACM Transactions on Mathematical Software
+
+Volume 11, Number 4, December, 1985 + ++ M. C. Er Remark on ``Algorithm 246: Graycode + [Z]'' . . . . . . . . . . . . . . . . . 441--443 ++ + diff --git a/hawk/t/journal-toc.hawk b/hawk/t/journal-toc.hawk new file mode 100644 index 00000000..2df9547c --- /dev/null +++ b/hawk/t/journal-toc.hawk @@ -0,0 +1,993 @@ +# http://www.netlib.org/bibnet/tools/software/journal-toc.awk +# +### ==================================================================== +### @Awk-file{ +### author = "Nelson H. F. Beebe", +### version = "1.00", +### date = "09 October 1996", +### time = "15:57:06 MDT", +### filename = "journal-toc.awk", +### address = "Center for Scientific Computing +### Department of Mathematics +### University of Utah +### Salt Lake City, UT 84112 +### USA", +### telephone = "+1 801 581 5254", +### FAX = "+1 801 581 4148", +### URL = "http://www.math.utah.edu/~beebe", +### checksum = "25092 977 3357 26493", +### email = "beebe@math.utah.edu (Internet)", +### codetable = "ISO/ASCII", +### keywords = "BibTeX, bibliography, HTML, journal table of +### contents", +### supported = "yes", +### docstring = "Create a journal cover table of contents from +###Article{...} entries in a journal BibTeX +### .bib file for checking the bibliography +### database against the actual journal covers. +### The output can be either plain text, or HTML. +### +### Usage: +### bibclean -max-width 0 BibTeX-file(s) | \ +### bibsort -byvolume | \ +### awk -f journal-toc.awk \ +### [-v HTML=nnn] [-v INDENT=nnn] \ +### [-v BIBFILEURL=url] >foo.toc +### +### or if the bibliography is already sorted +### by volume, +### +### bibclean -max-width 0 BibTeX-file(s) | \ +### awk -f journal-toc.awk \ +### [-v HTML=nnn] [-v INDENT=nnn] \ +### [-v BIBFILEURL=url] >foo.toc +### +### A non-zero value of the command-line option, +### HTML=nnn, results in HTML output instead of +### the default plain ASCII text (corresponding +### to HTML=0). The +### +### The INDENT=nnn command-line option specifies +### the number of blanks to indent each logical +### level of HTML. The default is INDENT=4. +### INDENT=0 suppresses indentation. The INDENT +### option has no effect when the default HTML=0 +### (plain text output) option is in effect. +### +### When HTML output is selected, the +### BIBFILEURL=url command-line option provides a +### way to request hypertext links from table of +### contents page numbers to the complete BibTeX +### entry for the article. These links are +### created by appending a sharp (#) and the +### citation label to the BIBFILEURL value, which +### conforms with the practice of +### bibtex-to-html.awk. +### +### The HTML output form may be useful as a more +### compact representation of journal article +### bibliography data than the original BibTeX +### file provides. Of course, the +### table-of-contents format provides less +### information, and is considerably more +### troublesome for a computer program to parse. +### +### When URL key values are provided, they will +### be used to create hypertext links around +### article titles. This supports journals that +### provide article contents on the World-Wide +### Web. +### +### For parsing simplicity, this program requires +### that BibTeX +### +### key = "value" +### +### and +### +### @String{name = "value"} +### +### specifications be entirely contained on +### single lines, which is readily provided by +### the `bibclean -max-width 0' filter. It also +### requires that bibliography entries begin and +### end at the start of a line, and that +### quotation marks, rather than balanced braces, +### delimit string values. This is a +### conventional format that again can be +### guaranteed by bibclean. +### +### This program requires `new' awk, as described +### in the book +### +### Alfred V. Aho, Brian W. Kernighan, and +### Peter J. Weinberger, +### ``The AWK Programming Language'', +### Addison-Wesley (1988), ISBN +### 0-201-07981-X, +### +### such as provided by programs named (GNU) +### gawk, nawk, and recent AT&T awk. +### +### The checksum field above contains a CRC-16 +### checksum as the first value, followed by the +### equivalent of the standard UNIX wc (word +### count) utility output of lines, words, and +### characters. This is produced by Robert +### Solovay's checksum utility.", +### } +### ==================================================================== + +BEGIN { initialize() } + +/^ *@ *[Ss][Tt][Rr][Ii][Nn][Gg] *\{/ { do_String(); next } + +/^ *@ *[Pp][Rr][Ee][Aa][Mm][Bb][Ll][Ee]/ { next } + +/^ *@ *[Aa][Rr][Tt][Ii][Cc][Ll][Ee]/ { do_Article(); next } + +/^ *@/ { do_Other(); next } + +/^ *author *= *\"/ { do_author(); next } + +/^ *journal *= */ { do_journal(); next } + +/^ *volume *= *\"/ { do_volume(); next } + +/^ *number *= *\"/ { do_number(); next } + +/^ *year *= *\"/ { do_year(); next } + +/^ *month *= */ { do_month(); next } + +/^ *title *= *\"/ { do_title(); next } + +/^ *pages *= *\"/ { do_pages(); next } + +/^ *URL *= *\"/ { do_URL(); next } + +/^ *} *$/ { if (In_Article) do_end_entry(); next } + +END { terminate() } + + +######################################################################## +# NB: The programming conventions for variables in this program are: # +# UPPERCASE global constants and user options # +# Initialuppercase global variables # +# lowercase local variables # +# Any deviation is an error! # +######################################################################## + + +function do_Article() +{ + In_Article = 1 + + Citation_label = $0 + sub(/^[^\{]*\{/,"",Citation_label) + sub(/ *, *$/,"",Citation_label) + + Author = "" + Title = "" + Journal = "" + Volume = "" + Number = "" + Month = "" + Year = "" + Pages = "" + Url = "" +} + + +function do_author() +{ + Author = TeX_to_HTML(get_value($0)) +} + + +function do_end_entry( k,n,parts) +{ + n = split(Author,parts," and ") + if (Last_number != Number) + do_new_issue() + for (k = 1; k < n; ++k) + print_toc_line(parts[k] " and", "", "") + Title_prefix = html_begin_title() + Title_suffix = html_end_title() + if (html_length(Title) <= (MAX_TITLE_CHARS + MIN_LEADERS)) # complete title fits on line + print_toc_line(parts[n], Title, html_begin_pages() Pages html_end_pages()) + else # need to split long title over multiple lines + do_long_title(parts[n], Title, html_begin_pages() Pages html_end_pages()) +} + + +function do_journal() +{ + if ($0 ~ /[=] *"/) # have journal = "quoted journal name", + Journal = get_value($0) + else # have journal = journal-abbreviation, + { + Journal = get_abbrev($0) + if (Journal in String) # replace abbrev by its expansion + Journal = String[Journal] + } + gsub(/\\-/,"",Journal) # remove discretionary hyphens +} + + +function do_long_title(author,title,pages, last_title,n) +{ + title = trim(title) # discard leading and trailing space + while (length(title) > 0) + { + n = html_breakpoint(title,MAX_TITLE_CHARS+MIN_LEADERS) + last_title = substr(title,1,n) + title = substr(title,n+1) + sub(/^ +/,"",title) # discard any leading space + print_toc_line(author, last_title, (length(title) == 0) ? pages : "") + author = "" + } +} + + +function do_month( k,n,parts) +{ + Month = ($0 ~ /[=] *"/) ? get_value($0) : get_abbrev($0) + gsub(/[\"]/,"",Month) + gsub(/ *# *\\slash *# */," / ",Month) + gsub(/ *# *-+ *# */," / ",Month) + n = split(Month,parts," */ *") + Month = "" + for (k = 1; k <= n; ++k) + Month = Month ((k > 1) ? " / " : "") \ + ((parts[k] in Month_expansion) ? Month_expansion[parts[k]] : parts[k]) +} + + +function do_new_issue() +{ + Last_number = Number + if (HTML) + { + if (Last_volume != Volume) + { + Last_volume = Volume + print_line(prefix(2) "
") + } + html_end_toc() + html_begin_issue() + print_line(prefix(2) Journal "
") + } + else + { + print_line("") + print_line(Journal) + } + + print_line(strip_html(vol_no_month_year())) + + if (HTML) + { + html_end_issue() + html_toc_entry() + html_begin_toc() + } + else + print_line("") +} + + +function do_number() +{ + Number = get_value($0) +} + + +function do_Other() +{ + In_Article = 0 +} + + +function do_pages() +{ + Pages = get_value($0) + sub(/--[?][?]/,"",Pages) +} + + +function do_String() +{ + sub(/^[^\{]*\{/,"",$0) # discard up to and including open brace + sub(/\} *$/,"",$0) # discard from optional whitespace and trailing brace to end of line + String[get_key($0)] = get_value($0) +} + + +function do_title() +{ + Title = TeX_to_HTML(get_value($0)) +} + + +function do_URL( parts) +{ + Url = get_value($0) + split(Url,parts,"[,;]") # in case we have multiple URLs + Url = trim(parts[1]) +} + + +function do_volume() +{ + Volume = get_value($0) +} + + +function do_year() +{ + Year = get_value($0) +} + + +function get_abbrev(s) +{ # return abbrev from ``key = abbrev,'' + sub(/^[^=]*= */,"",s) # discard text up to start of non-blank value + sub(/ *,? *$/,"",s) # discard trailing optional whitspace, quote, + # optional comma, and optional space + return (s) +} + + +function get_key(s) +{ # return kay from ``key = "value",'' + sub(/^ */,"",s) # discard leading space + sub(/ *=.*$/,"",s) # discard everthing after key + + return (s) +} + + +function get_value(s) +{ # return value from ``key = "value",'' + sub(/^[^\"]*\" */,"",s) # discard text up to start of non-blank value + sub(/ *\",? *$/,"",s) # discard trailing optional whitspace, quote, + # optional comma, and optional space + return (s) +} + + +function html_accents(s) +{ + if (index(s,"\\") > 0) # important optimization + { + # Convert common lower-case accented letters according to the + # table on p. 169 of in Peter Flynn's ``The World Wide Web + # Handbook'', International Thomson Computer Press, 1995, ISBN + # 1-85032-205-8. The official table of ISO Latin 1 SGML + # entities used in HTML can be found in the file + # /usr/local/lib/html-check/lib/ISOlat1.sgml (your path + # may differ). + + gsub(/\{\\\a}/, "\\à", s) + gsub(/\{\\'a}/, "\\á", s) + gsub(/\{\\[\^]a}/,"\\â", s) + gsub(/\{\\~a}/, "\\ã", s) + ##gsub(/\{\\\"a\}/, "\\ä", s) + gsub(/\{\\\"\{a\}\}/, "\\ä", s) + gsub(/\{\\aa}/, "\\å", s) + gsub(/\{\\ae}/, "\\æ", s) + + gsub(/\{\\c\{c\}}/,"\\ç", s) + + gsub(/\{\\\e}/, "\\è", s) + gsub(/\{\\'e}/, "\\é", s) + gsub(/\{\\[\^]e}/,"\\ê", s) + gsub(/\{\\\"e}/, "\\ë", s) + + gsub(/\{\\\i}/, "\\ì", s) + gsub(/\{\\'i}/, "\\í", s) + gsub(/\{\\[\^]i}/,"\\î", s) + gsub(/\{\\\"i}/, "\\ï", s) + + # ignore eth and thorn + + gsub(/\{\\~n}/, "\\ñ", s) + + gsub(/\{\\\o}/, "\\ò", s) + gsub(/\{\\'o}/, "\\ó", s) + gsub(/\{\\[\^]o}/, "\\ô", s) + gsub(/\{\\~o}/, "\\õ", s) + ##gsub(/\{\\\"o}/, "\\ö", s) + gsub(/\{\\\"\{o\}}/, "\\ö", s) + gsub(/\{\\o}/, "\\ø", s) + + gsub(/\{\\\u}/, "\\ù", s) + gsub(/\{\\'u}/, "\\ú", s) + gsub(/\{\\[\^]u}/,"\\û", s) + ##gsub(/\{\\\"u}/, "\\ü", s) + gsub(/\{\\\"\{u\}\}/, "\\ü", s) + + gsub(/\{\\'y}/, "\\ý", s) + gsub(/\{\\\"y}/, "\\ÿ", s) + + # Now do the same for upper-case accents + + gsub(/\{\\\A}/, "\\À", s) + gsub(/\{\\'A}/, "\\Á", s) + gsub(/\{\\[\^]A}/, "\\Â", s) + gsub(/\{\\~A}/, "\\Ã", s) + ##gsub(/\{\\\"A}/, "\\Ä", s) + gsub(/\{\\\"\{A\}\}/, "\\Ä", s) + gsub(/\{\\AA}/, "\\Å", s) + gsub(/\{\\AE}/, "\\Æ", s) + + gsub(/\{\\c\{C\}}/,"\\Ç", s) + + gsub(/\{\\\e}/, "\\È", s) + gsub(/\{\\'E}/, "\\É", s) + gsub(/\{\\[\^]E}/, "\\Ê", s) + gsub(/\{\\\"E}/, "\\Ë", s) + + gsub(/\{\\\I}/, "\\Ì", s) + gsub(/\{\\'I}/, "\\Í", s) + gsub(/\{\\[\^]I}/, "\\Î", s) + gsub(/\{\\\"I}/, "\\Ï", s) + + # ignore eth and thorn + + gsub(/\{\\~N}/, "\\Ñ", s) + + gsub(/\{\\\O}/, "\\Ò", s) + gsub(/\{\\'O}/, "\\Ó", s) + gsub(/\{\\[\^]O}/, "\\Ô", s) + gsub(/\{\\~O}/, "\\Õ", s) + ##gsub(/\{\\\"O}/, "\\Ö", s) + gsub(/\{\\\"\{O\}\}/, "\\Ö", s) + gsub(/\{\\O}/, "\\Ø", s) + + gsub(/\{\\\U}/, "\\Ù", s) + gsub(/\{\\'U}/, "\\Ú", s) + gsub(/\{\\[\^]U}/, "\\Û", s) + ##gsub(/\{\\\"U}/, "\\Ü", s) + gsub(/\{\\\"\{U\}\}/, "\\Ü", s) + + gsub(/\{\\'Y}/, "\\Ý", s) + + gsub(/\{\\ss}/, "\\ß", s) + + # Others not mentioned in Flynn's book + gsub(/\{\\'\\i}/,"\\í", s) + gsub(/\{\\'\\j}/,"j", s) + } + return (s) +} + + +function html_begin_issue() +{ + print_line("") + print_line(prefix(2) "
") + print_line("") + print_line(prefix(2) "") + print_line(prefix(3) "") +} + + +function html_begin_pages() +{ + return ((HTML && (BIBFILEURL != "")) ? ("") : "") +} + + +function html_begin_pre() +{ + In_PRE = 1 + print_line("
") +} + + +function html_end_pages() +{ + return ((HTML && (BIBFILEURL != "")) ? "" : "") +} + + +function html_end_pre() +{ + if (In_PRE) + { + print_line("") +} + + +function html_begin_title() +{ + return ((HTML && (Url != "")) ? ("") : "") +} + + +function html_begin_toc() +{ + html_end_toc() + html_begin_pre() +} + + +function html_body( k) +{ + for (k = 1; k <= BodyLines; ++k) + print Body[k] +} + +function html_breakpoint(title,maxlength, break_after,k) +{ + # Return the largest character position in title AFTER which we + # can break the title across lines, without exceeding maxlength + # visible characters. + if (html_length(title) > maxlength) # then need to split title across lines + { + # In the presence of HTML markup, the initialization of + # k here is complicated, because we need to advance it + # until html_length(title) is at least maxlength, + # without invoking the expensive html_length() function + # too frequently. The need to split the title makes the + # alternative of delayed insertion of HTML markup much + # more complicated. + break_after = 0 + for (k = min(maxlength,length(title)); k < length(title); ++k) + { + if (substr(title,k+1,1) == " ") + { # could break after position k + if (html_length(substr(title,1,k)) <= maxlength) + break_after = k + else # advanced too far, retreat back to last break_after + break + } + } + if (break_after == 0) # no breakpoint found by forward scan + { # so switch to backward scan + for (k = min(maxlength,length(title)) - 1; \ + (k > 0) && (substr(title,k+1,1) != " "); --k) + ; # find space at which to break title + if (k < 1) # no break point found + k = length(title) # so must print entire string + } + else + k = break_after + } + else # title fits on one line + k = length(title) + return (k) +} + + + +function html_end_issue() +{ + print_line(prefix(3) "") + print_line(prefix(2) "