We have developed both a formal basis and a framework for implementing automated reasoning systems based upon evidential reasoning techniques. Both the formal and practical approach can be divided into four parts:
All of these structures, including frames, compatibility relations, galleries, and analyses, have graphical depictions that are directly manipulated through Gister's user interface. This interface greatly eases knowledge-base construction, modification, and maintenance. Gister divides the problem of argument construction into two major steps: framing the problem and analyzing the evidence. Correspondingly, Gister's implementation of evidential reasoning consists of two independent components: the Curator that manages the gallery of frames and compatibility relations and, the Analyzer that manages analyses.
Using the Curator, the user establishes a gallery of frames and compatibility relations that delimits a space of possibilities; using the Analyzer, each body of evidence is represented relative to a frame in the gallery and a sequence of evidential operations is established. This sequence determines how the evidence is transformed into pertinent conclusions. Collectively the gallery of frames and compatibility relations, together with the analyses, are the rough equivalent of an expert system's knowledge base.
This technology features the ability to reason from uncertain, incomplete, and occasionally inaccurate information, these being characteristics of the information available in real-world domains. It provides options for the representation of information: independent opinions are expressed by multiple (independent) bodies of evidence; dependent opinions can be expressed either by a single body of evidence or by a network (i.e., analysis) that describes the interrelationships among several bodies of evidence. These networks of bodies of evidence capture the genealogy of each body and are used as data-flow models to automatically update interrelated beliefs whenever any given belief is revised.
To improve run-time efficiency, Gister supports the compilation of analyses into stand-alone subroutines (in C or Lisp). The resulting subroutines take numeric arguments (scalar or vector) as inputs, corresponding to the probabilistic mass assigned to propositional statements in selected primitive bodies of evidence, and produce numeric results corresponding to the support and plausibility assignments made by interpretation nodes. The key difference, between the computations performed by the resulting subroutines and the computations performed when analyses are evaluated, is that the logical questions that are posed relative to the gallery during analysis evaluation are compiled away in the subroutines. That is, the logical questions pertaining to the gallery are posed at compile time, their answers help shape the resulting numerical subroutines, but they are not posed during subroutine execution. As a direct result, the subroutines are more efficient, composed exclusively of numeric operations. With this feature, the user can make use of Gister, with all of its development features, to develop an evidential line of reasoning and, when the user is satisfied, compile it into an independent subroutine, embodying the evidential line or reasoning, for inclusion within other software systems.