Lucy and Pete deal with Mom -- implementing the Scientific American Scenario
Maryland Information and Network Dynamics Laboratory
Semantic Web and Agents Project
(MINDSWAP)
Two years ago this May, the much-cited article, The Semantic Web appeared in Scientific American. The authors started the article with a futuristic scenario of what could be done when Semantic Web technologies would come of age. At this point in time, two years after publication, the technologies have reached the point where a prototype of all the pieces can be shown and integrated, as we will show in this demonstration, using currently available, open-source, Semantic Web tools developed at our lab or elsewhere. We will also demonstrate the tools individually and discuss how the demonstration was accomplished.
The first part of the scenario describes the interaction between devices where one device is able to discover the other devices in the environment, find out their capabilities and control their functionality. We designed an architecture where X10 devices describe their functionality through web service descriptions written in theDAML-S language, these descriptions are made available for discovery using Universal Plug and Play (UPnP) technology. We extended the DAML-S groundings to include both UPnP groundings and to directly invoke Web Service Description Language (WSDL) groundings. Therefore, using a functionality of the device is same as invoking a web service. The scenario requires a small device such as a telephone have the processing power to achieve these goals. This is achieved by assigning a computer, probably as simple as a PDA, to handle these responsibilities.
Folowing this in the scenario are a number of agents that operate on semantic web to do the tasks for a user. We represent some of the actions defined in the scenario as web services, e.g. there will be one web service returning available appointment times for the doctor. The markup of these web services with DAML-S language allows us to make discovery, composition and execution by linking the descriptions of services to ontologies written in the Web Ontology Language, OWL on the Semantic Web. We have developed a service composition tool to compose DAML-S descriptions and execute them using the WSDL and UPnP groundings.
Besides the ability to process web services, the user agent also needs to have a planning capability not only to arrange a meeting time between different people's schedules but also to find the correct order of appropriate services to get the information in order to accomplish the goal. We are using the Simple Hierarchical Ordered Planner (SHOP) for composing services. SHOP is a domain independent HTN planner that can solve classical AI planning problems. We developed a way to map the web service composition task to a planning problem defined for SHOP. By translating DAML-S services to methods and operators in SHOP, we can solve the problem of finding a set of services that will achieve some specified goal.
Although we can represent the functionality provided by some of the agents as web services, we need other agents especially fdesigned or tasks that require interaction. There are several different agent architectures that enable communication between heterogeneous agents. Most notably, FIPA has a standard Agent Communication Language (ACL) based on RDF where each message sent by an agent has an RDF statement in its content part. There are some extensions proposed to change the specification so that DAML+OIL statements may be used as the content of the message. There is also some preliminary work and tools to integrate FIPA/DAML ACL in existing multi-agent frameworks. We have built a system on top of FIPA complaint JADE system and implemented several agents for a semantic search service. Agents are available with different capabilities such as reasoning over a RDF triple store, querying a generic RDBMS, translating queries written in different ontologies showed how interoperability could be achieved using terms provided by semantic web. We are currently working on Agent Toolkit developed by Lockheed Martin to apply these ideas to a different agent framework, and expect, by the time of the demo, to show agents written in more than one framework using OWL content to communicate.
Implementing the scenario also requires the storage of the data marked up in OWL and basic query capabilities to retrieve that information, and to make appropriate inferences where necessary. The data repository is able to store the RDF triples and return the query results efficiently. We use our tool, the triplestore named ParkaSW, a version of Parka DB built for the Semantic Web. We are also building an OWL reasoner on top of this system to provide the reasoning services for the tasks required.
The scenario requires the agents of Lucy and Pete share information with each other based on the fact that they have a pre-defined trust relation. To accomplish this task agents first need to authenticate and then decide how much information can be shared with the other party based on their trust relationship. We demonstrate a simple rule-based authentication (substituting for an eventual public key or other such more robust system). After authentication takes place, one agent must also decide if the other agent is trusted enough to share the requested information. For this purpose, we have developed a distributed trust system using social network analysis. Everybody assigns a trust value to the people they know and using graph theory trust relationship can be deduced between nodes who did not explicitly state any trust level to each other but can be linked through people they trust. We implemented this system both as a IRC bot and as an e-mail client that will use the metrics mentioned to compute trust levels.
For more about our tools and research try our traditional web page, or our new RDF/RDFS/OWL-Driven Semantic Web Site.
