This section provides a brief overview of Valhalla, the automatic video presentation tool we have developed using the formalism described in the rest of this paper. Additional information about the implementation can be found in Csinger et al. [6].

The current version of Valhalla consists of a reasoning agent, a video
server agent, and an interface agent that interact over a TCP/IP
connection. The video server is being designed to handle tape, video disk
and digital video. Figure illustrates these
relationships.
The Reasoner is a best-first Sicstus Prolog implementation of the assumption-based reasoning framework introduced in this paper. The Interface is implemented on a NeXT workstation with a NeXT dimension board, and a video disk player currently stands in for the video server.
Although the current implementation has the Reasoner acting as a server to the client Interface, the simple protocol underlying communications between these agents permits the Reasoner to view the Interface as just another Prolog predicate: an ``ok'' from the Interface (caused by successful completion of a presentation to the user) allows successful completion of the Reasoner's evaluation loop; any other message from the Interface (caused, for instance, by the user expressing dissatisfaction with the current presentation by clicking on the No! button in the Control window) forces the Reasoner to initiate a Prolog backtrack to find other solutions. Clicking on the Show button in the first place initiates calculation of the first presentation, using only prior probabilities for recognition assumptions.

There are two essential components of the Interface: the Control and the User Model windows.
The Valhalla Control window, shown in
Figure , contains-in addition to the familiar
virtual VCR control panel at the lower left-controls to advance to the
next clip in the current edit-list, to return to the previous clip in the
current edit-list, to replay the current clip, and to proceed with the
presentation (Go). The Show button is a request that is
passed on to the reasoning engine to calculate the next best
presentation. No! is merely a direct way for the user to express
dissatisfaction with the current presentation. Any activity at the
control window is echoed to the reasoner, which can use plan recognition
techniques to infer the motives of the user.

The Valhalla User Model window, shown in Figure ,
implements the interactivity paradigm advocated in
Section 5. Clicking on any element of the User Model
window first sends an ``ok'' message to the Reasoner which causes it to
succeed in its processing loop; this message is followed by an instruction
that encodes the change to the user model that the user has just specified.
The Reasoner makes the requested change to the user model and then
calculates a new presentation.
We have begun testing the system with a body of video known as the UBC Computer Science Department Hyperbrochure, an hour long video disk that includes an introduction to UBC's computer science department by its head, interviews with most of the faculty and staff, as well as walk-throughs of the laboratories. Potential viewers of the material are prospective and current graduate and undergraduate students, faculty and staff, funding agencies and industrial collaborators. All these are potential users of Valhalla, and bring idiosyncratic goals and interests that the system attempts to meet with tailored presentations.