1990 年 110 巻 8 号 p. 500-507
We present a general fault diagnosis theory which extends the Reiter's component-level theory to the package-level.
In our theory, a system is defined as (SD, COMPONENTS, PACKAGES, OBS), where SD (system description) is a set of first-order logic sentences, COMPONENTS (system components) is a set of constants, and PACKAGES is a partition of COMPONENTS. Each element of PACKAGES is called a package. Observation OBS is described as a set of first-order sentences.
Package-level diagnosis is a minimal set Δp of PACKAGES such that
SD_??_OBS_??_{_??_ AB(c)/c∈COMPONENTS-comp(Δp)}
is consistent, where comp (Δp)={c|(_??_P)c∈P∈Δp} and AB(c) means that the component c is abnormal.
Based on theory, we developed a package-level diagnosis algorithm which uses a mechanical theorem prover for detecting a discrepancy between SD and OBS. We implemented it by using the automated reasoning system Thinker, which we have developing since 1984.
We applied it to the diagnosis of typical sequential circuits such that a synchronous counter and an automatic vending machine, where SD consists of the description of gates, wiring, axioms of Boolean algebra, etc.
The example of counter circuits, which has 3 packages (3 JK-type flip-flops and an and gate), demonstrates that we have to explicitly embed the clock time into these descriptions. The automatic vending machine consists of 18 packages (53 components including 3 D-type flip-flops), and the diagnosis time for detecting all of the 6 single-level package fault was about 25 min. In this process, Thinker was invoked 37 times.
The experiments show that the proposed approach is practical for large-scale sequential circuits.
J-STAGEがリニューアルされました! https://www.jstage.jst.go.jp/browse/-char/ja/