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. .
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.