DTOOL/CNETS is the key tool for modeling and diagnosing systems
at the Department of Diagnostic and Modeling at Rockwell
Science Center. It is being used to model and diagnose systems in the
domain of avionics, automation and space operations.
Compositional
Modeling
Interactive
Diagnostic Reasoning
Embeddable Diagnostic
Reasoning
DTOOL is a compositional modeling system based on block diagrams. In DTOOL, a system is comprised of a set of interconnected blocks, each representing a system component.
Modeling a system using DTOOL is a three-step process:
Adnan Darwiche. Model-based diagnosis using structured
system descriptions.
Journal of Artificial Intelligence Research, 8:165--222,June,
1998.
Interactive Diagnostic Reasoning
CNETS supports two modes of reasoning : Interactive and embeddedable.
In the interactive mode, the user sets the inputs and outputs of components to certain values and requests that CNETS diagnose the system.
Shown on the right is a scenario in which CNETS has computed several diagnoses for the given observation and is in the process of displaying the second diagnosis by highlighting the corresponding broken component.
The interactive mode supports both diagnosis and simulation queries.
If the user places the mouse over a component port, the system will display
the possible values of that port, assuming that each component is in its
ok mode (whenever the assumption is consistent with the system observation).
CNETS uses a structure-based algorithm to compute answers to queries which means that its performance depends on the connectivity of the underlying system structure. The less connected the system is, the more efficient the algorithm will be. The system structure corresponding to the above model is shown on the left.
The algorithm used by CNETS for computing answers to simulation and diagnostic queries is given in:
Adnan Darwiche. Model-based diagnosis using structured
system descriptions. Journal of Artificial Intelligence Research,8:165--222,
June, 1998.
Embeddable Diagnostic Reasoning
CNETS supports two modes of reasoning: Interactive and embeddedable.
In the embeddable reasoning mode, the user specifies a set of ports
asobservables and requests the generation of an embeddable diagnostic system
as shown on the right.
An embeddable diagnostic system is composed of two parts:
The compiled system description is a propositional sentence in decomposable
negation form; its representation is platform independent. The diagnostic
evaluator is a simple piece of code which is specific to a given platform.
The compiled system description corresponding to the above block diagram
is shown below as a rooted directed acyclic graph.

Given:
the diagnostic evaluator can answer a varietyof
diagnostic queries in time which is linear in the compiled representation.
The time to generate, and space to store, a compiled system description
is tied in a precise way to the connectivity of underlying system structure.
The details of the diagnostic compiler and evaluator can be found in:
Adnan Darwiche. Compiling devices: A structure--based
approach. In Proceedings of the Fifth International Conferenceon
Principles of Knowledge Representation and Reasoning (KR), pages156-166,
1998. (long version)
Adnan Darwiche. Realizing model-based diagnosis
under real-world constraints. Technical Report #98-11.
Department of Mathematics, American University of Beirut, Beirut, Lebanon.
Following are the standard references on the origin of CNETS (the second reference contains a LISP implementation):
1. Adnan Darwiche and Matthew L. Ginsberg. A
symbolic generalization of probability theory.
In Proceedings of theTenth
National Conference on Artificial Intelligence(AAAI), pages 622--627,
1992.
2. Adnan Darwiche. A symbolic generalization of probability theory.PhD thesis, Stanford University, 1992.
Although CNETS can process probabilistic, symbolic and order-of-magnitude causal networks, it has been mostly used for processing symbolic causal networks. Therefore, most of the recent developments on CNETS have been focused on the symbolic case.
Following are the standard references on the symbolic version of CNETS:
3. The formal definition
and properties of symbolic causal networks employed by CNETS:
Adnan Darwiche and Judea Pearl. Symboliccausal
networks. In Proceedings of the Twelfth National Conference
on Artificial Intelligence (AAAI),pages
238--244, 1994.
4. The on-line reasoning algorithm employed by CNETS:
Adnan Darwiche. Model-based
diagnosis using structured system descriptions. Journal of Artificial
Intelligence
Research, 8:165--222, June, 1998.
5. The compilation technique employed by CNETS:
Adnan Darwiche. Compiling
devices: A structure--based approach. In Proceedings of the Fifth
International
Conference on Principles of Knowledge
Representation and Reasoning (KR), pages 156-166, 1998. (long
version)
CNETS is implemented in Lisp. Rockwell is now developing two JAVA versions of CNETS: One focused on probabilistic causal networks and the other focused on symbolic causal networks. The specifications of the symbolic versionare given above [3-5]. The specifications of the probabilistic version are given in:
6. Cecil Huang and Adnan Darwiche. Inference
in belief networks: A procedural guide.
International Journal of Approximate
Reasoning, 15(3):225--263, October, 1996.
7. Adnan Darwiche and Gregory Provan. QueryDAGs:
A practical paradigm for implementing belief--network inference.
Journal of Artificial Intelligence Research,6:147--176,
May, 1997.