eFlight User Manual

Version 1.0

 

 

 

 

 

 

 

 

 

 

 

Adam Cheyer

Luc Julia

Douglas Moran

 

SRI International

Artificial Intelligence Center

 


Contents

eFlight Overview                                                                                                       2

Installation                                                                                                                 3

Hardware Requirements                                                                                    3

Distribution Contents                                                                                         3

Agent Coordination Server                                                                              3

OAA Runtime and Debugging Tools                                                                3

eFlight Server Architecture                                                                            4

eFlight Client Applet                                                                                           4

Installation Instructions                                                                                4

I. Decompress the distribution                                                                        4

II. Define host/port for your Facilitator Agent                                     5

III. Download WebL                                                                                                5

IV. Update Start-It properties the for sample application                6

V. Run the server agents                                                                                    6

Running the Sample Application                                                                    7

eFlight User Interface                                                                                           9

Login                                                                                                                              9

Online Querying                                                                                                      9

Offline Tasking                                                                                                      11

Creating and managing offline panels and agents                            14

Monitor Agents                                                                                                     14

Business Agents                                                                                                     15

Vacation Agents                                                                                                   17

Removing offline panels and agents                                                          18

eFlight Overview

Online services available today on the Web, while useful, are very rigid, providing ticketing information only for specific dates and cities, with little variability.  The eFlight system applies agent technology to enhance this domain, answering questions not addressed by current online services:

1.      Question: Many sites claim to search through thousands of flights to find the best possibility for a trip.  Do they all perform equally well, and return exactly the same results?

2.      Question: Online sites only give the best price available at the time of the search. Travel agents always say “I have to ticket this by tomorrow to get this price.”  But once a ticket is ordered, will the price go up or down?

3.      Question: Will large airline brokers give as good a deal as directly interacting with the specific airline?

In addition, automated agents perform services that existing online services do not provide.  For instance, whereas all current online flight services require, as input, origin and destination cities and specific dates for travel, eFlight provides much “fuzzier” matching, taking your own requirements into account and then entering a range of inputs into the specific services on your behalf.  In addition, eFlight agents perform services integrated over time, whereas existing services only provide queries based on “now.”

 

This user’s manual includes installation and execution instructions for the eFlight system.  For further information on the technology behind eFlight, see the 1998 annual report for project 1686, “Mobile Intelligent Agents for the Internet.”

Installation

This section outlines procedures for installing the eFlight server architecture.

Hardware Requirements

To run this demonstration package, you must have a relatively powerful PC running Windows (95, NT, 98) or a Sun computer running SunOS or Solaris.  You must also install Java 1.1.*, available from http://www.javasoft.com/.  Note: because of incompatibilities in the class loading scheme, this software has not yet been upgraded to work with Java 2 (JDK 1.1.2).

 

Distribution Contents

The eFlight server architecture is based on the Open Agent Architecture (OAA), a distributed framework that simplifies the integration of diverse programmatic components, and WebL, a Java-based language for writing Web-based information extraction agents.

Agent Coordination Server

·        An OAA Facilitator (v 1.0), the heart of an OAA system

OAA Runtime and Debugging Tools

·        Start-It: an agent that simplifies launching of the many agents making up a community (application)

·        Monitor: An agent that helps graphically visualize an agent community and then log, monitor, and profile interagent communication

·        Debug: An agent that enables a developer to send tasks or messages to the agent community or to an individual agent, expressed either in English or in the Interagent Communication Language (ICL)

eFlight Server Architecture

