Web services 'wizard' may help computers do people's work, researcher says
Planning a vacation. Coordinating relief efforts after a disaster. Running a business. Getting things done takes a lot of human effort.
That may change if Charles Petrie, a senior research scientist in the Stanford Logic Group of the Computer Science Department, has his way. Petrie wants to create software to enable computers to negotiate with each other over the Internet to achieve goals that now require human time and toil.
"A world wide wizard, through some kind of magic that I'm going to explain in a little bit, would know and do things," Petrie says. "He would know when things had changed in cyberspace. He would know the effects of those changes. He would know, because those things had changed, what else should be changed."
Users need not know a whit about programming to have available at their fingertips all sorts of "web services"—an increasingly popular industrial method for allowing programs (versus people) to read standardized descriptions of each other and then execute each other as services, such as renting equipment or ordering a shipment.
What sorts of tasks could Petrie's cyberspace wizard perform? He'd compare information from different websites to find products or services with desired characteristics. If musicians are forming a band and need a drummer, Petrie posits, they could appeal to their cyberwizard to schedule auditions. The wizard also could get copyright advice from a free legal source, solicit equipment bids from vendors, find available venues for performances, hire roadies and schedule tasks into a plan that could be executed as a tour.
The wizard would monitor all aspects to come up with a Plan B when a venue gets canceled or equipment gets lost. "This isn't just a piece of localized software running on your desktop; this is running on the Internet and interacting with a lot of people—the guys in your band, your legal adviser, the songwriter that you're working with, the shipper for your equipment, the charter plane [operators], owners of the venue that you're going to," Petrie explains. "You're sharing schedules and budgets and plans as they're revised. There are a lot of people interacting here, and this wizard is controlling the interactions."
If a wizard could create a plan for a band, it could do the same for relief logistics, Petrie says. "Remember that in the tsunami you had all these relief organizations and they weren't coordinated? Wouldn't it be cool if you could coordinate and optimize the activities of the various organizations?"
A more common example is the planning of business meetings. "Once the user specifies the general requirements, the system can organize the right room with the right facilities, get special authorization to reserve the room if needed, generate an e-mail list for participant invitations and discussion, solicit catering bids for coffee breaks and/or lunch and make a facilities request for cleanup and/or special equipment," according to Petrie. The Computer Science Department will be testing the system in its Digital Department Project.
Many web services exist today to allow people to find information on websites. But machines can't negotiate with other machines or engage in rudimentary deductive reasoning, as Petrie envisions. Computers use the standard Web Services Description Language (WSDL) put forth by W3C, a consortium established by web inventor Tim Berners-Lee, to understand input messages and deliver output messages in the same language.
But even if a standard way of describing computer services exists on the web, each description uses different terms. A person planning a trip can go to an airline website and find flight information. But machines charged with the same task fail. "Flight" may be abbreviated as "flt" on one carrier's website but as "flite" on another's.
"A human can look at those two words and know that must be the same thing, but a machine has no idea," Petrie says. That makes it difficult for web services to search multiple sites, retrieve desired information and present a menu of options.
Existing web services lack a common understanding of terms. The way to fix this, Petrie says, is to develop formal semantics, or logical expressions from which meaning can be inferred. The challenge is that some formalisms are expressive but too hard to compute, while others are easy to compute but insufficiently expressive.
"The goal is to come up with a formalism that allows everybody to express things the same way so that your machine can go out and access all these different services and put them together to give you exactly what you want," Petrie says.
In a project called POEM, for Policy-Oriented Enterprise Management, Petrie works with six researchers to bring semantics to web services. His partners are Associate Professor Michael Genesereth and doctoral student Michael Kassoff of Stanford; scientists Paul Hofmann, Matthias Kaiser and Jens Lemcke of SAP; and visiting scholar Susanne Glissmann of the University of St. Gallen in Switzerland.
The team produces academic papers and free software that may be used without restriction. The work was funded by a gift from software giant SAP. Stanford benefits by gaining access to real-world research problems. SAP benefits by gaining first access to the Stanford research and deep insight into the technology.
"This is a strategic research cooperation with SAP that may have a profound impact on future software products," Petrie says.
Behind the wizard's curtain
Say your motorcycle needs a part and a web service compares vendor sites in America and Europe. Site content might include part numbers, shipping addresses and amount due.
Seems straightforward—until cultural differences come into play and the semantics get vague. In displaying cash amounts, Europeans use dots where Americans use commas and commas where Americans use dots, Petrie says. Europeans display dates with the day preceding the month, whereas Americans do the opposite. And instead of using an American-style check, Europeans supply a bank code and expect a payment to show up in that account.
Says Petrie: "It's like that joke, 'We have two kinds of music—country and western.' These existing representations have two kinds of deficiencies—representation and semantics. Of course, that's all there is."
Semantics is a hot area of research, with Berners-Lee's consortium pushing tools, methodologies and structures for building web services tied to particular meanings.
Petrie says two main things are missing from web services today—preconditions and effects.
Suppose in the case of the rock group forming, the musicians need $100,000 of insurance to rent a music hall. That precondition should be stated in the description of the service. "It's not done today—you just have to know it," Petrie says.
Web services also need to account for effects. If the wizard's magic is invoked, something changes in the world. "If I use the car-rental service, a reservation gets made. If I use a shipping service, a package is going to move from point A to point B," Petrie says. "You're actually programming the world. You're causing things to happen out there in the world instead of just on your computer."
Improving the technological magic behind web services is the subject of contests such as the Semantic Web Services Challenge, first held at Stanford in 2006 and sponsored by the Stanford Logic Group. The next challenge will take place in Innsbruck, Austria, in June, followed by another challenge at Stanford in November. Academic and industrial competitors worldwide are given problems of increasing levels of difficulty. Judges certify that participants have solved the problems and then rank their software. The winner is the participant who gets the task done with the least programming.