HERACLES: Constraint-based Integration

Heracles is an interactive data-driven constraint-based hierarchical planner. This project is named after the most famous Greco-Roman legendary hero, Heracles.

Integrating transportation vector data on a satellite map using Heracles

People use search engines today to find information, but in many cases what people actually want is an application that allows them to access a set of related sources, extract the information they need, and integrate the data in ways that allows them to solve their problems. The future of the Web involves going beyond traditional information-retrieval-based search engines to much more advanced integration frameworks. Heracles system is a framework for building information assistants, which support the construction of domain-specific applications that extract and integrate data to support a specific task. These are not search engines, but rather applications that organize and integrate data to support a particular task.

Consider the problem of travel planning on the Web. There are a huge number of travel sites, each of which provides different types of information. You can go to one site and get hotel and flight information, another site to get the airports that are closest to your destination, a third site to get directions to your hotel, and yet a fourth site to find out the weather in the destination city. It is a tedious process to go to each of these sites, repeatedly entering the same information about dates, addresses, etc. Instead you would like the best of the Internet-related travel sources combined into a single integrated environment that can help you plan out a trip from beginning to end.

Heracles: Integrating heterogeneous data for travel planning

We have applied our general framework for creating information assistants to build an example travel assistant. The resulting system helps a user plan out a business trip from beginning to end. When you start the system, it first looks up the upcoming meetings in your calendar. After you have selected a meeting it extracts the dates for the meeting, looks up the location, checks the weather, and even makes a recommendation about whether you should fly, drive or take the train to the meeting.

The application goes beyond what is provided in most travel web sites, by making recommendations about whether you should park at the airport or drive and park your car and about how you should get to your final destination from the airport. It helps select a hotel based on your meeting location. And can even help you plan your trip to help minimize the total cost or the total time you will be away from home. In short, it provides all of the information that you need to plan a trip and links this information together to provide a unified framework to quickly and efficiently work out the details of a trip and make the appropriate reservations. Once the trip has been booked the system even monitors your flights to notify you of any schedule changes or last minute flight cancellations.

Alcmene: Authoring Tool for Heracles

Alcmene is a mix-initiative system for building mixed-initiative system. This project is named after the mother of Heracles, Alcmene.

Integrating nearby hotel information with the satellite map using Alcmene

While Heracles was designed for implementing mixed-initiative, multi-source information assistant, each of these applications of Heracles required a significant effort to build and each successful application invariable generated requests for changes, additional sources, and new features. Ideally, we would like to allow users of the system to create, update, and improve their own mixed-initiative applications.

Built as one of the Heracles applications, Alcmene allows users to author new Heracles templates or to modify existing templates with no or minimum coding. Alcmene also provides the author with dynamic Heracles templates that update to offer choices and operations based on the current constraint structure.

Alcmene: Creating and linking an online datasource to retrieve lat and lon coordinate from an addre

In order to support authoring, we provide basic mechanisms for users to create variables and constraints. We also incorporate techniques in planning research to address the issues of how to identify the relevant sources, how to link the sources together, and how to relate the specific data instances from the various sources. More information about Alcmene can be found in the paper section.


Web Heracles

Heracles was previously limited to run as an application which the user was required to download, install and configure . The user then wrote specialized templates that would process his query and produce the desired output. With Web Heracles, we have alleviated this limitation. Web Heracles has all the power of Heracles and more. Able to be run over any web server, Heracles has been transformed into a web application that connects to various web services and data sources to provide users with results to their queries in their own web browsers.

Displaying results from Heracles in a web browser gives the framework more flexibility on how to interact with the user and display the information is an easily customizable manner. The user can opt to use standard Heracles widgets like Buttons, TextFields, Combo boxes, Text Areas, Images and other interactive widgets, or can personalize the format of their output by writing customized external templates using XSL that they have complete control over. Coupled with easily customizable web technologies like CSS and JavaScript, .the user has the flexibility of adding various functionality to the interface's navigation, display and format thereby giving the user control over the graphical user interface of their appication. Another advantage of Web Heracles is that enables the Heracles framework to act as a web service that may be able to take user requests and send back the results to a query in the form of XML which the user may want to use as a source of input for other applications.

Finally, coupled with the above mentioned functionality (Alcmene) to graphically author user defined templates, Web Heracles provides the user the flexibility to design and create new Heracles templates and save their state. The user may decide to save his current work and return at a later time to finish his template. Web Heracles provides the user the ability to work from anywhere through a web browser, save his current work and return later on to either finish, update to use his newly created templates. With this ability, the user has access to his work from anywhere.

Similar to Heracles, Web Heracles also allows users to display and perform transformations on maps and satellite imagery. Web Heracles also provides the user with the functionality to pan, zoom and superimpose spatial imagery. It also possesses the ability to render vector data in a web browser from a variety of vector data formats including the Mapinfo and the ESRI Shapefile format.

For a demonstration of Web Heracles, refer to the WebMaps and the Geospatial Data Integration demos.