Advertisement

Opinion

Log on education: Quick, where do the computers go?

History has dealt computer and information science a special role in the inevitable restructuring of the educational system in the United States. In the coming decade computing and information technology will be the backbone of the most significant change in education in over 100 years. Rather than being an adjunct to learning and teaching, technology is facilitating a fundamental re-thinking of what should be learned and how. Such changes present the Communications readership with a unique opportunity and a serious responsibility. Toward meeting this challenge, in this column I will address some key issues in education and technology. For example, this first column examines how our basic notion of what needs to be learned is changing, and how this affects the ways in which technology is used. Subsequent columns will explore topics such as “programming's role in learning,” “multi-media, and nationwide, computer-based,” testing.
Research and Advances

The impact of information systems on organizations and markets

The adoption of information technology (IT) in organizations has been growing at a rapid pace. The use of the technology has evolved from the automation of structured processes to systems that are truly revolutionary in that they introduce change into fundamental business procedures. Indeed, it is believed that “More than being helped by computers, companies will live by them, shaping strategy and structure to fit new information technology [25].” While the importance of the relationship between information technology and organizational change is evidenced by the considerable literature on the subject,1 there is a lack of comprehensive analysis of these issues from the economic perspective. The aim of this article is to develop an economic understanding of how information systems affect some key measures of organization structure.
Research and Advances

Supply/demand of IS doctorates in the 1990s

The field of information systems (IS) has experienced a severe shortage of faculty throughout its 20-year history. This shortage now appears to be lessening. A survey of the supply of IS doctorates finds a steady stream of graduates from IS doctoral programs. In 1989, 61 universities in the U.S. offered Ph.D. or Doctor of Business Administration (D.B.A.) concentrations in information systems. A survey of these programs resulted in 51 responses, including all the programs producing significant numbers of graduates. The following are highlights from the survey: Recent increase in the number of IS doctoral students: In 1988-89 there were 807 doctoral students enrolled in 51 doctoral programs in information systems. The programs admitted 217 new students for 1989-90. In the 1988-89 time period, 36 programs produced 120 doctorates—a 24 percent increase in graduates from the previous year. In the 1989-90 time period, 41 programs expect to graduate a total of 140 students—a 2-year cumulative increase of 44 percent: Downsizing by some programs, but others—including new programs—adding to capacity. In 1988-89, there were 13 programs that produced three or more doctorates. Those 13 programs accounted for 70 percent of all the graduates in 1988-89. In 1989-90, those same 13 programs expect to account for only 39 percent of the total number of graduates. Of the 13 programs, 5 except to have a decrease in the number of students over the next five years. Of 51 schools, 9 offering doctorates in IS have yet to graduate a student. Another 9 schools had their first graduate in 1985 or later. Several additional doctoral programs are in the planning stages. Twenty-three programs expect a growth in the number of students over the next five years. In this article, we examine the supply and demand gap
Research and Advances

Profiling computer science master’s programs

Master's level computer science programs have experienced significant and sustained growth during the past two decades. According to the U.S. Department of Education's National Center for Education Statistics [4], a total of 1,588 master's degrees were conferred in computer and information sciences in 1971. This figure increased 508% to 8,070 in 1986—a larger percentage increase than any other major discipline. The 1970s and 1980s have also been an era in which computer science has experienced major theoretical and technological advances. The period has been marked by severe faculty shortages which are only now beginning to ease. Complicating matters further, the discipline is so young that it is still in the process of defining its intellectual framework [3]. Considering all of these factors, it is not surprising that there is a considerable amount of diversity and flux among computer science master's programs. What is surprising, however, is that little data is available pertaining to this degree.
Research and Advances

An empirical study of the reliability of UNIX utilities

The following section describes the tools we built to test the utilities. These tools include the fuzz (random character) generator, ptyjig (to test interactive utilities), and scripts to automate the testing process. Next, we will describe the tests we performed, giving the types of input we presented to the utilities. Results from the tests will follow along with an analysis of the results, including identification and classification of the program bugs that caused the crashes. The final section presents concluding remarks, including suggestions for avoiding the types of problems detected by our study and some commentary on the bugs we found. We include an Appendix with the user manual pages for fuzz and ptyjig.
Research and Advances

