The PVI, a late addition to the contract requirement, became the most visible and complex of the subsystems. It was responsible for managing all aspects of the interactions between the pilot and the other PA subsystems. This was complicated by the primary operational requirement of the system that the pilot, not the associate should be in charge at all times. Moreover, the operational experts wanted the PA behavior to avoid the "bitching Betty" problem by adapting the perceived behavior of the PA to the pilot's current work load. The PVI therefore had three fundamental requirements: intelligently presenting the recommendations of the PA subsystems to the pilot, implementing any proposed actions the PA was authorized to perform, and determining whether the pilot was going to accept the recommendations or do something else. Specifically, the requirements were:
This enormously complex subsystem was coded completely in Lisp on a Symbolics Lisp Machine using a number of proprietary inference systems. Since there has been significant exposure of the PVI technical approach in the open literature, the details will not be repeated here.
In Phase 2, as with the other PA subsystems, the PVI was coded in C++ and hosted on a Motorola 680X0 processor using shared memory to exchange data, and sockets to exchange messages with other subsystems.
last updated 10/5/2002 by David Smith