Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
  191
  192
  193
  194
  195
  196
  197
  198
  199
  200
  201
  202
  203
  204
  205
  206
  207
  208
  209
  210
  211
  212
  213
  214
  215
  216
  217
  218
  219
  220
  221
  222
  223
  224
  225
  226
  227
  228
  229
  230
  231
  232
  233
  234
  235
  236
  237
  238
  239
  240
  241
  242
  243
  244
  245
  246
  247
  248
  249
  250
  251
  252
  253
  254
  255
  256
  257
  258
  259
  260
  261
  262
  263
  264
  265
  266
  267
  268
  269
  270
  271
  272
  273
  274
  275
  276
  277
  278
  279
  280
  281
  282
  283
  284
  285
  286
  287
  288
  289
  290
  291
  292
  293
  294
  295
  296
  297
  298
  299
  300
  301
  302
  303
  304
  305
  306
  307
  308
  309
  310
  311
  312
  313
  314
  315
  316
  317
  318
  319
  320
  321
  322
  323
  324
  325
  326
  327
  328
  329
  330
  331
  332
  333
  334
  335
  336
  337
  338
  339
  340
  341
  342
  343
  344
  345
  346
  347
  348
  349
  350
  351
  352
  353
  354
  355
  356
  357
  358
  359
  360
  361
  362
  363
  364
  365
  366
  367
  368
  369
  370
  371
  372
  373
  374
  375
  376
  377
  378
  379
  380
  381
  382
  383
  384
  385
  386
  387
  388
  389
  390
  391
  392
  393
  394
  395
  396
  397
  398
  399
  400
  401
  402
  403
  404
  405
  406
  407
  408
  409
  410
  411
  412
  413
  414
  415
  416
  417
  418
  419
  420
  421
  422
  423
  424
  425
  426
  427
  428
  429
  430
  431
  432
  433
  434
  435
  436
  437
  438
  439
  440
  441
  442
  443
  444
  445
  446
  447
  448
  449
  450
  451
  452
  453
  454
  455
  456
  457
  458
  459
  460
  461
  462
  463
  464
  465
  466
  467
  468
  469
  470
  471
  472
  473
  474
  475
  476
  477
  478
  479
  480
  481
  482
  483
  484
  485
  486
  487
  488
  489
  490
  491
  492
  493
  494
  495
  496
  497
  498
  499
  500
  501
  502
  503
  504
  505
  506
  507
  508
  509
  510
  511
  512
  513
  514
  515
  516
  517
  518
  519
  520
  521
  522
  523
  524
  525
  526
  527
  528
  529
  530
  531
  532
  533
  534
  535
  536
  537
  538
  539
  540
  541
  542
  543
  544
  545
  546
  547
  548
  549
  550
  551
  552
  553
  554
  555
  556
  557
  558
  559
  560
  561
  562
  563
  564
  565
  566
  567
  568
  569
  570
  571
  572
  573
  574
  575
  576
  577
  578
  579
  580
  581
  582
  583
  584
  585
  586
  587
  588
  589
  590
  591
  592
  593
  594
  595
  596
  597
  598
  599
  600
  601
  602
  603
  604
  605
  606
  607
  608
  609
  610
  611
  612
  613
  614
  615
  616
  617
  618
  619
  620
  621
  622
  623
  624
  625
  626
  627
  628
  629
  630
  631
  632
  633
  634
  635
  636
  637
  638
  639
  640
  641
  642
  643
  644
  645
  646
  647
  648
  649
  650
  651
  652
  653
  654
  655
  656
  657
  658
  659
  660
  661
  662
  663
  664
  665
  666
  667
  668
  669
  670
  671
  672
  673
  674
  675
  676
  677
  678
  679
  680
  681
  682
  683
  684
  685
  686
  687
  688
  689
  690
  691
  692
  693
  694
  695
  696
  697
  698
  699
  700
  701
  702
  703
  704
  705
  706
  707
  708
  709
  710
  711
  712
  713
  714
  715
  716
  717
  718
  719
  720
  721
  722
  723
  724
  725
  726
  727
  728
  729
  730
  731
  732
  733
  734
  735
  736
  737
  738
  739
  740
  741
  742
  743
  744
  745
  746
  747
  748
  749
  750
  751
  752
  753
  754
  755
  756
  757
  758
  759
  760
  761
  762
  763
  764
  765
  766
  767
  768
  769
  770
  771
  772
  773
  774
  775
  776
  777
  778
  779
  780
  781
  782
  783
  784
  785
  786
  787
  788
  789
  790
  791
  792
  793
  794
  795
  796
  797
  798
  799
  800
  801
  802
  803
  804
  805
  806
  807
  808
  809
  810
  811
  812
  813
  814
  815
  816
  817
  818
  819
  820
  821
  822
  823
  824
  825
  826
  827
  828
  829
  830
  831
  832
  833
  834
  835
  836
  837
  838
  839
  840
  841
  842
  843
  844
  845
  846
  847
  848
  849
  850
  851
  852
  853
  854
  855
  856
  857
  858
  859
  860
  861
  862
  863
  864
  865
  866
  867
  868
  869
  870
  871
  872
  873
  874
  875
  876
  877
  878
  879
  880
  881
  882
  883
  884
  885
  886
  887
  888
  889
  890
  891
  892
  893
  894
  895
  896
  897
  898
  899
  900
  901
  902
  903
  904
  905
  906
  907
  908
  909
  910
  911
  912
  913
  914
  915
  916
  917
  918
  919
  920
  921
  922
  923
  924
  925
  926
  927
  928
  929
  930
  931
  932
  933
  934
  935
  936
  937
  938
  939
  940
  941
  942
  943
  944
  945
  946
  947
  948
  949
  950
  951
  952
  953
  954
  955
  956
  957
  958
  959
  960
  961
  962
  963
  964
  965
  966
  967
  968
  969
  970
  971
  972
  973
  974
  975
  976
  977
  978
  979
  980
  981
  982
  983
  984
  985
  986
  987
  988
  989
  990
  991
  992
  993
  994
  995
  996
  997
  998
  999
 1000
 1001
 1002
 1003
 1004
 1005
 1006
 1007
 1008
 1009
 1010
 1011
 1012
 1013
 1014
 1015
 1016
 1017
 1018
 1019
 1020
 1021
 1022
 1023
 1024
 1025
 1026
 1027
 1028
 1029
 1030
 1031
 1032
 1033
 1034
 1035
 1036
 1037
 1038
 1039
 1040
 1041
 1042
 1043
 1044
 1045
 1046
 1047
 1048
 1049
 1050
 1051
 1052
 1053
 1054
 1055
 1056
 1057
 1058
 1059
 1060
 1061
 1062
 1063
 1064
 1065
 1066
 1067
 1068
 1069
 1070
 1071
 1072
 1073
 1074
 1075
 1076
 1077
 1078
 1079
 1080
 1081
 1082
 1083
 1084
 1085
 1086
 1087
 1088
 1089
 1090
 1091
 1092
 1093
 1094
 1095
 1096
 1097
 1098
 1099
 1100
 1101
 1102
 1103
 1104
 1105
 1106
 1107
 1108
 1109
 1110
 1111
 1112
 1113
 1114
 1115
 1116
 1117
 1118
 1119
 1120
 1121
 1122
 1123
 1124
 1125
 1126
 1127
 1128
 1129
 1130
 1131
 1132
 1133
 1134
 1135
 1136
 1137
 1138
 1139
 1140
 1141
 1142
 1143
 1144
 1145
 1146
 1147
 1148
 1149
 1150
 1151
 1152
 1153
 1154
 1155
 1156
 1157
 1158
 1159
 1160
 1161
 1162
 1163
 1164
 1165
 1166
 1167
 1168
 1169
 1170
 1171
 1172
 1173
 1174
 1175
 1176
 1177
 1178
 1179
 1180
 1181
 1182
 1183
 1184
 1185
 1186
 1187
 1188
 1189
 1190
 1191
 1192
 1193
 1194
 1195
 1196
 1197
 1198
 1199
 1200
 1201
 1202
 1203
 1204
 1205
 1206
 1207
 1208
 1209
 1210
 1211
 1212
 1213
 1214
 1215
 1216
 1217
 1218
 1219
 1220
 1221
 1222
 1223
 1224
 1225
 1226
 1227
 1228
 1229
 1230
 1231
 1232
 1233
 1234
 1235
 1236
 1237
 1238
 1239
 1240
 1241
 1242
 1243
 1244
 1245
 1246
 1247
 1248
 1249
 1250
 1251
 1252
 1253
 1254
 1255
 1256
 1257
 1258
 1259
 1260
 1261
 1262
 1263
 1264
 1265
 1266
 1267
 1268
 1269
 1270
 1271
 1272
 1273
 1274
 1275
 1276
 1277
 1278
 1279
 1280
 1281
 1282
 1283
 1284
 1285
 1286
 1287
 1288
 1289
 1290
 1291
 1292
 1293
 1294
 1295
 1296
 1297
 1298
 1299
 1300
 1301
 1302
 1303
 1304
 1305
 1306
 1307
 1308
 1309
 1310
 1311
 1312
 1313
 1314
 1315
 1316
 1317
 1318
 1319
 1320
 1321
 1322
 1323
 1324
 1325
 1326
 1327
 1328
 1329
 1330
 1331
 1332
 1333
 1334
 1335
 1336
 1337
 1338
 1339
 1340
 1341
 1342
 1343
 1344
 1345
 1346
 1347
 1348
 1349
 1350
 1351
 1352
 1353
 1354
 1355
 1356
 1357
 1358
 1359
 1360
 1361
 1362
 1363
 1364
 1365
 1366
 1367
 1368
 1369
 1370
 1371
 1372
 1373
 1374
 1375
 1376
 1377
 1378
 1379
 1380
 1381
 1382
 1383
 1384
 1385
 1386
 1387
 1388
 1389
 1390
 1391
 1392
 1393
 1394
 1395
 1396
 1397
 1398
 1399
 1400
 1401
 1402
 1403
 1404
 1405
 1406
 1407
 1408
 1409
 1410
 1411
 1412
 1413
 1414
 1415
 1416
 1417
 1418
 1419
 1420
 1421
 1422
 1423
 1424
 1425
 1426
 1427
 1428
 1429
 1430
 1431
 1432
 1433
 1434
 1435
 1436
 1437
 1438
 1439
 1440
 1441
 1442
 1443
 1444
 1445
 1446
 1447
 1448
 1449
 1450
 1451
 1452
 1453
 1454
 1455
 1456
 1457
 1458
 1459
 1460
 1461
 1462
 1463
 1464
 1465
 1466
 1467
 1468
 1469
 1470
 1471
 1472
 1473
 1474
 1475
 1476
 1477
 1478
 1479
 1480
 1481
 1482
 1483
 1484
 1485
 1486
 1487
 1488
 1489
 1490
 1491
 1492
 1493
 1494
 1495
 1496
 1497
 1498
 1499
 1500
 1501
 1502
 1503
 1504
 1505
 1506
 1507
 1508
 1509
 1510
 1511
 1512
 1513
 1514
 1515
 1516
 1517
 1518
 1519
 1520
 1521
 1522
 1523
 1524
 1525
 1526
 1527
 1528
 1529
 1530
 1531
 1532
 1533
 1534
 1535
 1536
 1537
 1538
 1539
 1540
 1541
 1542
 1543
 1544
 1545
 1546
 1547
 1548
 1549
 1550
 1551
 1552
 1553
 1554
 1555
 1556
 1557
 1558
 1559
 1560
 1561
 1562
 1563
 1564
 1565
 1566
 1567
 1568
 1569
 1570
 1571
 1572
 1573
 1574
 1575
 1576
 1577
 1578
 1579
 1580
 1581
 1582
 1583
 1584
 1585
 1586
 1587
 1588
 1589
 1590
 1591
 1592
 1593
 1594
 1595
 1596
 1597
 1598
 1599
 1600
 1601
 1602
 1603
 1604
 1605
 1606
 1607
 1608
 1609
 1610
 1611
 1612
 1613
 1614
 1615
 1616
 1617
 1618
 1619
 1620
 1621
 1622
 1623
 1624
 1625
 1626
 1627
 1628
 1629
 1630
 1631
 1632
 1633
 1634
 1635
 1636
 1637
 1638
 1639
 1640
 1641
 1642
 1643
 1644
 1645
 1646
 1647
 1648
 1649
 1650
 1651
 1652
 1653
 1654
 1655
 1656
 1657
 1658
 1659
 1660
 1661
 1662
 1663
 1664
 1665
 1666
 1667
 1668
 1669
 1670
 1671
 1672
 1673
 1674
 1675
 1676
 1677
 1678
 1679
 1680
 1681
 1682
 1683
 1684
 1685
 1686
 1687
 1688
 1689
 1690
 1691
 1692
 1693
 1694
 1695
 1696
 1697
 1698
 1699
 1700
 1701
 1702
 1703
 1704
 1705
 1706
 1707
 1708
 1709
 1710
 1711
 1712
 1713
 1714
 1715
 1716
 1717
 1718
 1719
 1720
 1721
 1722
 1723
 1724
 1725
 1726
 1727
 1728
 1729
 1730
 1731
 1732
 1733
 1734
 1735
 1736
 1737
 1738
 1739
 1740
 1741
 1742
 1743
 1744
 1745
 1746
 1747
 1748
 1749
 1750
 1751
 1752
 1753
 1754
 1755
 1756
 1757
 1758
 1759
 1760
 1761
 1762
 1763
 1764
 1765
 1766
 1767
 1768
 1769
 1770
 1771
 1772
 1773
 1774
 1775
 1776
 1777
 1778
 1779
 1780
 1781
 1782
 1783
 1784
 1785
 1786
 1787
 1788
 1789
 1790
 1791
 1792
 1793
 1794
 1795
 1796
 1797
 1798
 1799
 1800
 1801
 1802
 1803
 1804
 1805
 1806
 1807
 1808
 1809
 1810
 1811
 1812
 1813
 1814
 1815
 1816
 1817
 1818
 1819
 1820
 1821
 1822
 1823
 1824
 1825
 1826
 1827
 1828
 1829
 1830
 1831
 1832
 1833
 1834
 1835
 1836
 1837
 1838
 1839
 1840
 1841
 1842
 1843
 1844
 1845
 1846
 1847
 1848
 1849
 1850
 1851
 1852
 1853
 1854
 1855
 1856
 1857
 1858
 1859
 1860
 1861
 1862
 1863
 1864
 1865
 1866
 1867
 1868
 1869
 1870
 1871
 1872
 1873
 1874
 1875
 1876
 1877
 1878
 1879
 1880
 1881
 1882
 1883
 1884
 1885
 1886
 1887
 1888
 1889
 1890
 1891
 1892
 1893
 1894
 1895
 1896
 1897
 1898
 1899
 1900
 1901
 1902
 1903
 1904
 1905
 1906
 1907
 1908
 1909
 1910
 1911
 1912
 1913
 1914
 1915
 1916
 1917
 1918
 1919
 1920
 1921
 1922
 1923
 1924
 1925
 1926
 1927
 1928
 1929
 1930
 1931
 1932
 1933
 1934
 1935
 1936
 1937
 1938
 1939
 1940
 1941
 1942
 1943
 1944
 1945
 1946
 1947
 1948
 1949
 1950
 1951
 1952
 1953
 1954
 1955
 1956
 1957
 1958
 1959
 1960
 1961
 1962
 1963
 1964
 1965
 1966
 1967
 1968
 1969
 1970
 1971
 1972
 1973
 1974
 1975
 1976
 1977
 1978
 1979
 1980
 1981
 1982
 1983
 1984
 1985
 1986
 1987
 1988
 1989
 1990
 1991
 1992
 1993
 1994
 1995
 1996
 1997
 1998
 1999
 2000
 2001
 2002
 2003
 2004
 2005
 2006
 2007
 2008
 2009
 2010
 2011
 2012
 2013
 2014
 2015
 2016
 2017
 2018
 2019
 2020
 2021
 2022
 2023
 2024
 2025
 2026
 2027
 2028
 2029
 2030
 2031
 2032
 2033
 2034
 2035
 2036
 2037
 2038
 2039
 2040
 2041
 2042
 2043
 2044
 2045
 2046
 2047
 2048
 2049
 2050
 2051
 2052
 2053
 2054
 2055
 2056
 2057
 2058
 2059
 2060
 2061
 2062
 2063
 2064
 2065
 2066
 2067
 2068
 2069
 2070
 2071
 2072
 2073
 2074
 2075
 2076
 2077
 2078
 2079
 2080
 2081
 2082
 2083
 2084
 2085
 2086
 2087
 2088
 2089
 2090
 2091
 2092
 2093
 2094
 2095
 2096
 2097
 2098
 2099
 2100
 2101
 2102
 2103
 2104
 2105
 2106
 2107
 2108
 2109
 2110
 2111
 2112
 2113
 2114
 2115
 2116
 2117
 2118
 2119
 2120
 2121
 2122
 2123
 2124
 2125
 2126
 2127
 2128
 2129
 2130
 2131
 2132
 2133
 2134
 2135
 2136
 2137
 2138
 2139
 2140
 2141
 2142
 2143
 2144
 2145
 2146
 2147
 2148
 2149
 2150
 2151
 2152
 2153
 2154
 2155
 2156
 2157
 2158
 2159
 2160
 2161
 2162
 2163
 2164
 2165
 2166
 2167
 2168
 2169
 2170
 2171
 2172
 2173
 2174
 2175
 2176
 2177
 2178
 2179
 2180
 2181
 2182
 2183
 2184
 2185
 2186
 2187
 2188
 2189
 2190
 2191
 2192
 2193
 2194
 2195
 2196
 2197
 2198
 2199
 2200
 2201
 2202
 2203
 2204
 2205
 2206
 2207
 2208
 2209
 2210
 2211
 2212
 2213
 2214
 2215
 2216
 2217
 2218
 2219
 2220
 2221
 2222
 2223
 2224
 2225
 2226
 2227
 2228
 2229
 2230
 2231
 2232
 2233
 2234
 2235
 2236
 2237
 2238
 2239
 2240
 2241
 2242
 2243
 2244
 2245
 2246
 2247
 2248
 2249
 2250
 2251
 2252
 2253
 2254
 2255
 2256
 2257
 2258
 2259
 2260
 2261
 2262
 2263
 2264
 2265
 2266
 2267
 2268
 2269
 2270
 2271
 2272
 2273
 2274
 2275
 2276
 2277
 2278
 2279
 2280
 2281
 2282
 2283
 2284
 2285
 2286
 2287
 2288
 2289
 2290
 2291
 2292
 2293
 2294
 2295
 2296
 2297
 2298
 2299
 2300
 2301
 2302
 2303
 2304
 2305
 2306
 2307
 2308
 2309
 2310
 2311
 2312
 2313
 2314
 2315
 2316
 2317
 2318
 2319
 2320
 2321
 2322
 2323
 2324
 2325
 2326
 2327
 2328
 2329
 2330
 2331
 2332
 2333
 2334
 2335
 2336
 2337
 2338
 2339
 2340
 2341
 2342
 2343
 2344
 2345
 2346
 2347
 2348
 2349
 2350
 2351
 2352
 2353
 2354
 2355
 2356
 2357
 2358
 2359
 2360
 2361
 2362
 2363
 2364
 2365
 2366
 2367
 2368
 2369
 2370
 2371
 2372
 2373
 2374
 2375
 2376
 2377
 2378
 2379
 2380
 2381
 2382
 2383
 2384
 2385
 2386
 2387
 2388
 2389
 2390
 2391
 2392
 2393
 2394
 2395
 2396
 2397
 2398
 2399
 2400
 2401
 2402
 2403
 2404
 2405
 2406
 2407
 2408
 2409
 2410
 2411
 2412
 2413
 2414
 2415
 2416
 2417
 2418
 2419
 2420
 2421
 2422
 2423
 2424
 2425
 2426
 2427
 2428
 2429
 2430
 2431
 2432
 2433
 2434
 2435
 2436
 2437
 2438
 2439
 2440
 2441
 2442
 2443
 2444
 2445
 2446
 2447
 2448
 2449
 2450
 2451
 2452
 2453
 2454
 2455
 2456
 2457
 2458
 2459
 2460
 2461
 2462
 2463
 2464
 2465
 2466
 2467
 2468
 2469
 2470
 2471
 2472
 2473
 2474
 2475
 2476
 2477
 2478
 2479
 2480
 2481
 2482
 2483
 2484
 2485
 2486
 2487
 2488
 2489
 2490
 2491
 2492
 2493
 2494
 2495
 2496
 2497
 2498
 2499
 2500
 2501
 2502
 2503
 2504
 2505
 2506
 2507
 2508
 2509
 2510
 2511
 2512
 2513
 2514
 2515
 2516
 2517
 2518
 2519
 2520
 2521
 2522
 2523
 2524
 2525
 2526
 2527
 2528
 2529
 2530
 2531
 2532
 2533
 2534
 2535
 2536
 2537
 2538
 2539
 2540
 2541
 2542
 2543
 2544
 2545
 2546
 2547
 2548
 2549
 2550
 2551
 2552
 2553
 2554
 2555
 2556
 2557
 2558
 2559
 2560
 2561
 2562
 2563
 2564
 2565
 2566
 2567
 2568
 2569
 2570
 2571
 2572
 2573
 2574
 2575
 2576
 2577
 2578
 2579
 2580
 2581
 2582
 2583
 2584
 2585
 2586
 2587
 2588
 2589
 2590
 2591
 2592
 2593
 2594
 2595
 2596
 2597
 2598
 2599
 2600
 2601
 2602
 2603
 2604
 2605
 2606
 2607
 2608
 2609
 2610
 2611
 2612
 2613
 2614
 2615
 2616
 2617
 2618
 2619
 2620
 2621
 2622
 2623
 2624
 2625
 2626
 2627
 2628
 2629
 2630
 2631
 2632
 2633
 2634
 2635
 2636
 2637
 2638
 2639
 2640
 2641
 2642
 2643
 2644
 2645
 2646
 2647
 2648
 2649
 2650
 2651
 2652
 2653
 2654
 2655
 2656
 2657
 2658
 2659
 2660
 2661
 2662
 2663
 2664
 2665
 2666
 2667
 2668
 2669
 2670
 2671
 2672
 2673
 2674
 2675
 2676
 2677
 2678
 2679
 2680
 2681
 2682
 2683
 2684
 2685
 2686
 2687
 2688
 2689
 2690
 2691
 2692
 2693
 2694
 2695
 2696
 2697
 2698
 2699
 2700
 2701
 2702
 2703
 2704
 2705
 2706
 2707
 2708
 2709
 2710
 2711
 2712
 2713
 2714
 2715
 2716
 2717
 2718
 2719
 2720
 2721
 2722
 2723
 2724
 2725
 2726
 2727
 2728
 2729
 2730
 2731
 2732
 2733
 2734
 2735
 2736
 2737
 2738
 2739
 2740
 2741
 2742
 2743
 2744
 2745
 2746
 2747
 2748
 2749
 2750
 2751
 2752
 2753
 2754
 2755
 2756
 2757
 2758
 2759
 2760
 2761
 2762
 2763
 2764
 2765
 2766
 2767
 2768
 2769
 2770
 2771
 2772
 2773
 2774
 2775
 2776
 2777
 2778
 2779
 2780
 2781
 2782
 2783
 2784
 2785
 2786
 2787
 2788
 2789
 2790
 2791
 2792
 2793
 2794
 2795
 2796
 2797
 2798
 2799
 2800
 2801
 2802
 2803
 2804
 2805
 2806
 2807
 2808
 2809
 2810
 2811
 2812
 2813
 2814
 2815
 2816
 2817
 2818
 2819
 2820
 2821
 2822
 2823
 2824
 2825
 2826
 2827
 2828
 2829
 2830
 2831
 2832
 2833
 2834
 2835
 2836
 2837
 2838
 2839
 2840
 2841
 2842
 2843
 2844
 2845
 2846
 2847
 2848
 2849
 2850
 2851
 2852
 2853
 2854
 2855
 2856
 2857
 2858
 2859
 2860
 2861
 2862
 2863
 2864
 2865
 2866
 2867
 2868
 2869
 2870
 2871
 2872
 2873
 2874
 2875
 2876
 2877
 2878
 2879
 2880
 2881
 2882
 2883
 2884
 2885
 2886
 2887
 2888
 2889
 2890
 2891
 2892
 2893
 2894
 2895
 2896
 2897
 2898
 2899
 2900
 2901
 2902
 2903
 2904
 2905
 2906
 2907
 2908
 2909
 2910
 2911
 2912
 2913
 2914
 2915
 2916
 2917
 2918
 2919
 2920
 2921
 2922
 2923
 2924
 2925
 2926
 2927
 2928
 2929
 2930
 2931
 2932
 2933
 2934
 2935
 2936
 2937
 2938
 2939
 2940
 2941
 2942
 2943
 2944
 2945
 2946
 2947
 2948
 2949
 2950
 2951
 2952
 2953
 2954
 2955
 2956
 2957
 2958
 2959
 2960
 2961
 2962
 2963
 2964
 2965
 2966
 2967
 2968
 2969
 2970
 2971
 2972
 2973
 2974
 2975
 2976
 2977
 2978
 2979
 2980
 2981
 2982
 2983
 2984
 2985
 2986
 2987
 2988
 2989
 2990
 2991
 2992
 2993
 2994
 2995
 2996
 2997
 2998
 2999
 3000
 3001
 3002
 3003
 3004
 3005
 3006
 3007
 3008
 3009
 3010
 3011
 3012
 3013
 3014
 3015
 3016
 3017
 3018
 3019
 3020
 3021
 3022
 3023
 3024
 3025
 3026
 3027
 3028
 3029
 3030
 3031
 3032
 3033
 3034
 3035
 3036
 3037
 3038
 3039
 3040
 3041
 3042
 3043
 3044
 3045
 3046
 3047
 3048
 3049
 3050
 3051
 3052
 3053
 3054
 3055
 3056
 3057
 3058
 3059
 3060
 3061
 3062
 3063
 3064
 3065
 3066
 3067
 3068
 3069
 3070
 3071
 3072
 3073
 3074
 3075
 3076
 3077
 3078
 3079
 3080
 3081
 3082
 3083
 3084
 3085
 3086
 3087
 3088
 3089
 3090
 3091
 3092
 3093
 3094
 3095
 3096
 3097
 3098
 3099
 3100
 3101
 3102
 3103
 3104
 3105
 3106
 3107
 3108
 3109
 3110
 3111
 3112
 3113
 3114
 3115
 3116
 3117
 3118
 3119
 3120
 3121
 3122
 3123
 3124
 3125
 3126
 3127
 3128
 3129
 3130
 3131
 3132
 3133
 3134
 3135
 3136
 3137
 3138
 3139
 3140
 3141
 3142
 3143
 3144
 3145
 3146
 3147
 3148
 3149
 3150
 3151
 3152
 3153
 3154
 3155
 3156
 3157
 3158
 3159
 3160
 3161
 3162
 3163
 3164
 3165
 3166
 3167
 3168
 3169
 3170
 3171
 3172
 3173
 3174
 3175
 3176
 3177
 3178
 3179
 3180
 3181
 3182
 3183
 3184
 3185
 3186
 3187
 3188
 3189
 3190
 3191
 3192
 3193
 3194
 3195
 3196
 3197
 3198
 3199
 3200
 3201
 3202
 3203
 3204
 3205
 3206
 3207
 3208
 3209
 3210
 3211
 3212
 3213
 3214
 3215
 3216
 3217
 3218
 3219
 3220
 3221
 3222
 3223
 3224
 3225
 3226
 3227
 3228
 3229
 3230
 3231
 3232
 3233
 3234
 3235
 3236
 3237
 3238
 3239
 3240
 3241
 3242
 3243
 3244
 3245
 3246
 3247
 3248
 3249
 3250
 3251
 3252
 3253
 3254
 3255
 3256
 3257
 3258
 3259
 3260
 3261
 3262
 3263
 3264
 3265
 3266
 3267
 3268
 3269
 3270
 3271
 3272
 3273
 3274
 3275
 3276
 3277
 3278
 3279
 3280
 3281
 3282
 3283
 3284
 3285
 3286
 3287
 3288
 3289
 3290
 3291
 3292
 3293
 3294
 3295
 3296
 3297
 3298
 3299
 3300
 3301
 3302
 3303
 3304
 3305
 3306
 3307
 3308
 3309
 3310
 3311
 3312
 3313
 3314
 3315
 3316
 3317
 3318
 3319
 3320
 3321
 3322
 3323
 3324
 3325
 3326
 3327
 3328
 3329
 3330
 3331
 3332
 3333
 3334
 3335
 3336
 3337
 3338
 3339
 3340
 3341
 3342
 3343
 3344
 3345
 3346
 3347
 3348
 3349
 3350
 3351
 3352
 3353
 3354
 3355
 3356
 3357
 3358
 3359
 3360
 3361
 3362
 3363
 3364
 3365
 3366
 3367
 3368
 3369
 3370
 3371
 3372
 3373
 3374
 3375
 3376
 3377
 3378
 3379
 3380
 3381
 3382
 3383
 3384
 3385
 3386
 3387
 3388
 3389
 3390
 3391
 3392
 3393
 3394
 3395
 3396
 3397
 3398
 3399
 3400
 3401
 3402
 3403
 3404
 3405
 3406
 3407
 3408
 3409
 3410
 3411
 3412
 3413
 3414
 3415
 3416
 3417
 3418
 3419
 3420
 3421
 3422
 3423
 3424
 3425
 3426
 3427
 3428
 3429
 3430
 3431
 3432
 3433
 3434
 3435
 3436
 3437
 3438
 3439
 3440
 3441
 3442
 3443
 3444
 3445
 3446
 3447
 3448
 3449
 3450
 3451
 3452
 3453
 3454
 3455
 3456
 3457
 3458
 3459
 3460
 3461
 3462
 3463
 3464
 3465
 3466
 3467
 3468
 3469
 3470
 3471
 3472
 3473
 3474
 3475
 3476
 3477
 3478
 3479
 3480
 3481
 3482
 3483
 3484
 3485
 3486
 3487
 3488
 3489
 3490
 3491
 3492
 3493
 3494
 3495
 3496
 3497
 3498
 3499
 3500
 3501
 3502
 3503
 3504
 3505
 3506
 3507
 3508
 3509
 3510
 3511
 3512
 3513
 3514
 3515
 3516
 3517
 3518
 3519
 3520
 3521
 3522
 3523
 3524
 3525
 3526
 3527
 3528
 3529
 3530
 3531
 3532
 3533
 3534
 3535
 3536
 3537
 3538
 3539
 3540
 3541
 3542
 3543
 3544
 3545
 3546
 3547
 3548
 3549
 3550
 3551
 3552
 3553
 3554
 3555
 3556
 3557
 3558
 3559
 3560
 3561
 3562
 3563
 3564
 3565
 3566
 3567
 3568
 3569
 3570
 3571
 3572
 3573
 3574
 3575
 3576
 3577
 3578
 3579
 3580
 3581
 3582
 3583
 3584
 3585
 3586
 3587
 3588
 3589
 3590
 3591
 3592
 3593
 3594
 3595
 3596
 3597
 3598
 3599
 3600
 3601
 3602
 3603
 3604
 3605
 3606
 3607
 3608
 3609
 3610
 3611
 3612
 3613
 3614
 3615
 3616
 3617
 3618
 3619
 3620
 3621
 3622
 3623
 3624
 3625
 3626
 3627
 3628
 3629
 3630
 3631
 3632
 3633
 3634
 3635
 3636
 3637
 3638
 3639
 3640
 3641
 3642
 3643
 3644
 3645
 3646
 3647
 3648
 3649
 3650
 3651
 3652
 3653
 3654
 3655
 3656
 3657
 3658
 3659
 3660
 3661
 3662
 3663
 3664
 3665
 3666
 3667
 3668
 3669
 3670
 3671
 3672
 3673
 3674
 3675
 3676
 3677
 3678
 3679
 3680
 3681
 3682
 3683
 3684
 3685
 3686
 3687
 3688
 3689
 3690
 3691
 3692
 3693
 3694
 3695
 3696
 3697
 3698
 3699
 3700
 3701
 3702
 3703
 3704
 3705
 3706
 3707
 3708
 3709
 3710
 3711
 3712
 3713
 3714
 3715
 3716
 3717
 3718
 3719
 3720
 3721
 3722
 3723
 3724
 3725
 3726
 3727
 3728
 3729
 3730
 3731
 3732
 3733
 3734
 3735
 3736
 3737
 3738
 3739
 3740
 3741
 3742
 3743
 3744
 3745
 3746
 3747
 3748
 3749
 3750
 3751
 3752
 3753
 3754
 3755
 3756
 3757
 3758
 3759
 3760
 3761
 3762
 3763
 3764
 3765
 3766
 3767
 3768
 3769
 3770
 3771
 3772
 3773
 3774
 3775
 3776
 3777
 3778
 3779
 3780
 3781
 3782
 3783
 3784
 3785
 3786
 3787
 3788
 3789
 3790
 3791
 3792
 3793
 3794
 3795
 3796
 3797
 3798
 3799
 3800
 3801
 3802
 3803
 3804
 3805
 3806
 3807
 3808
 3809
 3810
 3811
 3812
 3813
 3814
 3815
 3816
 3817
 3818
 3819
 3820
 3821
 3822
 3823
 3824
 3825
 3826
 3827
 3828
 3829
 3830
 3831
 3832
 3833
 3834
 3835
 3836
 3837
 3838
 3839
 3840
 3841
 3842
 3843
 3844
 3845
 3846
 3847
 3848
 3849
 3850
 3851
 3852
 3853
 3854
 3855
 3856
 3857
 3858
 3859
 3860
 3861
 3862
 3863
 3864
 3865
 3866
 3867
 3868
 3869
 3870
 3871
 3872
 3873
 3874
 3875
 3876
 3877
 3878
 3879
 3880
 3881
 3882
 3883
 3884
 3885
 3886
 3887
 3888
 3889
 3890
 3891
 3892
 3893
 3894
 3895
 3896
 3897
 3898
 3899
 3900
 3901
 3902
 3903
 3904
 3905
 3906
 3907
 3908
 3909
 3910
 3911
 3912
 3913
 3914
 3915
 3916
 3917
 3918
 3919
 3920
 3921
 3922
 3923
 3924
 3925
 3926
 3927
 3928
 3929
 3930
 3931
 3932
 3933
 3934
 3935
 3936
 3937
 3938
 3939
 3940
 3941
 3942
 3943
 3944
 3945
 3946
 3947
 3948
 3949
 3950
 3951
 3952
 3953
 3954
 3955
 3956
 3957
 3958
 3959
 3960
 3961
 3962
 3963
 3964
 3965
 3966
 3967
 3968
 3969
 3970
 3971
 3972
 3973
 3974
 3975
 3976
 3977
 3978
 3979
 3980
 3981
 3982
 3983
 3984
 3985
 3986
 3987
 3988
 3989
 3990
 3991
 3992
 3993
 3994
 3995
 3996
 3997
 3998
 3999
 4000
 4001
 4002
 4003
 4004
 4005
 4006
 4007
 4008
 4009
 4010
 4011
 4012
 4013
 4014
 4015
 4016
 4017
 4018
 4019
 4020
 4021
 4022
 4023
 4024
 4025
 4026
 4027
 4028
 4029
 4030
 4031
 4032
 4033
 4034
 4035
 4036
 4037
 4038
 4039
 4040
 4041
 4042
 4043
 4044
 4045
 4046
 4047
 4048
 4049
 4050
 4051
 4052
 4053
 4054
 4055
 4056
 4057
 4058
 4059
 4060
 4061
 4062
 4063
 4064
 4065
 4066
 4067
 4068
 4069
 4070
 4071
 4072
 4073
 4074
 4075
 4076
 4077
 4078
 4079
 4080
 4081
 4082
 4083
 4084
 4085
 4086
 4087
 4088
 4089
 4090
 4091
 4092
 4093
 4094
 4095
 4096
 4097
 4098
 4099
 4100
 4101
 4102
 4103
 4104
 4105
 4106
 4107
 4108
 4109
 4110
 4111
 4112
 4113
 4114
 4115
 4116
 4117
 4118
 4119
 4120
 4121
 4122
 4123
 4124
 4125
 4126
 4127
 4128
 4129
 4130
 4131
 4132
 4133
 4134
 4135
 4136
 4137
 4138
 4139
 4140
 4141
 4142
 4143
 4144
 4145
 4146
 4147
 4148
 4149
 4150
 4151
 4152
 4153
 4154
 4155
 4156
 4157
 4158
 4159
 4160
 4161
 4162
 4163
 4164
 4165
 4166
 4167
 4168
 4169
 4170
 4171
 4172
 4173
 4174
 4175
 4176
 4177
 4178
 4179
 4180
 4181
 4182
 4183
 4184
 4185
 4186
 4187
 4188
 4189
 4190
 4191
 4192
 4193
 4194
 4195
 4196
 4197
 4198
 4199
 4200
 4201
 4202
 4203
 4204
 4205
 4206
 4207
 4208
 4209
 4210
 4211
 4212
 4213
 4214
 4215
 4216
 4217
 4218
 4219
 4220
 4221
 4222
 4223
 4224
 4225
 4226
 4227
 4228
 4229
 4230
 4231
 4232
 4233
 4234
 4235
 4236
 4237
 4238
 4239
 4240
 4241
 4242
 4243
 4244
 4245
 4246
 4247
 4248
 4249
 4250
 4251
 4252
 4253
 4254
 4255
 4256
 4257
 4258
 4259
 4260
 4261
 4262
 4263
 4264
 4265
 4266
 4267
 4268
 4269
 4270
 4271
 4272
 4273
 4274
 4275
 4276
 4277
 4278
 4279
 4280
 4281
 4282
 4283
 4284
 4285
 4286
 4287
 4288
 4289
 4290
 4291
 4292
 4293
 4294
 4295
 4296
 4297
 4298
 4299
 4300
 4301
 4302
 4303
 4304
 4305
 4306
 4307
 4308
 4309
 4310
 4311
 4312
 4313
 4314
 4315
 4316
 4317
 4318
 4319
 4320
 4321
 4322
 4323
 4324
 4325
 4326
 4327
 4328
 4329
 4330
 4331
 4332
 4333
 4334
 4335
 4336
 4337
 4338
 4339
 4340
 4341
 4342
 4343
 4344
 4345
 4346
 4347
 4348
 4349
 4350
 4351
 4352
 4353
 4354
 4355
 4356
 4357
 4358
 4359
 4360
 4361
 4362
 4363
 4364
 4365
 4366
 4367
 4368
 4369
 4370
 4371
 4372
 4373
 4374
 4375
 4376
 4377
 4378
 4379
 4380
 4381
 4382
 4383
 4384
 4385
 4386
 4387
 4388
 4389
 4390
 4391
 4392
 4393
 4394
 4395
 4396
 4397
 4398
 4399
 4400
 4401
 4402
 4403
 4404
 4405
 4406
 4407
 4408
 4409
 4410
 4411
 4412
 4413
 4414
 4415
 4416
 4417
 4418
 4419
 4420
 4421
 4422
 4423
 4424
 4425
 4426
 4427
 4428
 4429
 4430
 4431
 4432
 4433
 4434
 4435
 4436
 4437
 4438
 4439
 4440
 4441
 4442
 4443
 4444
 4445
 4446
 4447
 4448
 4449
 4450
 4451
 4452
 4453
 4454
 4455
 4456
 4457
 4458
 4459
 4460
 4461
 4462
 4463
 4464
 4465
 4466
 4467
 4468
 4469
 4470
 4471
 4472
 4473
 4474
 4475
 4476
 4477
 4478
 4479
 4480
 4481
 4482
 4483
 4484
 4485
 4486
 4487
 4488
 4489
 4490
 4491
 4492
 4493
 4494
 4495
 4496
 4497
 4498
 4499
 4500
 4501
 4502
 4503
 4504
 4505
 4506
 4507
 4508
 4509
 4510
 4511
 4512
 4513
 4514
 4515
 4516
 4517
 4518
 4519
 4520
 4521
 4522
 4523
 4524
 4525
 4526
 4527
 4528
 4529
 4530
 4531
 4532
 4533
 4534
 4535
 4536
 4537
 4538
 4539
 4540
 4541
 4542
 4543
 4544
 4545
 4546
 4547
 4548
 4549
 4550
 4551
 4552
 4553
 4554
 4555
 4556
 4557
 4558
 4559
 4560
 4561
 4562
 4563
 4564
 4565
 4566
 4567
 4568
 4569
 4570
 4571
 4572
 4573
 4574
 4575
 4576
 4577
 4578
 4579
 4580
 4581
 4582
 4583
 4584
 4585
 4586
 4587
 4588
 4589
 4590
 4591
 4592
 4593
 4594
 4595
 4596
 4597
 4598
 4599
 4600
 4601
 4602
 4603
 4604
 4605
 4606
 4607
 4608
 4609
 4610
 4611
 4612
 4613
 4614
 4615
 4616
 4617
 4618
 4619
 4620
 4621
 4622
 4623
 4624
 4625
 4626
 4627
 4628
 4629
 4630
 4631
 4632
 4633
 4634
 4635
 4636
 4637
 4638
 4639
 4640
 4641
 4642
 4643
 4644
 4645
 4646
 4647
 4648
 4649
 4650
 4651
 4652
 4653
 4654
 4655
 4656
 4657
 4658
 4659
 4660
 4661
 4662
 4663
 4664
 4665
 4666
 4667
 4668
 4669
 4670
 4671
 4672
 4673
 4674
 4675
 4676
 4677
 4678
 4679
 4680
 4681
 4682
 4683
 4684
 4685
 4686
 4687
 4688
 4689
 4690
 4691
 4692
 4693
 4694
 4695
 4696
 4697
 4698
 4699
 4700
 4701
 4702
 4703
 4704
 4705
 4706
 4707
 4708
 4709
 4710
 4711
 4712
 4713
 4714
 4715
 4716
 4717
 4718
 4719
 4720
 4721
 4722
 4723
 4724
 4725
 4726
 4727
 4728
 4729
 4730
 4731
 4732
 4733
 4734
 4735
 4736
 4737
 4738
 4739
 4740
 4741
 4742
 4743
 4744
 4745
 4746
 4747
 4748
 4749
 4750
 4751
 4752
 4753
 4754
 4755
 4756
 4757
 4758
 4759
 4760
 4761
 4762
 4763
 4764
 4765
 4766
 4767
 4768
 4769
 4770
 4771
 4772
 4773
 4774
 4775
 4776
 4777
 4778
 4779
 4780
 4781
 4782
 4783
 4784
 4785
 4786
 4787
 4788
 4789
 4790
 4791
 4792
 4793
 4794
 4795
 4796
 4797
 4798
 4799
 4800
 4801
 4802
 4803
 4804
 4805
 4806
 4807
 4808
 4809
 4810
 4811
 4812
 4813
 4814
 4815
 4816
 4817
 4818
 4819
 4820
 4821
 4822
 4823
 4824
 4825
 4826
 4827
 4828
 4829
 4830
 4831
 4832
 4833
 4834
 4835
 4836
 4837
 4838
 4839
 4840
 4841
 4842
 4843
 4844
 4845
 4846
 4847
 4848
 4849
 4850
 4851
 4852
 4853
 4854
 4855
 4856
 4857
 4858
 4859
 4860
 4861
 4862
 4863
 4864
 4865
 4866
 4867
 4868
 4869
 4870
 4871
 4872
 4873
 4874
 4875
 4876
 4877
 4878
 4879
 4880
 4881
 4882
 4883
 4884
 4885
 4886
 4887
 4888
 4889
 4890
 4891
 4892
 4893
 4894
 4895
 4896
 4897
 4898
 4899
 4900
 4901
 4902
 4903
 4904
 4905
 4906
 4907
 4908
 4909
 4910
 4911
 4912
 4913
 4914
 4915
 4916
 4917
 4918
 4919
 4920
 4921
 4922
 4923
 4924
 4925
 4926
 4927
 4928
 4929
 4930
 4931
 4932
 4933
 4934
 4935
 4936
 4937
 4938
 4939
 4940
 4941
 4942
 4943
 4944
 4945
 4946
 4947
 4948
 4949
 4950
 4951
 4952
 4953
 4954
 4955
 4956
 4957
 4958
 4959
 4960
 4961
 4962
 4963
 4964
 4965
 4966
 4967
 4968
 4969
 4970
 4971
 4972
 4973
 4974
 4975
 4976
 4977
 4978
 4979
 4980
 4981
 4982
 4983
 4984
 4985
 4986
 4987
 4988
 4989
 4990
 4991
 4992
 4993
 4994
 4995
 4996
 4997
 4998
 4999
 5000
 5001
 5002
 5003
 5004
 5005
 5006
 5007
 5008
 5009
 5010
 5011
 5012
 5013
 5014
 5015
 5016
 5017
 5018
 5019
 5020
 5021
 5022
 5023
 5024
 5025
 5026
 5027
 5028
 5029
 5030
 5031
 5032
 5033
 5034
 5035
 5036
 5037
 5038
 5039
 5040
 5041
 5042
 5043
 5044
 5045
 5046
 5047
 5048
 5049
 5050
 5051
 5052
 5053
 5054
 5055
 5056
 5057
 5058
 5059
 5060
 5061
 5062
 5063
 5064
 5065
 5066
 5067
 5068
 5069
 5070
 5071
 5072
 5073
 5074
 5075
 5076
 5077
 5078
 5079
 5080
 5081
 5082
 5083
 5084
 5085
 5086
 5087
 5088
 5089
 5090
 5091
 5092
 5093
 5094
 5095
 5096
 5097
 5098
 5099
 5100
 5101
 5102
 5103
 5104
 5105
 5106
 5107
 5108
 5109
 5110
 5111
 5112
 5113
 5114
 5115
 5116
 5117
 5118
 5119
 5120
 5121
 5122
 5123
 5124
 5125
 5126
 5127
 5128
 5129
 5130
 5131
 5132
 5133
 5134
 5135
 5136
 5137
 5138
 5139
 5140
 5141
 5142
 5143
 5144
 5145
 5146
 5147
 5148
 5149
 5150
 5151
 5152
 5153
 5154
 5155
 5156
 5157
 5158
 5159
 5160
 5161
 5162
 5163
 5164
 5165
 5166
 5167
 5168
 5169
 5170
 5171
 5172
 5173
 5174
 5175
 5176
 5177
 5178
 5179
 5180
 5181
 5182
 5183
 5184
 5185
 5186
 5187
 5188
 5189
 5190
 5191
 5192
 5193
 5194
 5195
 5196
 5197
 5198
 5199
 5200
 5201
 5202
 5203
 5204
 5205
 5206
 5207
 5208
 5209
 5210
 5211
 5212
 5213
 5214
 5215
 5216
 5217
 5218
 5219
 5220
 5221
 5222
 5223
 5224
 5225
 5226
 5227
 5228
 5229
 5230
 5231
 5232
 5233
 5234
 5235
 5236
 5237
 5238
 5239
 5240
 5241
 5242
 5243
 5244
 5245
 5246
 5247
 5248
 5249
 5250
 5251
 5252
 5253
 5254
 5255
 5256
 5257
 5258
 5259
 5260
 5261
 5262
 5263
 5264
 5265
 5266
 5267
 5268
 5269
 5270
 5271
 5272
 5273
 5274
 5275
 5276
 5277
 5278
 5279
 5280
 5281
 5282
 5283
 5284
 5285
 5286
 5287
 5288
 5289
 5290
 5291
 5292
 5293
 5294
 5295
 5296
 5297
 5298
 5299
 5300
 5301
 5302
 5303
 5304
 5305
 5306
 5307
 5308
 5309
 5310
 5311
 5312
 5313
 5314
 5315
 5316
 5317
 5318
 5319
 5320
 5321
 5322
 5323
 5324
 5325
 5326
 5327
 5328
 5329
 5330
 5331
 5332
 5333
 5334
 5335
 5336
 5337
 5338
 5339
 5340
 5341
 5342
 5343
 5344
 5345
 5346
 5347
 5348
 5349
 5350
 5351
 5352
 5353
 5354
 5355
 5356
 5357
 5358
 5359
 5360
 5361
 5362
 5363
 5364
 5365
 5366
 5367
 5368
 5369
 5370
 5371
 5372
 5373
 5374
 5375
 5376
 5377
 5378
 5379
 5380
 5381
 5382
 5383
 5384
 5385
 5386
 5387
 5388
 5389
 5390
 5391
 5392
 5393
 5394
 5395
 5396
 5397
 5398
 5399
 5400
 5401
 5402
 5403
 5404
 5405
 5406
 5407
 5408
 5409
 5410
 5411
 5412
 5413
 5414
 5415
 5416
 5417
 5418
 5419
 5420
 5421
 5422
 5423
 5424
 5425
 5426
 5427
 5428
 5429
 5430
 5431
 5432
 5433
 5434
 5435
 5436
 5437
 5438
 5439
 5440
 5441
 5442
 5443
 5444
 5445
 5446
 5447
 5448
 5449
 5450
 5451
 5452
 5453
 5454
 5455
 5456
 5457
 5458
 5459
 5460
 5461
 5462
 5463
 5464
 5465
 5466
 5467
 5468
 5469
 5470
 5471
 5472
 5473
 5474
 5475
 5476
 5477
 5478
 5479
 5480
 5481
 5482
 5483
 5484
 5485
 5486
 5487
 5488
 5489
 5490
 5491
 5492
 5493
 5494
 5495
 5496
 5497
 5498
 5499
 5500
 5501
 5502
 5503
 5504
 5505
 5506
 5507
 5508
 5509
 5510
 5511
 5512
 5513
 5514
 5515
 5516
 5517
 5518
 5519
 5520
 5521
 5522
 5523
 5524
 5525
 5526
 5527
 5528
 5529
 5530
 5531
 5532
 5533
 5534
 5535
 5536
 5537
 5538
 5539
 5540
 5541
 5542
 5543
 5544
 5545
 5546
 5547
 5548
 5549
 5550
 5551
 5552
 5553
 5554
 5555
 5556
 5557
 5558
 5559
 5560
 5561
 5562
 5563
 5564
 5565
 5566
 5567
 5568
 5569
 5570
 5571
 5572
 5573
 5574
 5575
 5576
 5577
 5578
 5579
 5580
 5581
 5582
 5583
 5584
 5585
 5586
 5587
 5588
 5589
 5590
 5591
 5592
 5593
 5594
 5595
 5596
 5597
 5598
 5599
 5600
 5601
 5602
 5603
 5604
 5605
 5606
 5607
 5608
 5609
 5610
 5611
 5612
 5613
 5614
 5615
 5616
 5617
 5618
 5619
 5620
 5621
 5622
 5623
 5624
 5625
 5626
 5627
 5628
 5629
 5630
 5631
 5632
 5633
 5634
 5635
 5636
 5637
 5638
 5639
 5640
 5641
 5642
 5643
 5644
 5645
 5646
 5647
 5648
 5649
 5650
 5651
 5652
 5653
 5654
 5655
 5656
 5657
 5658
 5659
 5660
 5661
 5662
 5663
 5664
 5665
 5666
 5667
 5668
 5669
 5670
 5671
 5672
 5673
 5674
 5675
 5676
 5677
 5678
 5679
 5680
 5681
 5682
 5683
 5684
 5685
 5686
 5687
 5688
 5689
 5690
 5691
 5692
 5693
 5694
 5695
 5696
 5697
 5698
 5699
 5700
 5701
 5702
 5703
 5704
 5705
 5706
 5707
 5708
 5709
 5710
 5711
 5712
 5713
 5714
 5715
 5716
 5717
 5718
 5719
 5720
 5721
 5722
 5723
 5724
 5725
 5726
 5727
 5728
 5729
 5730
 5731
 5732
 5733
 5734
 5735
 5736
 5737
 5738
 5739
 5740
 5741
 5742
 5743
 5744
 5745
 5746
 5747
 5748
 5749
 5750
 5751
 5752
 5753
 5754
 5755
 5756
 5757
 5758
 5759
 5760
 5761
 5762
 5763
 5764
 5765
 5766
 5767
 5768
 5769
 5770
 5771
 5772
 5773
 5774
 5775
 5776
 5777
 5778
 5779
 5780
 5781
 5782
 5783
 5784
 5785
 5786
 5787
 5788
 5789
 5790
 5791
 5792
 5793
 5794
 5795
 5796
 5797
 5798
 5799
 5800
 5801
 5802
 5803
 5804
 5805
 5806
 5807
 5808
 5809
 5810
 5811
 5812
 5813
 5814
 5815
 5816
 5817
 5818
 5819
 5820
 5821
 5822
 5823
 5824
 5825
 5826
 5827
 5828
 5829
 5830
 5831
 5832
 5833
 5834
 5835
 5836
 5837
 5838
 5839
 5840
 5841
 5842
 5843
 5844
 5845
 5846
 5847
 5848
 5849
 5850
 5851
 5852
 5853
 5854
 5855
 5856
 5857
 5858
 5859
 5860
 5861
 5862
 5863
 5864
 5865
 5866
 5867
 5868
 5869
 5870
 5871
 5872
 5873
 5874
 5875
 5876
 5877
 5878
 5879
 5880
 5881
 5882
 5883
 5884
 5885
 5886
 5887
 5888
 5889
 5890
 5891
 5892
 5893
 5894
 5895
 5896
 5897
 5898
 5899
 5900
 5901
 5902
 5903
 5904
 5905
 5906
 5907
 5908
 5909
 5910
 5911
 5912
 5913
 5914
 5915
 5916
 5917
 5918
 5919
 5920
 5921
 5922
 5923
 5924
 5925
 5926
 5927
 5928
 5929
 5930
 5931
 5932
 5933
 5934
 5935
 5936
 5937
 5938
 5939
 5940
 5941
 5942
 5943
 5944
 5945
 5946
 5947
 5948
 5949
 5950
 5951
 5952
 5953
 5954
 5955
 5956
 5957
 5958
 5959
 5960
 5961
 5962
 5963
 5964
 5965
 5966
 5967
 5968
 5969
 5970
 5971
 5972
 5973
 5974
 5975
 5976
 5977
 5978
 5979
 5980
 5981
 5982
 5983
 5984
 5985
 5986
 5987
 5988
 5989
 5990
 5991
 5992
 5993
 5994
 5995
 5996
 5997
 5998
 5999
 6000
 6001
 6002
 6003
 6004
 6005
 6006
 6007
 6008
 6009
 6010
 6011
 6012
 6013
 6014
 6015
 6016
 6017
 6018
 6019
 6020
 6021
 6022
 6023
 6024
 6025
 6026
 6027
 6028
 6029
 6030
 6031
 6032
 6033
 6034
 6035
 6036
 6037
 6038
 6039
 6040
 6041
 6042
 6043
 6044
 6045
 6046
 6047
 6048
 6049
 6050
 6051
 6052
 6053
 6054
 6055
 6056
 6057
 6058
 6059
 6060
 6061
 6062
 6063
 6064
 6065
 6066
 6067
 6068
 6069
 6070
 6071
 6072
 6073
 6074
 6075
 6076
 6077
 6078
 6079
 6080
 6081
 6082
 6083
 6084
 6085
 6086
 6087
 6088
 6089
 6090
 6091
 6092
 6093
 6094
 6095
 6096
 6097
 6098
 6099
 6100
 6101
 6102
 6103
 6104
 6105
 6106
 6107
 6108
 6109
 6110
 6111
 6112
 6113
 6114
 6115
 6116
 6117
 6118
 6119
 6120
 6121
 6122
 6123
 6124
 6125
 6126
 6127
 6128
 6129
 6130
 6131
 6132
 6133
 6134
 6135
 6136
 6137
 6138
 6139
 6140
 6141
 6142
 6143
 6144
 6145
 6146
 6147
 6148
 6149
 6150
 6151
 6152
 6153
 6154
 6155
 6156
 6157
 6158
 6159
 6160
 6161
 6162
 6163
 6164
 6165
 6166
 6167
 6168
 6169
 6170
 6171
 6172
 6173
 6174
 6175
 6176
 6177
 6178
 6179
 6180
 6181
 6182
 6183
 6184
 6185
 6186
 6187
 6188
 6189
 6190
 6191
 6192
 6193
 6194
 6195
 6196
 6197
 6198
 6199
 6200
 6201
 6202
 6203
 6204
 6205
 6206
 6207
 6208
 6209
 6210
 6211
 6212
 6213
 6214
 6215
 6216
 6217
 6218
 6219
 6220
 6221
 6222
 6223
 6224
 6225
 6226
 6227
 6228
 6229
 6230
 6231
 6232
 6233
 6234
 6235
 6236
 6237
 6238
 6239
 6240
 6241
 6242
 6243
 6244
 6245
 6246
 6247
 6248
 6249
 6250
 6251
 6252
 6253
 6254
 6255
 6256
 6257
 6258
 6259
 6260
 6261
 6262
 6263
 6264
 6265
 6266
 6267
 6268
 6269
 6270
 6271
 6272
 6273
 6274
 6275
 6276
 6277
 6278
 6279
 6280
 6281
 6282
 6283
 6284
 6285
 6286
 6287
 6288
 6289
 6290
 6291
 6292
 6293
 6294
 6295
 6296
 6297
 6298
 6299
 6300
 6301
 6302
 6303
 6304
 6305
 6306
 6307
 6308
 6309
 6310
 6311
 6312
 6313
 6314
 6315
 6316
 6317
 6318
 6319
 6320
 6321
 6322
 6323
 6324
 6325
 6326
 6327
 6328
 6329
 6330
 6331
 6332
 6333
 6334
 6335
 6336
 6337
 6338
 6339
 6340
 6341
 6342
 6343
 6344
 6345
 6346
 6347
 6348
 6349
 6350
 6351
 6352
 6353
 6354
 6355
 6356
 6357
 6358
 6359
 6360
 6361
 6362
 6363
 6364
 6365
 6366
 6367
 6368
 6369
 6370
 6371
 6372
 6373
 6374
 6375
 6376
 6377
 6378
 6379
 6380
 6381
 6382
 6383
 6384
 6385
 6386
 6387
 6388
 6389
 6390
 6391
 6392
 6393
 6394
 6395
 6396
 6397
 6398
 6399
 6400
 6401
 6402
 6403
 6404
 6405
 6406
 6407
 6408
 6409
 6410
 6411
 6412
 6413
 6414
 6415
 6416
 6417
 6418
 6419
 6420
 6421
 6422
 6423
 6424
 6425
 6426
 6427
 6428
 6429
 6430
 6431
 6432
 6433
 6434
 6435
 6436
 6437
 6438
 6439
 6440
 6441
 6442
 6443
 6444
 6445
 6446
 6447
 6448
 6449
 6450
 6451
 6452
 6453
 6454
 6455
 6456
 6457
 6458
 6459
 6460
 6461
 6462
 6463
 6464
 6465
 6466
 6467
 6468
 6469
 6470
 6471
 6472
 6473
 6474
 6475
 6476
 6477
 6478
 6479
 6480
 6481
 6482
 6483
 6484
 6485
 6486
 6487
 6488
 6489
 6490
 6491
 6492
 6493
 6494
 6495
 6496
 6497
 6498
 6499
 6500
 6501
 6502
 6503
 6504
 6505
 6506
 6507
 6508
 6509
 6510
 6511
 6512
 6513
 6514
 6515
 6516
 6517
 6518
 6519
 6520
 6521
 6522
 6523
 6524
 6525
 6526
 6527
 6528
 6529
 6530
 6531
 6532
 6533
 6534
 6535
 6536
 6537
 6538
 6539
 6540
 6541
 6542
 6543
 6544
 6545
 6546
 6547
 6548
 6549
 6550
 6551
 6552
 6553
 6554
 6555
 6556
 6557
 6558
 6559
 6560
 6561
 6562
 6563
 6564
 6565
 6566
 6567
 6568
 6569
 6570
 6571
 6572
 6573
 6574
 6575
 6576
 6577
 6578
 6579
 6580
 6581
 6582
 6583
 6584
 6585
 6586
 6587
 6588
 6589
 6590
 6591
 6592
 6593
 6594
 6595
 6596
 6597
 6598
 6599
 6600
 6601
 6602
 6603
 6604
 6605
 6606
 6607
 6608
 6609
 6610
 6611
 6612
 6613
 6614
 6615
 6616
 6617
 6618
 6619
 6620
 6621
 6622
 6623
 6624
 6625
 6626
 6627
 6628
 6629
 6630
 6631
 6632
 6633
 6634
 6635
 6636
 6637
 6638
 6639
 6640
 6641
 6642
 6643
 6644
 6645
 6646
 6647
 6648
 6649
 6650
 6651
 6652
 6653
 6654
 6655
 6656
 6657
 6658
 6659
 6660
 6661
 6662
 6663
 6664
 6665
 6666
 6667
 6668
 6669
 6670
 6671
 6672
 6673
 6674
 6675
 6676
 6677
 6678
 6679
 6680
 6681
 6682
 6683
 6684
 6685
 6686
 6687
 6688
 6689
 6690
 6691
 6692
 6693
 6694
 6695
 6696
 6697
 6698
 6699
 6700
 6701
 6702
 6703
 6704
 6705
 6706
 6707
 6708
 6709
 6710
 6711
 6712
 6713
 6714
 6715
 6716
 6717
 6718
 6719
 6720
 6721
 6722
 6723
 6724
 6725
 6726
 6727
 6728
 6729
 6730
 6731
 6732
 6733
 6734
 6735
 6736
 6737
 6738
 6739
 6740
 6741
 6742
 6743
 6744
 6745
 6746
 6747
 6748
 6749
 6750
 6751
 6752
 6753
 6754
 6755
 6756
 6757
 6758
 6759
 6760
 6761
 6762
 6763
 6764
 6765
 6766
 6767
 6768
 6769
 6770
 6771
 6772
 6773
 6774
 6775
 6776
 6777
 6778
 6779
 6780
 6781
 6782
 6783
 6784
 6785
 6786
 6787
 6788
 6789
 6790
 6791
 6792
 6793
 6794
 6795
 6796
 6797
 6798
 6799
 6800
 6801
 6802
 6803
 6804
 6805
 6806
 6807
 6808
 6809
 6810
 6811
 6812
 6813
 6814
 6815
 6816
 6817
 6818
 6819
 6820
 6821
 6822
 6823
 6824
 6825
 6826
 6827
 6828
 6829
 6830
 6831
 6832
 6833
 6834
 6835
 6836
 6837
 6838
 6839
 6840
 6841
 6842
 6843
 6844
 6845
 6846
 6847
 6848
 6849
 6850
 6851
 6852
 6853
 6854
 6855
 6856
 6857
 6858
 6859
 6860
 6861
 6862
 6863
 6864
 6865
 6866
 6867
 6868
 6869
 6870
 6871
 6872
 6873
 6874
 6875
 6876
 6877
 6878
 6879
 6880
 6881
 6882
 6883
 6884
 6885
 6886
 6887
 6888
 6889
 6890
 6891
 6892
 6893
 6894
 6895
 6896
 6897
 6898
 6899
 6900
 6901
 6902
 6903
 6904
 6905
 6906
 6907
 6908
 6909
 6910
 6911
 6912
 6913
 6914
 6915
 6916
 6917
 6918
 6919
 6920
 6921
 6922
 6923
 6924
 6925
 6926
 6927
 6928
 6929
 6930
 6931
 6932
 6933
 6934
 6935
 6936
 6937
 6938
 6939
 6940
 6941
 6942
 6943
 6944
 6945
 6946
 6947
 6948
 6949
 6950
 6951
 6952
 6953
 6954
 6955
 6956
 6957
 6958
 6959
 6960
 6961
 6962
 6963
 6964
 6965
 6966
 6967
 6968
 6969
 6970
 6971
 6972
 6973
 6974
 6975
 6976
 6977
 6978
 6979
 6980
 6981
 6982
 6983
 6984
 6985
 6986
 6987
 6988
 6989
 6990
 6991
 6992
 6993
 6994
 6995
 6996
 6997
 6998
 6999
 7000
 7001
 7002
 7003
 7004
 7005
 7006
 7007
 7008
 7009
 7010
 7011
 7012
 7013
 7014
 7015
 7016
 7017
 7018
 7019
 7020
 7021
 7022
 7023
 7024
 7025
 7026
 7027
 7028
 7029
 7030
 7031
 7032
 7033
 7034
 7035
 7036
 7037
 7038
 7039
 7040
 7041
 7042
 7043
 7044
 7045
 7046
 7047
 7048
 7049
 7050
 7051
 7052
 7053
 7054
 7055
 7056
 7057
 7058
 7059
 7060
 7061
 7062
 7063
 7064
 7065
 7066
 7067
 7068
 7069
 7070
 7071
 7072
 7073
 7074
 7075
 7076
 7077
 7078
 7079
 7080
 7081
 7082
 7083
 7084
 7085
 7086
 7087
 7088
 7089
 7090
 7091
 7092
 7093
 7094
 7095
 7096
 7097
 7098
 7099
 7100
 7101
 7102
 7103
 7104
 7105
 7106
 7107
 7108
 7109
 7110
 7111
 7112
 7113
 7114
 7115
 7116
 7117
 7118
 7119
 7120
 7121
 7122
 7123
 7124
 7125
 7126
 7127
 7128
 7129
 7130
 7131
 7132
 7133
 7134
 7135
 7136
 7137
 7138
 7139
 7140
 7141
 7142
 7143
 7144
 7145
 7146
 7147
 7148
 7149
 7150
 7151
 7152
 7153
 7154
 7155
 7156
 7157
 7158
 7159
 7160
 7161
 7162
 7163
 7164
 7165
 7166
 7167
 7168
 7169
 7170
 7171
 7172
 7173
 7174
 7175
 7176
 7177
 7178
 7179
 7180
 7181
 7182
 7183
 7184
 7185
 7186
 7187
 7188
 7189
 7190
 7191
 7192
 7193
 7194
 7195
 7196
 7197
 7198
 7199
 7200
 7201
 7202
 7203
 7204
 7205
 7206
 7207
 7208
 7209
 7210
 7211
 7212
 7213
 7214
 7215
 7216
 7217
 7218
 7219
 7220
 7221
 7222
 7223
 7224
 7225
 7226
 7227
 7228
 7229
 7230
 7231
 7232
 7233
 7234
 7235
 7236
 7237
 7238
 7239
 7240
 7241
 7242
 7243
 7244
 7245
 7246
 7247
 7248
 7249
 7250
 7251
 7252
 7253
 7254
 7255
 7256
 7257
 7258
 7259
 7260
 7261
 7262
 7263
 7264
 7265
 7266
 7267
 7268
 7269
 7270
 7271
 7272
 7273
 7274
 7275
 7276
 7277
 7278
 7279
 7280
 7281
 7282
 7283
 7284
 7285
 7286
 7287
 7288
 7289
 7290
 7291
 7292
 7293
 7294
 7295
 7296
 7297
 7298
 7299
 7300
 7301
 7302
 7303
 7304
 7305
 7306
 7307
 7308
 7309
 7310
 7311
 7312
 7313
 7314
 7315
 7316
 7317
 7318
 7319
 7320
 7321
 7322
 7323
 7324
 7325
 7326
 7327
 7328
 7329
 7330
 7331
 7332
 7333
 7334
 7335
 7336
 7337
 7338
 7339
 7340
 7341
 7342
 7343
 7344
 7345
 7346
 7347
 7348
 7349
 7350
 7351
 7352
 7353
 7354
 7355
 7356
 7357
 7358
 7359
 7360
 7361
 7362
 7363
 7364
 7365
 7366
 7367
 7368
 7369
 7370
 7371
 7372
 7373
 7374
 7375
 7376
 7377
 7378
 7379
 7380
 7381
 7382
 7383
 7384
 7385
 7386
 7387
 7388
 7389
 7390
 7391
 7392
 7393
 7394
 7395
 7396
 7397
 7398
 7399
 7400
 7401
 7402
 7403
 7404
 7405
 7406
 7407
 7408
 7409
 7410
 7411
 7412
 7413
 7414
 7415
 7416
 7417
 7418
 7419
 7420
 7421
 7422
 7423
 7424
 7425
 7426
 7427
 7428
 7429
 7430
 7431
 7432
 7433
 7434
 7435
 7436
 7437
 7438
 7439
 7440
 7441
 7442
 7443
 7444
 7445
 7446
 7447
 7448
 7449
 7450
 7451
 7452
 7453
 7454
 7455
 7456
 7457
 7458
 7459
 7460
 7461
 7462
 7463
 7464
 7465
 7466
 7467
 7468
 7469
 7470
 7471
 7472
 7473
 7474
 7475
 7476
 7477
 7478
 7479
 7480
 7481
 7482
 7483
 7484
 7485
 7486
 7487
 7488
 7489
 7490
 7491
 7492
 7493
 7494
 7495
 7496
 7497
 7498
 7499
 7500
 7501
 7502
 7503
 7504
 7505
 7506
 7507
 7508
 7509
 7510
 7511
 7512
 7513
 7514
 7515
 7516
 7517
 7518
 7519
 7520
 7521
 7522
 7523
 7524
 7525
 7526
 7527
 7528
 7529
 7530
 7531
 7532
 7533
 7534
 7535
 7536
 7537
 7538
 7539
 7540
 7541
 7542
 7543
 7544
 7545
 7546
 7547
 7548
 7549
 7550
 7551
 7552
 7553
 7554
 7555
 7556
 7557
 7558
 7559
 7560
 7561
 7562
 7563
 7564
 7565
 7566
 7567
 7568
 7569
 7570
 7571
 7572
 7573
 7574
 7575
 7576
 7577
 7578
 7579
 7580
 7581
 7582
 7583
 7584
 7585
 7586
 7587
 7588
 7589
 7590
 7591
 7592
 7593
 7594
 7595
 7596
 7597
 7598
 7599
 7600
 7601
 7602
 7603
 7604
 7605
 7606
 7607
 7608
 7609
 7610
 7611
 7612
 7613
 7614
 7615
 7616
 7617
 7618
 7619
 7620
 7621
 7622
 7623
 7624
 7625
 7626
 7627
 7628
 7629
 7630
 7631
 7632
 7633
 7634
 7635
 7636
 7637
 7638
 7639
 7640
 7641
 7642
 7643
 7644
 7645
 7646
 7647
 7648
 7649
 7650
 7651
 7652
 7653
 7654
 7655
 7656
 7657
 7658
 7659
 7660
 7661
 7662
 7663
 7664
 7665
 7666
 7667
 7668
 7669
 7670
 7671
 7672
 7673
 7674
 7675
 7676
 7677
 7678
 7679
 7680
 7681
 7682
 7683
 7684
 7685
 7686
 7687
 7688
 7689
 7690
 7691
 7692
 7693
 7694
 7695
 7696
 7697
 7698
 7699
 7700
 7701
 7702
 7703
 7704
 7705
 7706
 7707
 7708
 7709
 7710
 7711
 7712
 7713
 7714
 7715
 7716
 7717
 7718
 7719
 7720
 7721
 7722
 7723
 7724
 7725
 7726
 7727
 7728
 7729
 7730
 7731
 7732
 7733
 7734
 7735
 7736
 7737
 7738
 7739
 7740
 7741
 7742
 7743
 7744
 7745
 7746
 7747
 7748
 7749
 7750
 7751
 7752
 7753
 7754
 7755
 7756
 7757
 7758
 7759
 7760
 7761
 7762
 7763
 7764
 7765
 7766
 7767
 7768
 7769
 7770
 7771
 7772
 7773
 7774
 7775
 7776
 7777
 7778
 7779
 7780
 7781
 7782
 7783
 7784
 7785
 7786
 7787
 7788
 7789
 7790
 7791
 7792
 7793
 7794
 7795
 7796
 7797
 7798
 7799
 7800
 7801
 7802
 7803
 7804
 7805
 7806
 7807
 7808
 7809
 7810
 7811
 7812
 7813
 7814
 7815
 7816
 7817
 7818
 7819
 7820
 7821
 7822
 7823
 7824
 7825
 7826
 7827
 7828
 7829
 7830
 7831
 7832
 7833
 7834
 7835
 7836
 7837
 7838
 7839
 7840
 7841
 7842
 7843
 7844
 7845
 7846
 7847
 7848
 7849
 7850
 7851
 7852
 7853
 7854
 7855
 7856
 7857
 7858
 7859
 7860
 7861
 7862
 7863
 7864
 7865
 7866
 7867
 7868
 7869
 7870
 7871
 7872
 7873
 7874
 7875
 7876
 7877
 7878
 7879
 7880
 7881
 7882
 7883
 7884
 7885
 7886
 7887
 7888
 7889
 7890
 7891
 7892
 7893
 7894
 7895
 7896
 7897
 7898
 7899
 7900
 7901
 7902
 7903
 7904
 7905
 7906
 7907
 7908
 7909
 7910
 7911
 7912
 7913
 7914
 7915
 7916
 7917
 7918
 7919
 7920
 7921
 7922
 7923
 7924
 7925
 7926
 7927
 7928
 7929
 7930
 7931
 7932
 7933
 7934
 7935
 7936
 7937
 7938
 7939
 7940
 7941
 7942
 7943
 7944
 7945
 7946
 7947
 7948
 7949
 7950
 7951
 7952
 7953
 7954
 7955
 7956
 7957
 7958
 7959
 7960
 7961
 7962
 7963
 7964
 7965
 7966
 7967
 7968
 7969
 7970
 7971
 7972
 7973
 7974
 7975
 7976
 7977
 7978
 7979
 7980
 7981
 7982
 7983
 7984
 7985
 7986
 7987
 7988
 7989
 7990
 7991
 7992
 7993
 7994
 7995
 7996
 7997
 7998
 7999
 8000
 8001
 8002
 8003
 8004
 8005
 8006
 8007
 8008
 8009
 8010
 8011
 8012
 8013
 8014
 8015
 8016
 8017
 8018
 8019
 8020
 8021
 8022
 8023
 8024
 8025
 8026
 8027
 8028
 8029
 8030
 8031
 8032
 8033
 8034
 8035
 8036
 8037
 8038
 8039
 8040
 8041
 8042
 8043
 8044
 8045
 8046
 8047
 8048
 8049
 8050
 8051
 8052
 8053
 8054
 8055
 8056
 8057
 8058
 8059
 8060
 8061
 8062
 8063
 8064
 8065
 8066
 8067
 8068
 8069
 8070
 8071
 8072
 8073
 8074
 8075
 8076
 8077
 8078
 8079
 8080
 8081
 8082
 8083
 8084
 8085
 8086
 8087
 8088
 8089
 8090
 8091
 8092
 8093
 8094
 8095
 8096
 8097
 8098
 8099
 8100
 8101
 8102
 8103
 8104
 8105
 8106
 8107
 8108
 8109
 8110
 8111
 8112
 8113
 8114
 8115
 8116
 8117
 8118
 8119
 8120
 8121
 8122
 8123
 8124
 8125
 8126
 8127
 8128
 8129
 8130
 8131
 8132
 8133
 8134
 8135
 8136
 8137
 8138
 8139
 8140
 8141
 8142
 8143
 8144
 8145
 8146
 8147
 8148
 8149
 8150
 8151
 8152
 8153
 8154
 8155
 8156
 8157
 8158
 8159
 8160
 8161
 8162
 8163
 8164
 8165
 8166
 8167
 8168
 8169
 8170
 8171
 8172
 8173
 8174
 8175
 8176
 8177
 8178
 8179
 8180
 8181
 8182
 8183
 8184
 8185
 8186
 8187
 8188
 8189
 8190
 8191
 8192
 8193
 8194
 8195
 8196
 8197
 8198
 8199
 8200
 8201
 8202
 8203
 8204
 8205
 8206
 8207
 8208
 8209
 8210
 8211
 8212
 8213
 8214
 8215
 8216
 8217
 8218
 8219
 8220
 8221
 8222
 8223
 8224
 8225
 8226
 8227
 8228
 8229
 8230
 8231
 8232
 8233
 8234
 8235
 8236
 8237
 8238
 8239
 8240
 8241
 8242
 8243
 8244
 8245
 8246
 8247
 8248
 8249
 8250
 8251
 8252
 8253
 8254
 8255
 8256
 8257
 8258
 8259
 8260
 8261
 8262
 8263
 8264
 8265
 8266
 8267
 8268
 8269
 8270
 8271
 8272
 8273
 8274
 8275
 8276
 8277
 8278
 8279
 8280
 8281
 8282
 8283
 8284
 8285
 8286
 8287
 8288
 8289
 8290
 8291
 8292
 8293
 8294
 8295
 8296
 8297
 8298
 8299
 8300
 8301
 8302
 8303
 8304
 8305
 8306
 8307
 8308
 8309
 8310
 8311
 8312
 8313
 8314
 8315
 8316
 8317
 8318
 8319
 8320
 8321
 8322
 8323
 8324
 8325
 8326
 8327
 8328
 8329
 8330
 8331
 8332
 8333
 8334
 8335
 8336
 8337
 8338
 8339
 8340
 8341
 8342
 8343
 8344
 8345
 8346
 8347
 8348
 8349
 8350
 8351
 8352
 8353
 8354
 8355
 8356
 8357
 8358
 8359
 8360
 8361
 8362
 8363
 8364
 8365
 8366
 8367
 8368
 8369
 8370
 8371
 8372
 8373
 8374
 8375
 8376
 8377
 8378
 8379
 8380
 8381
 8382
 8383
 8384
 8385
 8386
 8387
 8388
 8389
 8390
 8391
 8392
 8393
 8394
 8395
 8396
 8397
 8398
 8399
 8400
 8401
 8402
 8403
 8404
 8405
 8406
 8407
 8408
 8409
 8410
 8411
 8412
 8413
 8414
 8415
 8416
 8417
 8418
 8419
 8420
 8421
 8422
 8423
 8424
 8425
 8426
 8427
 8428
 8429
 8430
 8431
 8432
 8433
 8434
 8435
 8436
 8437
 8438
 8439
 8440
 8441
 8442
 8443
 8444
 8445
 8446
 8447
 8448
 8449
 8450
 8451
 8452
 8453
 8454
 8455
 8456
 8457
 8458
 8459
 8460
 8461
 8462
 8463
 8464
 8465
 8466
 8467
 8468
 8469
 8470
 8471
 8472
 8473
 8474
 8475
 8476
 8477
 8478
 8479
 8480
 8481
 8482
 8483
 8484
 8485
 8486
 8487
 8488
 8489
 8490
 8491
 8492
 8493
 8494
 8495
 8496
 8497
 8498
 8499
 8500
 8501
 8502
 8503
 8504
 8505
 8506
 8507
 8508
 8509
 8510
 8511
 8512
 8513
 8514
 8515
 8516
 8517
 8518
 8519
 8520
 8521
 8522
 8523
 8524
 8525
 8526
 8527
 8528
 8529
 8530
 8531
 8532
 8533
 8534
 8535
 8536
 8537
 8538
 8539
 8540
 8541
 8542
 8543
 8544
 8545
 8546
 8547
 8548
 8549
 8550
 8551
 8552
 8553
 8554
 8555
 8556
 8557
 8558
 8559
 8560
 8561
 8562
 8563
 8564
 8565
 8566
 8567
 8568
 8569
 8570
 8571
 8572
 8573
 8574
 8575
 8576
 8577
 8578
 8579
 8580
 8581
 8582
 8583
 8584
 8585
 8586
 8587
 8588
 8589
 8590
 8591
 8592
 8593
 8594
 8595
 8596
 8597
 8598
 8599
 8600
 8601
 8602
 8603
 8604
 8605
 8606
 8607
 8608
 8609
 8610
 8611
 8612
 8613
 8614
 8615
 8616
 8617
 8618
 8619
 8620
 8621
 8622
 8623
 8624
 8625
 8626
 8627
 8628
 8629
 8630
 8631
 8632
 8633
 8634
 8635
 8636
 8637
 8638
 8639
 8640
 8641
 8642
 8643
 8644
 8645
 8646
 8647
 8648
 8649
 8650
 8651
 8652
 8653
 8654
 8655
 8656
 8657
 8658
 8659
 8660
 8661
 8662
 8663
 8664
 8665
 8666
 8667
 8668
 8669
 8670
 8671
 8672
 8673
 8674
 8675
 8676
 8677
 8678
 8679
 8680
 8681
 8682
 8683
 8684
 8685
 8686
 8687
 8688
 8689
 8690
 8691
 8692
 8693
 8694
 8695
 8696
 8697
 8698
 8699
 8700
 8701
 8702
 8703
 8704
 8705
 8706
 8707
 8708
 8709
 8710
 8711
 8712
 8713
 8714
 8715
 8716
 8717
 8718
 8719
 8720
 8721
 8722
 8723
 8724
 8725
 8726
 8727
 8728
 8729
 8730
 8731
 8732
 8733
 8734
 8735
 8736
 8737
 8738
 8739
 8740
 8741
 8742
 8743
 8744
 8745
 8746
 8747
 8748
 8749
 8750
 8751
 8752
 8753
 8754
 8755
 8756
 8757
 8758
 8759
 8760
 8761
 8762
 8763
 8764
 8765
 8766
 8767
 8768
 8769
 8770
 8771
 8772
 8773
 8774
 8775
 8776
 8777
 8778
 8779
 8780
 8781
 8782
 8783
 8784
 8785
 8786
 8787
 8788
 8789
 8790
 8791
 8792
 8793
 8794
 8795
 8796
 8797
 8798
 8799
 8800
 8801
 8802
 8803
 8804
 8805
 8806
 8807
 8808
 8809
 8810
 8811
 8812
 8813
 8814
 8815
 8816
 8817
 8818
 8819
 8820
 8821
 8822
 8823
 8824
 8825
 8826
 8827
 8828
 8829
 8830
 8831
 8832
 8833
 8834
 8835
 8836
 8837
 8838
 8839
 8840
 8841
 8842
 8843
 8844
 8845
 8846
 8847
 8848
 8849
 8850
 8851
 8852
 8853
 8854
 8855
 8856
 8857
 8858
 8859
 8860
 8861
 8862
 8863
 8864
 8865
 8866
 8867
 8868
 8869
 8870
 8871
 8872
 8873
 8874
 8875
 8876
 8877
 8878
 8879
 8880
 8881
 8882
 8883
 8884
 8885
 8886
 8887
 8888
 8889
 8890
 8891
 8892
 8893
 8894
 8895
 8896
 8897
 8898
 8899
 8900
 8901
 8902
 8903
 8904
 8905
 8906
 8907
 8908
 8909
 8910
 8911
 8912
 8913
 8914
 8915
 8916
 8917
 8918
 8919
 8920
 8921
 8922
 8923
 8924
 8925
 8926
 8927
 8928
 8929
 8930
 8931
 8932
 8933
 8934
 8935
 8936
 8937
 8938
 8939
 8940
 8941
 8942
 8943
 8944
 8945
 8946
 8947
 8948
 8949
 8950
 8951
 8952
 8953
 8954
 8955
 8956
 8957
 8958
 8959
 8960
 8961
 8962
 8963
 8964
 8965
 8966
 8967
 8968
 8969
 8970
 8971
 8972
 8973
 8974
 8975
 8976
 8977
 8978
 8979
 8980
 8981
 8982
 8983
 8984
 8985
 8986
 8987
 8988
 8989
 8990
 8991
 8992
 8993
 8994
 8995
 8996
 8997
 8998
 8999
 9000
 9001
 9002
 9003
 9004
 9005
 9006
 9007
 9008
 9009
 9010
 9011
 9012
 9013
 9014
 9015
 9016
 9017
 9018
 9019
 9020
 9021
 9022
 9023
 9024
 9025
 9026
 9027
 9028
 9029
 9030
 9031
 9032
 9033
 9034
 9035
 9036
 9037
 9038
 9039
 9040
 9041
 9042
 9043
 9044
 9045
 9046
 9047
 9048
 9049
 9050
 9051
 9052
 9053
 9054
 9055
 9056
 9057
 9058
 9059
 9060
 9061
 9062
 9063
 9064
 9065
 9066
 9067
 9068
 9069
 9070
 9071
 9072
 9073
 9074
 9075
 9076
 9077
 9078
 9079
 9080
 9081
 9082
 9083
 9084
 9085
 9086
 9087
 9088
 9089
 9090
 9091
 9092
 9093
 9094
 9095
 9096
 9097
 9098
 9099
 9100
 9101
 9102
 9103
 9104
 9105
 9106
 9107
 9108
 9109
 9110
 9111
 9112
 9113
 9114
 9115
 9116
 9117
 9118
 9119
 9120
 9121
 9122
 9123
 9124
 9125
 9126
 9127
 9128
 9129
 9130
 9131
 9132
 9133
 9134
 9135
 9136
 9137
 9138
 9139
 9140
 9141
 9142
 9143
 9144
 9145
 9146
 9147
 9148
 9149
 9150
 9151
 9152
 9153
 9154
 9155
 9156
 9157
 9158
 9159
 9160
 9161
 9162
 9163
 9164
 9165
 9166
 9167
 9168
 9169
 9170
 9171
 9172
 9173
 9174
 9175
 9176
 9177
 9178
 9179
 9180
 9181
 9182
 9183
 9184
 9185
 9186
 9187
 9188
 9189
 9190
 9191
 9192
 9193
 9194
 9195
 9196
 9197
 9198
 9199
 9200
 9201
 9202
 9203
 9204
 9205
 9206
 9207
 9208
 9209
 9210
 9211
 9212
 9213
 9214
 9215
 9216
 9217
 9218
 9219
 9220
 9221
 9222
 9223
 9224
 9225
 9226
 9227
 9228
 9229
 9230
 9231
 9232
 9233
 9234
 9235
 9236
 9237
 9238
 9239
 9240
 9241
 9242
 9243
 9244
 9245
 9246
 9247
 9248
 9249
 9250
 9251
 9252
 9253
 9254
 9255
 9256
 9257
 9258
 9259
 9260
 9261
 9262
 9263
 9264
 9265
 9266
 9267
 9268
 9269
 9270
 9271
 9272
 9273
 9274
 9275
 9276
 9277
 9278
 9279
 9280
 9281
 9282
 9283
 9284
 9285
 9286
 9287
 9288
 9289
 9290
 9291
 9292
 9293
 9294
 9295
 9296
 9297
 9298
 9299
 9300
 9301
 9302
 9303
 9304
 9305
 9306
 9307
 9308
 9309
 9310
 9311
 9312
 9313
 9314
 9315
 9316
 9317
 9318
 9319
 9320
 9321
 9322
 9323
 9324
 9325
 9326
 9327
 9328
 9329
 9330
 9331
 9332
 9333
 9334
 9335
 9336
 9337
 9338
 9339
 9340
 9341
 9342
 9343
 9344
 9345
 9346
 9347
 9348
 9349
 9350
 9351
 9352
 9353
 9354
 9355
 9356
 9357
 9358
 9359
 9360
 9361
 9362
 9363
 9364
 9365
 9366
 9367
 9368
 9369
 9370
 9371
 9372
 9373
 9374
 9375
 9376
 9377
 9378
 9379
 9380
 9381
 9382
 9383
 9384
 9385
 9386
 9387
 9388
 9389
 9390
 9391
 9392
 9393
 9394
 9395
 9396
 9397
 9398
 9399
 9400
 9401
 9402
 9403
 9404
 9405
 9406
 9407
 9408
 9409
 9410
 9411
 9412
 9413
 9414
 9415
 9416
 9417
 9418
 9419
 9420
 9421
 9422
 9423
 9424
 9425
 9426
 9427
 9428
 9429
 9430
 9431
 9432
 9433
 9434
 9435
 9436
 9437
 9438
 9439
 9440
 9441
 9442
 9443
 9444
 9445
 9446
 9447
 9448
 9449
 9450
 9451
 9452
 9453
 9454
 9455
 9456
 9457
 9458
 9459
 9460
 9461
 9462
 9463
 9464
 9465
 9466
 9467
 9468
 9469
 9470
 9471
 9472
 9473
 9474
 9475
 9476
 9477
 9478
 9479
 9480
 9481
 9482
 9483
 9484
 9485
 9486
 9487
 9488
 9489
 9490
 9491
 9492
 9493
 9494
 9495
 9496
 9497
 9498
 9499
 9500
 9501
 9502
 9503
 9504
 9505
 9506
 9507
 9508
 9509
 9510
 9511
 9512
 9513
 9514
 9515
 9516
 9517
 9518
 9519
 9520
 9521
 9522
 9523
 9524
 9525
 9526
 9527
 9528
 9529
 9530
 9531
 9532
 9533
 9534
 9535
 9536
 9537
 9538
 9539
 9540
 9541
 9542
 9543
 9544
 9545
 9546
 9547
 9548
 9549
 9550
 9551
 9552
 9553
 9554
 9555
 9556
 9557
 9558
 9559
 9560
 9561
 9562
 9563
 9564
 9565
 9566
 9567
 9568
 9569
 9570
 9571
 9572
 9573
 9574
 9575
 9576
 9577
 9578
 9579
 9580
 9581
 9582
 9583
 9584
 9585
 9586
 9587
 9588
 9589
 9590
 9591
 9592
 9593
 9594
 9595
 9596
 9597
 9598
 9599
 9600
 9601
 9602
 9603
 9604
 9605
 9606
 9607
 9608
 9609
 9610
 9611
 9612
 9613
 9614
 9615
 9616
 9617
 9618
 9619
 9620
 9621
 9622
 9623
 9624
 9625
 9626
 9627
 9628
 9629
 9630
 9631
 9632
 9633
 9634
 9635
 9636
 9637
 9638
 9639
 9640
 9641
 9642
 9643
 9644
 9645
 9646
 9647
 9648
 9649
 9650
 9651
 9652
 9653
 9654
 9655
 9656
 9657
 9658
 9659
 9660
 9661
 9662
 9663
 9664
 9665
 9666
 9667
 9668
 9669
 9670
 9671
 9672
 9673
 9674
 9675
 9676
 9677
 9678
 9679
 9680
 9681
 9682
 9683
 9684
 9685
 9686
 9687
 9688
 9689
 9690
 9691
 9692
 9693
 9694
 9695
 9696
 9697
 9698
 9699
 9700
 9701
 9702
 9703
 9704
 9705
 9706
 9707
 9708
 9709
 9710
 9711
 9712
 9713
 9714
 9715
 9716
 9717
 9718
 9719
 9720
 9721
 9722
 9723
 9724
 9725
 9726
 9727
 9728
 9729
 9730
 9731
 9732
 9733
 9734
 9735
 9736
 9737
 9738
 9739
 9740
 9741
 9742
 9743
 9744
 9745
 9746
 9747
 9748
 9749
 9750
 9751
 9752
 9753
 9754
 9755
 9756
 9757
 9758
 9759
 9760
 9761
 9762
 9763
 9764
 9765
 9766
 9767
 9768
 9769
 9770
 9771
 9772
 9773
 9774
 9775
 9776
 9777
 9778
 9779
 9780
 9781
 9782
 9783
 9784
 9785
 9786
 9787
 9788
 9789
 9790
 9791
 9792
 9793
 9794
 9795
 9796
 9797
 9798
 9799
 9800
 9801
 9802
 9803
 9804
 9805
 9806
 9807
 9808
 9809
 9810
 9811
 9812
 9813
 9814
 9815
 9816
 9817
 9818
 9819
 9820
 9821
 9822
 9823
 9824
 9825
 9826
 9827
 9828
 9829
 9830
 9831
 9832
 9833
 9834
 9835
 9836
 9837
 9838
 9839
 9840
 9841
 9842
 9843
 9844
 9845
 9846
 9847
 9848
 9849
 9850
 9851
 9852
 9853
 9854
 9855
 9856
 9857
 9858
 9859
 9860
 9861
 9862
 9863
 9864
 9865
 9866
 9867
 9868
 9869
 9870
 9871
 9872
 9873
 9874
 9875
 9876
 9877
 9878
 9879
 9880
 9881
 9882
 9883
 9884
 9885
 9886
 9887
 9888
 9889
 9890
 9891
 9892
 9893
 9894
 9895
 9896
 9897
 9898
 9899
 9900
 9901
 9902
 9903
 9904
 9905
 9906
 9907
 9908
 9909
 9910
 9911
 9912
 9913
 9914
 9915
 9916
 9917
 9918
 9919
 9920
 9921
 9922
 9923
 9924
 9925
 9926
 9927
 9928
 9929
 9930
 9931
 9932
 9933
 9934
 9935
 9936
 9937
 9938
 9939
 9940
 9941
 9942
 9943
 9944
 9945
 9946
 9947
 9948
 9949
 9950
 9951
 9952
 9953
 9954
 9955
 9956
 9957
 9958
 9959
 9960
 9961
 9962
 9963
 9964
 9965
 9966
 9967
 9968
 9969
 9970
 9971
 9972
 9973
 9974
 9975
 9976
 9977
 9978
 9979
 9980
 9981
 9982
 9983
 9984
 9985
 9986
 9987
 9988
 9989
 9990
 9991
 9992
 9993
 9994
 9995
 9996
 9997
 9998
 9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
%%% ====================================================================
%%%  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,
}