Real-time data acquisition at mission control

Perhaps one of the most powerful symbols of the United States' technological prowess is the Mission Control Center (MCC) at the Lyndon B. Johnson Space Center in Houston. The rooms at Mission Control have been witness to major milestones in the history of American technology such as the first lunar landing, the rescue of Skylab, and the first launch of the Space Shuttle. When Mission Control was first activated in the early 1960s it was truly a technological marvel. This facility, however, has received only modest upgrades since the Apollo program. Until recently it maintained a mainframe-based architecture that displayed data and left the job of data analysis to flight controllers. The display technology utilized in this system was monochrome and primarily displayed text information with limited graphics (photo 1).An example display of 250 communication parameters is shown in Figure 1. The mainframe processed incoming data and displayed it to the flight controllers; however it performed few functions to convert raw data into information. The job of converting data into information upon which flight decisions could be made was performed by the flight controllers. In some cases, where additional computational support was required, small offline personal computers were added to the complex. Flight controllers visually copied data off the console display screens, and manually entered the data into the small personal computers where offline analysis could be performed.Although this system was technologically outdated, it contained years of customizing efforts and served NASA well through the early Space Shuttle program. Several factors are now driving NASA to change the architecture of Mission Control to accommodate advanced automation. First is the requirement to support an increased flight rate without major growth in the number of personnel assigned to flight control duties.A second major concern is loss of corporate knowledge due to the unique bimodal age distribution of NASA staff. Hiring freezes between the Apollo and Shuttle programs have resulted in NASA being composed of two primary groups. Approximately half of NASA consists of Apollo veterans within five years of retirement. The other half consists of personnel under the age of 35 with Shuttle-only experience. NASA considers it highly desirable to capture the corporate knowledge of the Apollo veterans in knowledge-based systems before they retire. Because the mainframe complex is primarily oriented to data display, it is a poor environment for capturing and utilizing knowledge.These factors have resulted in aggressive efforts by NASA's Mission Operations Directorate to utilize the following: a distributed system of Unix engineering-class workstations to run a mix of online real-time expert systems, and traditional automation to allow flight controllers to perform more tasks and to capture the corporate knowledge of senior personnel. Starting with the first flight of the Space Shuttle after the Challenger accident, the Real-Time Data System (RTDS) has played an increasingly significant role in the flight-critical decision-making process.
Research and Advances

Experiences with the Amoeba distributed operating system

The Amoeba project is a research effort aimed at understanding how to connect multiple computers in a seamless way [16, 17, 26, 27, 31]. The basic idea is to provide the users with the illusion of a single powerful timesharing system, when, in fact, the system is implemented on a collection of machines, potentially distributed among several countries. This research has led to the design and implementation of the Amoeba distributed operating system, which is being used as a prototype and vehicle for further research. In this article we will describe the current state of the system (Amoeba 4.0), and show some of the lessons we have learned designing and using it over the past eight years. We will also discuss how this experience has influenced our plans for the next version, Amoeba 5.0. Amoeba was originally designed and implemented at the Vrije Universiteit in Amsterdam, and is now being jointly developed there and at the Centrum voor Wiskunde en Informatica, also in Amsterdam. The chief goal of this work is to build a distributed system that is transparent to the users. This concept can best be illustrated by contrasting it with a network operating system, in which each machine retains its own identity. With a network operating system, each user logs into one specific machine—his home machine. When a program is started, it executes on the home machine, unless the user gives an explicit command to run it elsewhere. Similarly, files are local unless a remote file system is explicitly mounted or files are explicitly copied. In short, the user is clearly aware that multiple independent computers exist, and must deal with them explicitly. In contrast, users effectively log into a transparent distributed system as a whole, rather than to any specific machine. When a program is run, the system—not the user—decides upon the best place to run it. The user is not even aware of this choice. Finally, there is a single, system-wide file system. The files in a single directory may be located on different machines, possibly in different countries. There is no concept of file transfer, uploading or downloading from servers, or mounting remote file systems. A file's position in the directory hierarchy has no relation to its location. The remainder of this article will describe Amoeba and the lessons we have learned from building it. In the next section, we will give a technical overview of Amoeba as it currently stands. Since Amoeba uses the client-server model, we will then describe some of the more important servers that have been implemented so far. This is followed by a description of how wide-area networks are handled. Then we will discuss a number of applications that run on Amoeba. Measurements have shown Amoeba to be fast, so we will present some of our data. After that, we will discuss the successes and failures we have encountered, so that others may profit from those ideas that have worked out well and avoid those that have not. Finally we conclude with a very brief comparison between Amoeba and other systems. Before describing the software, however, it is worth saying something about the system architecture on which Amoeba runs.
Opinion