·        WebLOAA: an OAA wrapper around the WebL language           (http://www.compaq.com/WebL) for creating web extractors

·        WebL scripts for extracting flight information from various online full-service and discount travel sites

·        Database: a Prolog database that loads database definition (state) files

·        Database state files: state files to manage data access and  storage for the eFlight application, and for certain data applications, e.g.,  worldwide city database, test flight database

eFlight Client Applet

The eFlight client can be run locally using appletviewer or downloaded in any Web browser supporting the Java plugin for JDK 1.1.

 

Installation Instructions

I. Decompress the distribution

·        On PCs, run the self extracting executable, setup.exe.

Decompress the executable by using the proposed directory name (\eFlight).  Several paths in the distribution refer to this path.

Note: Under Windows, shortcuts will be added to your desktop pointing to the OAA Facilitator, the startup script for the eFlight application, and to the main README file.  When you  run the Java tools and the Start-It program, you may get an “Environment Out Of Space” error.  If this happens, edit the properties of each shortcut (right mouse click), and set Memory|Initial Environment to be 2048.  You will probably also want to set Program|Close on Exit    and Program|Run Minimized.

·        On UNIX, decompress and untar the distribution file.

 

II. Define host/port for your Facilitator Agent

1.      Copy \oaa\setup.pl to the root directory of the drive on which you have installed OAA, or if on UNIX, to your home directory.

 

2.      Run the Facilitator by clicking on its icon added by the setup program, or by running \OAA\PROLOG\b.exe. The Facilitator should connect, and print out your local hostname in a message:

Loading setup file: 'F:/setup.pl'
* Singleton variables, clause 1 of rootdata/2: X
* Approximate line: 1, file: 'F:/setup.pl'
Listening on tree.ai port 3344
Ready.

3.      Carefully note the exact wording of your hostname, and change the variable “ChangeMe” in setup.pl to your hostname, enclosed in single quotes:

%% OLD: rootdata(3344,ChangeMeToHost_SeeAbove).
rootdata(3344, 'tree.ai').

4.      Now all agents should be able to connect correctly:

Loading setup file: 'F:/setup.pl'
Listening on tree.ai port 3344
Ready.

 

III. Download WebL

1.      SRI does not have the right to distribute WebL.  You will find a download page at the WebL homepage, http://www.compaq.com/WebL.

2.      Copy the WebL jar file to \EFLIGHT\JAVA\JARS\WebL.jar

 

IV. Update Start-It properties the for sample application

·        PC: If you installed the distribution in a directory other than \eFlight (on some drive), you must edit the Start-It properties in  JAVA\CLASSES\STARTIT\DEMO\CONFIGS\eFlight.prop

·        UNIX: Edit the startit properties in             java/config/startit/demo/configs/eFlight_unix.prop

replace:   TOP=\\eFlight

            to be:     TOP=\\YOUR_DIRECTORY  (PC)

                         TOP=/YOURFULLPATH/eFlight (UNIX)

Additionally, for UNIX:

            replace:   STARTIT_DISPLAY=tree

                         STARTIT_DISPLAY=yourhost

 

V. Run the server agents

You should now be able to run all the server components.  Click on the Start-It icon to run the agent community manager, and then click on the big blue button to start all the processes.  Each agent, as it connects the OAA Facilitator, should turn green a corresponding status light in Start-It’s interface.  When all lights are green, you are ready to connect a client interface to the server to query and task eFlight agents.

 

 

Running the Sample Application

1. Start the Facilitator (by clicking on the icon or running \eFlight\PROLOG\b)

2. Run “Start-It -- eFlight” (or \eFlight\startit.bat)

       UNIX: > setenv OAA_TOP /YOURFULLPATH/eFlight

            > startit.run

3.  Start each agent individually by clicking on its button and selecting “Start” from its menu.

Initially, you may choose to load only a few of the Web extractors:

-         The test database simulates a Web extractor, without actually going to the web.  This is useful as a first test.

-         Travelocity is a very good SABRE-database site.  Relatively quick (but it still must go to the Web and parse many pages).

-         WorldFares is very slow, but often has good prices.

-         In each WebLOAA agent, click on the “Load Module” button to load the proposed script.  You will see the loaded modules in the module window.  Do this before connecting to the facilitator (see next bullet).

-         Some Java agents (expecially the WebL agents) may not autoconnect. Use the File|Connect menu to connect each agent to the Facilitator so its status light becomes green in Start-It.

6. If you like, start and connect the OAA Monitor agent to graphically visualize the connected agents.  Click on the “record” button to watch interagent messages.  The Monitor Agent may be started separately by running the .bat file, or with Start-It by choosing it from Start-It’s application menu.

7. Run the client agent from Start-It.  This will start an applet viewer with the application.  When asked to log in, choose

           login:    guest

           password: eFlight

8. Type in from: SFO, to: BOS and choose target dates in the interface.  Click on the “search” button, and after a few minutes (if you are going to the Web), you should see results in the interface.   Click on a result and ask to see the “DETAILS” and “WEB SITE” for it.

9. Select one result and click on the arrow (TRANSFER) button to move it to the offline tasking window.   Create a new panel with this agent.

10. Click on the agent itself.  Examine its properties. Click on the “Check agent” button and then wait until the agent pops back up automatically, updated by remote Web agents. This may take several minutes if you are accessing the Web.

-         Examine the agent’s HISTORY.

11. Change the agent to type BUSINESS or type VACATION. Relax the agent's constraints for location or dates by using the “...” buttons next to the constraints. Close the property window with an “OK” button to save the new values. Open it again and click on “Check now”.  When the agent is updated, view its history.

12. Make sure you read the full User’s Manual to understand everything you can do with the eFlight system!

 

eFlight User Interface

A user interface, implemented in Java and JFC, provides monitoring and control of eFlight services from any Web browser.  The interface has an “online” phase where you can access immediate ticketing opportunities, and an “offline” phase where you can set up standing requests that will be handled over time by Internet agents.

Login

The first screen presented as part of the interface is a login window.  When you enter your username and password, eFlight loads your preferences and portfolio state.  The username and password that comes with the distribution system are “login: guest” and “password: eFlight”.  To add your own username and password, edit the eFlight.db database state file.

Online Querying

Figure 1 displays the main query screen of the eFlight interface, used primarily for controling “online” interactions.  The online interaction phase is structured much like most flight-related Web services available today, which you specify cities and times for the trip.  However, the eFlight version of a flight search engine provides meta search capabilities, with numerous agents extracting and combining information from both the best full-service-travel Web sites and specific airline offerings.  Note, however, that response time may be considerably slower than that of most online services, because as opposed to wrapping a stand-alone database product, our agents are subject to Internet traffic constraints as they obtain their data.

By using the online interactions screen, you can