Demo II: Tasks

Last update: 17 September 1999


This page lists the tasks that need to be completed.


Overall sequence


Things to remember


Platoon

Networking
Who Status Task
Bob and Brian
Test the range of the Wavelan 2 cards (with and without the Range Extender antennas)
Bob DONE Make X-Windows work again on the Tecras
Bob IN PROGRESS Set the BIOS clock of every laptop to the correct time (and reset as needed)
Bob and Ron
Install needed software on all laptops (Linux, ntp, Wavelan 2 drivers, multi-threaded agent server, Aprl 2, etc.). This is basically the final step before any particular demo run.
Brad DONE Figure out how to install FreeBsd on the Toshiba and Gateway laptops (see Brad's installation instructions)
Bob IN PROGRESS Add compression capabilities to D'Agents (to minimize the size of the agents and agent messages sent across the network)
Bob DONE Port Aprl 2 to Linux
Bob DONE Allow agents to get new-neighbor alerts from Aprl 2
Bob DONE Decide whether to use FreeBsd or Linux
Bob and Ron NOT NEEDED If we use FreeBsd, install FreeBsd and Harvard's TCP/IP replacement on all of the laptops
Bob DONE Order the new Wavelan cards (Lucent 802.11 Turbo Bronze cards with Range Extender Antennas)
Bob DONE Make the Turbo cards work on our laptops
Ryan DONE Implement an efficient broadcast mechanism for the wireless network (e.g., each soldier broadcasts their position to all other soldiers)
Ryan DONE Test the broadcast system on the laptops (over the wireless network)
Ryan DONE Integrate the broadcast system with Bob's Aprl library so that the broadcast systems gets new-neighbor notifications directly from Aprl
Bob DONE Write a forwarder agent that will forward all broadcast messages to the analyst's GUI (not necessary, but simplifies the demo architecture significantly)
Bob DONE Make the router agent work with Aprl 2
Bob DONE Make wireless_jump work with the new router agent
Lisa and Bob
Make the active-messaging system accept and react to disconnection alerts sent from the network-sensing subsystem (this depends on the network-sensing items below)
Ron and Bob IN PROGRESS Make a startup script (and install it appropriately in /etc/rc.d/) that will automatically start all the software that a platoon member needs (i.e., we do not want the demo participant to have to enter a password, start up the soldier's GUI themselves, etc.)
Bob
Test all laptop batteries
Bob NOT NEEDED Figure out if we can close the laptops without the laptops going into suspend mode
Soldier's GUI
Who Status Task
Sandy DONE Make the map resize correctly when the enclosing window is resized
Bob
Add Rockefeller and Baker Library to the map
Bob IN PROGRESS Integrate the wireless_jump procedure
Bob DONE Make gridlines a function inside the tkGeoMap library, rather than a separate executable. The separate executable was surprisingly inconvenient last year.
Sandy DONE Add a scrolling script with time and action cues to the soldier's GUI (e.g., the script might tell a demo team member to move to the base of the Baker Library steps five minutes after the demo starts)
Sandy DONE Extend the script so that a script event can optionally place a "big red X" at some map position (the event text might say something like "Move to the position indicated on the map")
--- DONE Extend the map to show the position of every soldier (we get this for free since we used last year's analyst GUI as the starting point for the soldier's GUI)
Bob IN PROGRESS "Gray out" soldiers who are currently out of range
Sandy DONE Extend map to allow easy entry of position observations (i.e., a vehicle or person was seen at a specific location)
Sandy DONE Ehance observation entry so that it is easier to describe an observed person (i.e, explicit fields for height, weight, etc.)
Sandy DONE Add a command-line option that specifies whether the GUI is being used by a soldier in the field or by an analyst at Battalion HQ. Hide or display certain sections of the GUI according to who is using it.
Sandy DONE Add a simple single-line status bar to the main display (modules will put "critical messages" into this status bar)
Bob DONE Determine the types of observations that will be made during the demo (i.e., PERSON, CAR, etc.)
Sandy IN PROGRESS Add mechanism to select "canned" observations
Sandy DONE Send observations back to Battalion HQ
--- NEXT DEMO Store observations in the SALUTE database for later querying
Sandy DONE Include the observation type in the SALUTE observations
Sandy NOT NEEDED Add mechanism to view updated orders sent from Battalion HQ
Sandy DONE Add mechanism to view (and respond to) confirmaton requests sent from Battalion HQ
Sandy IN PROGRESS Send observations wrapped inside a migrating agent (after which we can integrate with wireless_jump
Sandy IN PROGRESS Add mechanism to make simple queries againt the BGW database
--- NEXT DEMO Add mechanism to make simple queries againt the SALUTE database
Sandy and Lisa
Add mechanism to display an "emergency alert" if the laptop is going out of range of the other laptops and losing its network connection (this depends on the network-sensing items below)
Network sensing
Who Status Task
Lisa IN PROGRESS Parameterize the network-sensing code so that it works with the Turbo network cards and will detect when a laptop is about to lose network connectivity
Lisa IN PROGRESS Provide an interface via which the network-sensing code can send alerts to agent-level components (which have requested alerts), e.g., both the soldier's GUI and the active-messaging agents will request alerts so that they can ake action when the network is about to disappear
GPS
Who Status Task
Bob DONE Order the new GPS units (Motorola Oncore units that work with Brad's differential GPS software)
Ron IN PROGRESS Make battery packs for the GPS units
Jiang DONE Understand Brad's differential GPS software
Jiang DONE Test Brad's differential GPS software
Jiang and Bob DONE Select position for the three laptops that will broadcast the GPS error corrections to all the moving laptops
Bob DONE Update the GPS agent to broadcast the laptop's position through the broadcast system
Jiang and Bob DONE Make Brad's Perl code pass the GPS position to the GPS agent
Bob DONE Adjust the GUI's to make them understand the GPS broadcasts
Jiang and Bob IN PROGRESS Propagate the status of the Motorola Oncore (e.g., 2D-fix, 3D-fix, fix lost) all the way to the GUI's, so that the GUI's can flag those soldiers whose GPS units have lost their position fix
Jiang and Bob IN PROGRESS Disallow "invalid" positions (which might arise if the Motorola Oncore has not yet acquired the correct position)
Scenario
Who Status Task
Bob DONE Decide where on campus the demo will take place. We will use two different buildings, Rockefeller Center and Baker Library, and alternate between the two. The first test run will take place around Rockefeller Center, which is closer to Thayer and significantly smaller than Baker (in terms of perimeter).
Sue, Eileen, Lisa, Dartmouth Gang of Four DONE Script the confirmation process (battalion HQ sends picture to leader, leader forwards to appropriate soldier, soldier verifies that the person in the picture is the person that he saw)
--- NEXT DEMO Script the SALUTE queries that the soldiers will make against the SALUTE databases
Sue, Eileen, Lisa, Dartmouth Gang of Four DONE Script soldier movement that will show off the active-messaging and network-sensing systems (i.e., script movement that forces network disconnections)
Bob
Write the script file that will tell everyone what to do and when to do it
Bob IN PROGRESS Write the canned observation file
Bob IN PROGRESS Come up with an easy way for the "soldiers" to carry everything (i..e, buy little backpacks)
Optional
Who Status Task
--- NEXT DEMO Implement a more efficient version of the agent-level active-messaging system
--- NEXT DEMO Platoon leader has local subset of the SALUTE database
--- NEXT DEMO Platoon leader tags some SALUTE reports as critical and re-sends (follows military chain-of-command and current military practice)
--- NEXT DEMO Confirmation request sent to platoon leader, who forwards it to appropriate soldier at a convenient time (follows military chain-of-command and current military practice)
--- NEXT DEMO Add Windows CE and/or Palm devices (communicating over Metricom radio modems to one or laptops serving as Metricom base stations) to the demo. These devices will have some simple interface for entering observations. We will not port the agent system, etc., to the devices.
--- NEXT DEMO Make the network-sensing module detect the impending loss of individual links. Right now it detects the impending loss of all links (i.e., if the laptop is going out of range of all other laptops). Feed the individual-link information into the active-messaging system.


Databases

There are five databases:

The Encyclopedia database, however, will likely not be used this year.

Data
Who Status Task
--- NOT NEEDED Sanitize last year's terrorist data
Nikita DONE BGW database: Write a program to automatically generate entries for the BGW database
Bob DONE Upgrade to the new mySql
Thayer gang IN PROGRESS BGW database: Add associates and member-of fields to the BGW database
Thayer gang IN PROGRESS BGW database: Insert all the people into the BGW database
Thayer gang IN PROGRESS BGW database: Manually create BGW entries for the two insurgent leaders and for people who look like the first insurgent leader
Dennis DONE Filter BGW and Salute records according to the "Description" field
Arne IN PROGRESS News Database: Collect Clarinet articles
Thayer gang IN PROGRESS News Database: Collect AP articles
Bob DONE News Database: Get last year's articles
Thayer gang IN PROGRESS News Database: Get (more) Dartmouth articles
Arne and Bob
News Database: Sanitize articles and insert into serval database
--- NEXT DEMO Encyclopedia database: Set up and populate the Encyclopedia database
Bob
Phone database: Implement the Phone database (sql database, serval database, persitent-query agent)
Thayer gang
Phone database: Break movie scripts apart into conversations
Thayer gang
Phone database: Manually generate a few key phone conversations
Bob
Phone database: Insert some conversations into Phone database (plus script to insert rest of the conversations into the database at random intervals)
Nikita DONE BGW database: Add photographs to the BGW database
Sandy DONE BGW database: Give agents the capability to carry photographs with them (as MIME strings)
Ron, Arne and Bob
Install replicated copies of each database (e.g., there might be a copy of the full news database at Dartmouth and at Harvard, and a portion of the news database on a laptop that we bring to Washington)
Dennis DONE Improve the SQL interface agent
Serval (free-text database)
Who Status Task
Ron DONE Replace Smart with Serval
Katya, Arne and Alex IN PROGRESS Add persistent queries to Serval
Ron IN PROGRESS Write a serval "interface" agent (for use by Tcl query agents)
Queries
Who Status Task
Dennis DONE Improve the agent that performs the base SQL queries (e.g., queries against a single SQL database)
Dennis IN PROGRESS Improve the agent that performs the base text queries (e.g., queries against a single text database)
Dennis and Bob
Implement the "who-is-this" query
Dennis and Bob
Implement the persistent phone-call query
Dennis and Bob
Implement a straight-shot News query
Dennis and Bob
Implement a persistent News query
Ricky IN PROGRESS Implement MACE modules that can be used to construct multi-step queries
Dennis DONE Make the query agents use the yellow pages to find the needed databases (and of course, make the databases register with the yellow pages)
Scenario
Who Status Task
Sue, Eileen, Lisa, Dartmouth Gang of Four DONE Select interesting queries. For the soldier, we will do queries against the BGW database. For the analyst, we have have fourj different query types, which nicely show off the different technologies: "Who is this?", persistent phone-call, straight-shot News, and persistent News.
Optional
Who Status Task
--- NEXT DEMO Use network-sensing system to detect impending database (access) failure


Battalion HQ

Who Status Task
Sandy DONE Analyst's GUI: map with all positions
Sandy IN PROGRESS Analyst's GUI: scrolling list of SALUTE reports
Sandy IN PROGRESS Analyst's GUI: Given an observation of a person, query the BGW database to identify the person (i.e., the "Who is this?" query)
Sandy and Bob
Analyst's GUI: Launch a persistent query against the phone-call database and receive notifications of matching results
Sandy and Bob
Analyst's GUI: Launch a straight-shot query against the News database
Sandy and Bob
Analyst's GUI: Launch a persistent query against the News database
David Marmaros DONE Analyst's GUI: clustering library (Tcl interface to Mark and Ken's clustering server plus Tk code to draw the clusters)
Sandy DONE Analyst's GUI: Send confirmation requests to the field team


Data collection

There are several subsystems that need to be instrumented:

Who Status Task
Rong and Bob IN PROGRESS Logger
Brad and Bob DONE Decide what to log in the routing subsystem: 1. Full packet trace with tcpdump (entire packet or first 58 bytes), 2. All route changes inside Aprl, 3. Whatever the Wavelan 2 cards report (Brad has code to read about a dozen items from the card), 4. Whatever the kernel keeps track of (e.g., retransmissions and dropped packets), and 5. GPS positions (already done)
Lisa and Bob IN PROGRESS Decide what to log in the network-sensing subsystem
Bob and all IN PROGRESS Decide what to log in the agent subsystem
Bob DONE Set up tcpdump
Bob DONE Set up a logger of all kernel statistics
Bob DONE Set up a logger of all Wavelan 2 statistics


Instrument networking-sensing and agent subsystems with appropriate calls to the logger


Assign unique identifiers to all demo subsystems (logging requirement)
All
Data analysis, plotting and visualization


Recording and replay

Who Status Task
Bob and Sandy DONE Make the soldier's GUI record all incoming agent messages (including network-sensing alarms)
Bob and Sandy IN PROGRESS Make the analysts's GUI record all incoming agent messages (except for responses to queries and confirmation requests)
Bob and Sandy IN PROGRESS Add a playback mode to the soldier's GUI
Bob and Sandy IN PROGRESS Add a playback mode to the analysts's GUI
Bob DONE Make Aprl 2 log every route change
Bob DONE Make the active-messaging system record every queue entry or exit, as well as all Aprl notifications
Bob
Make the active-messaging system record every alarm coming from the network-sensing subsystem
Bob DONE Make every jumping agent log its own path (this simplifies the logging that we need to do inside the active-messaging system)
Ryan DONE Make the broadcast system record every "event" (message arrival, message transmission, message death, etc.)
Bob DONE Make the GPS system continually log the laptops's position
Bob
Add a second playback mode to the analyst's GUI (or make a stripped-down analyst's GUI) that will replay reality as reflected in the previous five logs. This is necessary since neither the soldier's nor analyst's GUI will have seen all of the demo activity. For example, if three soldiers break off from the main group, but stay together, neither the other soldiers nor the analyst will see that they actually have stayed together, since no position broadcasts can make it across the network disconnection.


Optionals

Who Status Task
--- NEXT DEMO Integrate Hiro's planner so that agents can plan the most effective path through the network
Shankar and Ricky IN PROGRESS Integrate MACE so that the headquarters team can graphically construct the desired queries
--- NEXT DEMO Adapt MACE for use as a mission planner
Bob
Make all soldier software jump onto the soldier's laptops when the mission starts
--- NEXT DEMO Integrate Brian's observation algorithm (e.g., the databases might use it to efficiently construct indices of the changing distributed document collection)
--- NEXT DEMO Integrate Jiang's functional validation algorithm
--- NEXT DEMO Create and integrate a planning algorithm that moves around physical entities to maintain network connectivity


Maintained by robert.s.gray@dartmouth.edu