Inside risks: risks in computerized elections

Background: Errors and alleged fraud in computer-based elections have been recurring Risks Forum themes. The state of the computing art continues to be primitive. Punch-card systems are seriously flawed and easily tampered with, and still in widespread use. Direct recording equipment is also suspect, with no ballots, no guaranteed audit trails, and no real assurances that votes cast are properly recorded and processed.
Research and Advances

Women and computing

There is mounting evidence that many women opting for careers in computing either drop out of the academic pipeline or choose not to get advanced degrees and enter industry instead. Consequently, there are disproportionately low numbers of women in academic computer science and the computer industry. The situation may be perpetuated for several generations since studies show that girls from grade school to high school are losing interest in computing.Statistics, descriptions offered by women in academic and industrial computing, and the research findings reported later in this article indicate that much is amiss. But the point of what follows is not to place blame—rather it is to foster serious reflection and possibly instigate action. It behooves the computer community to consider whether the experiences of women in training are unique to computer science. We must ask why the computer science laboratory or classroom is “chilly” for women and girls. If it is demonstrated that the problems are particular to the field, it is crucial to understand their origins. The field is young and flexible enough to modify itself. These women are, of course, open to the charge that they describe the problems of professional women everywhere. But even if the juggling acts of female computer scientists in both academia and industry are not particular to computing, American society cannot afford to ignore or dismiss their experiences; there is an indisputable brain drain from this leading-edge discipline.A look at statistics reveals a disquieting situation. According to Betty M. Vetter, executive director of the Commission on Professionals in Science and Technology in Washington, DC, while the number of bachelor's and master's degrees in computer science are dropping steadily for both men and women, degrees awarded to women are dropping faster, so they are becoming a smaller proportion of the total. . Bachelor's degrees peaked at 35.7% in 1986, masters also peaked that year at 29.9%, and both are expected to continue to decline. “We have expected the numbers to drop for both, due to demographics such as fewer college students,” says Vetter, “but degrees awarded women are declining long before reaching parity.” (See Table I.) Vetter also would have expected computer science to be “a great field for women,” as undergraduate mathematics has been; female math majors have earned 45% of bachelor's degrees during the 1980s. On the other hand, math Ph.D.'s awarded to women have gone from only 15.5% to 18.1% in this decade, which is more in line with computer science Ph.D.'s earned by women. In 1987, 14.4% of all computer science Ph.D.'s went to women; this number declined to 10.9% the following year. Although the number almost doubled between 1988 and 1989 with women receiving 17.5% of Ph.D.'s, Vetter points out that the number remains very small, at 107. Since these figures include foreign students who are principally male, women constitute a smaller percentage of that total than they do of Ph.D.'s awarded to Americans. But while American women received 21.4% of Ph.D.'s awarded to Americans, that is not encouraging either, says Vetter. Again, the number of American women awarded computer science Ph.D.'s was miniscule, at 72. And taking a longer view, the awarding of significantly fewer bachelor's and master's degrees to women in the late 1980s will be felt in seven to eight years, when they would be expected to receive their Ph.D.'s.How do these figures compare with those of other sciences and engineering? In her 1989 report to the National Science Foundation, “Women and Computer Science,” Nancy Leveson, associate professor of information and computer science at the University of California at Irvine, reports that in 1986, women earned only 12% of computer science doctorates compared to 30% of all doctorates awarded to women in the sciences. Leveson notes, however, that this includes the social sciences and psychology, which have percentages as high as 32 to 50. But the breakout for other fields is as follows: physical sciences (16.4%), math (16.6%), electrical engineering (4.9%), and other engineering ranges from 0.8% for aeronautical to 13.9% for industrial.Those women who do get computer science degrees are not pursuing careers in academic computer science. Leveson says women are either not being offered or are not accepting faculty positions, or are dropping out of the faculty ranks. Looking at data taken from the 1988-89 Taulbee Survey, which appeared in Communications in September, Leveson points out that of the 158 computer science and computer engineering departments in that survey, 6.5 percent of the faculty are female. One third of the departments have no female faculty at all. (See Tables III and IV.)Regarding women in computing in the labor force, Vetter comments that the statistics are very soft. The Bureau of Labor Statistics asks companies for information on their workforce, and the NSF asks individuals for their professional identification; therefore estimates vary. Table II shows that this year, women comprise about 35% of computer scientists in industry. And according to a 1988 NSF report on women and minorities, although women represent 49% of all professionals, they make up only 30% of employed computer scientists. “There is no reason why women should not make up half the labor force in computing,” Betty Vetter says, “It's not as if computing involves lifting 125 pound weights.”The sense of isolation and need for a community was so keen among women in computing, that in 1987 several specialists in operating systems created their own private forum and electronic mailing list called “Systers.” Founded and operated by Anita Borg, member of the research staff at DEC's Western Research Lab, Systers consists of over 350 women representing many fields within computing. They represent 43 companies and 55 universities primarily in the United States, but with a few in Canada, the United Kingdom, and France. Industry members are senior level and come from every major research lab. University members range from computer science undergraduates to department chairs. Says Borg, “Systers' purpose is to be a forum for discussion of both the problems and joys of women in our field and to provide a medium for networking and mentoring.” The network prevents these women, who are few and dispersed, from feeling that they alone experience certain problems. Says Borg, “You can spit out what you want with this group and get women's perspectives back. You get a sense of community.” Is it sexist to have an all-women's forum? “Absolutely not,” says Borg, “It's absolutely necessary. We didn't want to include men because there is a different way that women talk when they're talking with other women, whether it be in person or over the net. Knowing that we are all women is very important.” (Professional women in computer science who are interested in the Systers mailing list may send email to systers-request@decwrl.dec.com)The burden from women in computing seems to be very heavy indeed. Investigators in gender-related research, and women themselves, say females experience cumulative disadvantages from grade school through graduate school and beyond. Because statistical studies frequently come under fire and do not always explain the entire picture, it is important to listen to how women themselves tell their story. In the Sidebar entitled “Graduate School in the Early 80s,” women describe experiences of invisibility, patronizing behavior, doubted qualifications, and so on. Given these experiences, it is not surprising that many women find the academic climate inclement. But while more women may choose to contribute to research in industry, is the computer business really a haven for women, or just the only alternative? In the Sidebar entitled “The Workplace in the late '80s,” women in industry also tell their story and describe dilemmas in a dialogue on academia versus industry; this discussion erupted freely last Spring on Systers. In addition, findings of scholars conducting gender-related research are presented in a report of a workshop on women and computing. Finally, Communications presents “Becoming a Computer Scientist: A Report by the ACM Committee on the Status of Women in Computer Science.” A draft was presented at the workshop and the report appears in its entirety in this issue.
Opinion

