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
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.”
This section outlines procedures for installing the eFlight server architecture.
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).
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.
· An OAA Facilitator (v 1.0), the heart of an OAA system
· 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)
· 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
The eFlight client can be run locally using appletviewer or downloaded in any Web browser supporting the Java plugin for JDK 1.1.
· 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.
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.
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
· 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
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.
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!
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.
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.
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