October 1984 - Vol. 27 No. 10
Features
Congress is paying careful attention to threats to U.S. high technology from two areas: trademark and patent infringement and proposed foreign violation of U.S. copyright laws.
Computer technology is becoming a major victim of the nearly $8 billion counterfeit business threatening the American economy. Some recent product examples include fake Apple computers seized by U.S. Customs and reverse engineered Apples and other microcomputers on sale in Hong Kong for $300, about a third of the price of a genuine product. U.S. firms fear losses large enough to hinder research and development efforts. This would result in erosion of their technological edge.
Since the mid-1970s, the U.S. Department of Defense has been laying the groundwork for a major new computer language that may substantially displace FORTRAN and COBOL in the years ahead. With Ada just now starting to be used, Communications felt it would be timely to conduct an interview with Jean Ichbiah, the principal designer of this new language. Ichbiah discusses the evolution of Ada, evaluates its success so far, and speculates on its future.
The first course in computer science needs a mathematics corequisite
First-year computer science students need to know and use a considerable amount of mathematics. A corequired course in discrete mathematics is a good solution.
Optimization criteria for checkpoint placement
Mean response time and availability as optimization criteria for checkpoint placement are better replaced by workable formulas that calculate the ratio between the marginal gain accrued to users who experience system failure and the (presumably slight) loss suffered on average by all users.
Dhrystone: a synthetic systems programming benchmark
Reflecting current data on the use of programming language constructs in systems programming, a synthetic benchmark is constructed based on the distribution appearing in the data. The benchmark executes 100 Ada statements that are balanced in terms of the distribution of statement types, data types, and data locality. Pascal and C versions of the benchmark are discussed.
Building a user-derived interface
Many human-computer interfaces are designed with the assumption that the user must adapt to the system, that users must be trained and their behavior altered to fit a given interface. The research presented here proceeds from the alternative assumption: Novice behavior is inherently sensible, and the computer system can be made to adapt to it. Specifically, a measurably easy-to-use interface was built to accommodate the actual behavior of novice users. Novices attempted an electronic mail task using a command-line interface containing no help, no menus, no documentation, and no instruction. A hidden operator intercepted commands when necessary, creating the illusion of an interactive session. The software was repeatedly revised to recognize users' new commands; in essence, the interface was derived from user behavior. This procedure was used on 67 subjects. The first version of the software could recognize only 7 percent of all the subjects' spontaneously generated commands; the final version could recognize 76 percent of these commands. This experience contradicts the idea that user input is irrelevant to the design of command languages. Through careful observation and analysis of user behavior, a mail interface unusable by novices evolved into one that let novices do useful work within minutes.
An application of artificial intelligence to operations research
An extension of critical path scheduling to a case where there are alternate methods for completing a project is introduced. Three solution methods are presented including one based on the heuristic search algorithm used in artificial intelligence.