Legally speaking: how to interpret the Lotus decision (and how not to)

On June 28, 1990, a federal court judge in Boston made public his decision in favor of Lotus Development Corporation in its software copyright lawsuit against Paperback Software. People in the software industry had been waiting for this decision since the lawsuit was first filed in January 1987, certain that it would be a landmark case and would resolve many vexing questions about copyright protection for user interfaces.The trade press has abounded with varying interpretations of Judge Keeton's opinion in the Lotus case: Some have said the decision is a narrow one, making illegal only the direct copying of another firm's interface [9]; Some have seen it has a much broader ruling—one that will have a chilling effect on development of competitive software products [5]; Others have asserted the case draws a reasonable line, and will have a positive effect overall [4]; Several have argued the ruling will be harmful because it ignores the interests of users of software, and will make standardization of user interfaces impossible to achieve. [3] Still others perceive the opinion as only setting the stage for a new confrontation over the issues in the appellate courts. [1] Lotus has given some indication of how broadly it interprets the Paperback decision by filing a new round of user interface copyright lawsuits against two of its other spreadsheet competitors.his column, rather than just adding one more interpretation of the Lotus decision to the bin of those already expressed, will give the reader a glimpse of the nature of the legal process and of judicial opinions so he or she can see why people can interpret the Lotus opinion differently. The following three factors make it difficult to know what the Lotus decision means: 1) The legal process is not yet over, and the meaning of the case will depend in part on the outcome of this further process. 2) While Judge Keeton makes some statements that seem to suggest his ruling is a narrow one, some of his other statements could be interpreted much more broadly. 3) Even from unambiguous statements Judge Keeton makes, different people can draw reasonable but nonetheless differing inferences about what the judge would do in similar (though somewhat different) cases. For these reasons, it is impossible to know with any certainty what the law concerning copyright protection for user interfaces is in the aftermath of the Lotus decision.
Research and Advances

