of commands. With my fingers exposed to the freezing weather, I will not be extremely happy if I receive an error message, “Invalid command, core dumped.” In fact, if I even need to know how to program to accomplish this task, so few people will make use of the service that it will not be justifiable. Furthermore, note that I need to establish a connection to the bus company's database, not even knowing the name of the bus company.
The bus stop story is a generic example of how access to information can help us. The same situation occurs when one is driving to an airport and the weather is poor. Being able to access the airline database tells you how to rearrange your travel plans in the event that your flight is delayed.
The cellular communication that makes these events possible allows all kinds of improved services. Instead of checking in at the hotel desk, you should be able to walk in the door and have the hotel' s communication system interrogate your portable cellular workstation, discover you have arrived, check you in, and download your room number and an electronic password that will allow your workstation to electronically unlock your hotel room door when you approach. Similarly, there would be no need to wait in line at the front desk for checkout. When you leave the hotel for your return home, you just press the appropriate key on the workstation, examine your bill on the screen, and walk out the door. All paper work is completed, including your expense report, with no human action necessary.
What we are concerned with today is the science base that we need to develop to make these ideas become a reality. To explore what that science consists of, let us consider how each of the following questions might be answered:
What are the top 10 computer science departments in the United States?
Why was a specific engineering change made in a project?
How did a particular scientific field develop?
To determine the top 10 computer science departments in the country, we need to define a metric. One might rank the departments by the amount of research funding, the number of faculty who have Presidential Young Investigator awards or are members of the National Academy, or the number of citations to publications by the institution's faculty. Each of these metrics can be calculated by a computer. For example, take research funding. The National Science Foundation maintains an externally readable database of its publications in digital form. All one needs is access to Internet, and he or she can remotely log in to email@example.com. One of the documents in this database is the summary of awards. One can bring this document to his or her home workstation and proceed to analyze it. Its format is a series of blocks, each block consisting of three header lines followed by a paragraph of text describing the research. The header information contains the institution and the amount and the duration of the grant. By developing a grammar for the document, one can then locate the fields containing the desired information and extract the information into a standard database. Having done that, one can then enter a standard database query, asking to aggregate funding by institution, and then rank the results. This experiment was actually carried out, in a semi-automatic way, by Jim Davis of Xerox Corporation, although he used an ad hoc technique instead of developing a grammar for the document. A word of caution: the top 10 institutions by funding had, in my opinion, little correlation to the top 10 institutions as perceived by researchers in the field of computer science.
To answer the second question, assume that a company keeps its engineering drawings in digital form and records who accesses them. Looking simply at who made changes in the drawings might indicate that a draftsperson had made them rather than the engineer who conceptually understood the change and the rationale for it. However, if a system log was kept, one could analyze the electronic mail traffic starting with the person who actually made the change to the documents, examine job descriptions to eliminate clerical workers, and make a list of probable candidates to call.
To answer the third question, one might examine the Science Citation Index. Given a few papers that are representative of a field, one could construct a graph whose vertices are scientific papers with an edge