Transaction processing monitors

A transaction processing (TP) application is a program that performs an administrative function by accessing a shared database on behalf of an on-line user. A TP system is an integrated set of products that supports TP applications. These products include both hardware, such as processors, memories, disks and communications controllers, and software such as operating systems (Oss), database management systems (DBMSs), computer networks and TP monitors. Much of the integration of these products is provided by TP monitors which coordinate the flow of transaction request between terminals that issue requests and TP applications that can process them.Today, TP represents over 25 percent of the computer systems market and is one of the growing segments of the computer business. TP applications appear in most sectors of large-scale enterprises such as airline reservation, electronic banking, securities trading, inventory and production control, communications switching, videotex, sales management, military command and control and government services. 84552 75 CACM 33 10 Consider a computer system having a CPU that feeds jobs to two input/output (I/O) devices having different speeds. Let &thgr; be the fraction of jobs routed to the first I/O device, so that 1 - &thgr; is the fraction routed to the second. Suppose that @@@@ = @@@@(&thgr;) is the steady-sate amount of time that a job spends in the system. Given that &thgr; is a decision variable, a designer might wish to minimize @@@@(&thgr;) over &thgr;. Since @@@@(·) is typically difficult to evaluate analytically, Monte Carlo optimization is an attractive methodology. By analogy with deterministic mathematical programming, efficient Monte Carlo gradient estimation is an important ingredient of simulation-based optimization algorithms. As a consequence, gradient estimation has recently attracted considerable attention in the simulation community. It is our goal, in this article, to describe one efficient method for estimating gradients in the Monte Carlo setting, namely the likelihood ratio method (also known as the efficient score method). This technique has been previously described (in less general settings than those developed in this article) in [6, 16, 18, 21]. An alternative gradient estimation procedure is infinitesimal perturbation analysis; see [11, 12] for an introduction. While it is typically more difficult to apply to a given application than the likelihood ratio technique of interest here, it often turns out to be statistically more accurate. In this article, we first describe two important problems which motivate our study of efficient gradient estimation algorithms. Next, we will present the likelihood ratio gradient estimator in a general setting in which the essential idea is most transparent. The section that follows then specializes the estimator to discrete-time stochastic processes. We derive likelihood-ratio-gradient estimators for both time-homogeneous and non-time homogeneous discrete-time Markov chains. Later, we discuss likelihood ratio gradient estimation in continuous time. As examples of our analysis, we present the gradient estimators for time-homogeneous continuous-time Markov chains; non-time homogeneous continuous-time Markov chains; semi-Markov processes; and generalized semi-Markov processes. (The analysis throughout these sections assumes the performance measure that defines @@@@(&thgr;) corresponds to a terminating simulation.) Finally, we conclude the article with a brief discussion of the basic issues that arise in extending the likelihood ratio gradient estimator to steady-state performance measures.
Opinion

Personal computing: Windows, DOS and the MAC

Direct-manipulation or graphical user interfaces (GUIs) are nearly as old as command-line interfaces.1 At the ACM Conference on The History of Personal Workstations, Doug Ross told of drawing on an oscilloscope screen by using his finger to move a spot of light in 1954. Graphic software has been a bastion of direct manipulation since the 195Os, and Douglas Englebart demonstrated direct manipulation of text to large audiences in the 1960s. The style of contemporary direct-manipulation interfaces evolved largely from prototypes developed at the Xerox Palo Alto Research Center (PARC) in the 1970s. The Xerox Star offered a commercial GUI in 1981 (see Figure 1), and several early GUIs, like VisiOn, TopView, and Windows version 1, failed on underpowered PCs. The Macintosh, introduced in 1984, was a major commercial success. Although GUIs have been used for years, the hardware to support them is expensive, so the vast majority of personal computer users still control their software by typing commands. With the introduction of Windows Version 3, Microsoft hopes to move DOS users away from their command-line interface to a direct-manipulation interface. Let us take a quick look at Windows, then compare it to DOS and the Mac.
Research and Advances

Connectionist ideas and algorithms

In our quest to build intelligent machines, we have but one naturally occurring model: the human brain. It follows that one natural idea for artificial intelligence (AI) is to simulate the functioning of the brain directly on a computer. Indeed, the idea of building an intelligent machine out of artificial neurons has been around for quite some time. Some early results on brain-line mechanisms were achieved by [18], and other researchers pursued this notion through the next two decades, e.g., [1, 4, 19, 21, 24]. Research in neural networks came to a virtual halt in the 1970s, however, when the networks under study were shown to be very weak computationally. Recently, there has been a resurgence of interest in neural networks. There are several reasons for this, including the appearance of faster digital computers on which to simulate larger networks, interest in building massively parallel computers, and most importantly, the discovery of powerful network learning algorithms. The new neural network architectures have been dubbed connectionist architectures. For the most part, these architectures are not meant to duplicate the operation of the human brain, but rather receive inspiration from known facts about how the brain works. They are characterized by Large numbers of very simple neuron-like processing elements; Large numbers of weighted connections between the elements—the weights on the connections encode the knowledge of a network; Highly parallel, distributed control; and Emphasis on learning internal representations automatically. Connectionist researchers conjecture that thinking about computation in terms of the brain metaphor rather than the digital computer metaphor will lead to insights into the nature of intelligent behavior. Computers are capable of amazing feats. They can effortlessly store vast quantities of information. Their circuits operate in nanoseconds. They can perform extensive arithmetic calculations without error. Humans cannot approach these capabilities. On the other hand, humans routinely perform simple tasks such as walking, talking, and commonsense reasoning. Current AI systems cannot do any of these things better than humans. Why not? Perhaps the structure of the brain is somehow suited to these tasks, and not suited to tasks like high-speed arithmetic calculation. Working under constraints suggested by the brain may make traditional computation more difficult, but it may lead to solutions to AI problems that would otherwise be overlooked. What constraints, then, does the brain offer us? First of all, individual neurons are extremely slow devices when compared to their counterparts in digital computers. Neurons operate in the millisecond range, an eternity to a VLSI designer. Yet, humans can perform extremely complex tasks, like interpreting a visual scene or understanding a sentence, in just a tenth of a second. In other words, we do in about a hundred steps what current computers cannot do in ten million steps. How can this be possible? Unlike a conventional computer, the brain contains a huge number of processing elements that act in parallel. This suggests that in our search for solutions, we look for massively parallel algorithms that require no more than 100 processing steps [9]. Also, neurons are failure-prone devices. They are constantly dying (you have certainly lost a few since you began reading this article), and their firing patterns are irregular. Components in digital computers, on the other hand, must operate perfectly. Why? Such components store bits of information that are available nowhere else in the computer: the failure of one component means a loss of information. Suppose that we built AI programs that were not sensitive to the failure of a few components, perhaps by using redundancy and distributing information across a wide range of components? This would open the possibility of very large-scale implementations. With current technology, it is far easier to build a billion-component integrated circuit in which 95 percent of the components work correctly than it is to build a perfectly functioning million-component machine [8]. Another thing people seem to be able to do better than computers is handle fuzzy situations. We have very large memories of visual, auditory, and problem-solving episodes, and one key operation in solving new problems is finding closest matches to old situations. Inexact matching is something brain-style models seem to be good at, because of the diffuse and fluid way in which knowledge is represented. The idea behind connectionism, then, is that we may see significant advances in AI if we approach problems from the point of view of brain-style computation rather than rule-based symbol manipulation. At the end of this article, we will look more closely at the relationship between connectionist and symbolic AI.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More