P. Struss 421
in a way that checking these respective partial mode assignments can possibly lead to
a conflict. The analysis needed for such an approach, which may be called conflict-
oriented model decomposition [56], has to reflect the structure of the system and the
set of observable variables. Intuitively, the task is to find sets of observations that parti-
tion the system model into subsystems that can become over-determined, which often
requires to make certain assumptions about the model (e.g., linear functions). There
are a number of caveats. Firstly, the approach is obviously only suited for applications
where the set of possible observables is fixed (and not too large), an assumption that
can be valid for online-diagnosis of monitored or controlled systems. Secondly, the
potential conflicts can comprise quite different subsets of components for different
mode assignments, and even for different states and inputs of the system. Performing
the analysis exhaustively for all cases, particularly under the presence of fault models
seems prohibitive. Hence, thirdly, if we use purely structurally oriented algorithms,
we may fail to find the minimal potential conflicts.
There are other proposals to compile system descriptions in order to achieve bet-
ter performance at diagnosis runtime. Ultimately, only the interdependencies between
observable variables and the mode assignments matter, whereas the overall system
model may contain many more intermediate and unobservable variables, especially
due to the fact that the model is a compositional one. A straightforward step is, there-
fore, to eliminate all unobservable variables from the model. This works best if the set
of observable variables is fixed (and small), as, for instance, in on-board diagnosis and
monitoring systems, where the set of observables is determined by the existing sensors
[26]. This has enabled the generation of a model-based on-board diagnostic system,
that runs on an actual control unit of a passenger vehicle [74]. Darwiche [10] proposes
to compile a system description into a special form (negation normal form) in order to
achieve better performance for diagnosis tasks.
Obviously, for all such solutions holds that the complexity of the task is shifted
into the compilation step which even may become intractable.
Hierarchical models
Another option is to represent the system to be diagnosed by a hierarchical model and
apply the described techniques at each level to those subsystems that have been de-
termined as suspects at the higher level. This keeps the number of components and,
hence, the size of mode assignments and conflicts small. (See, e.g., [48].) While a
solution along these lines is theoretically straightforward, in practice it comes at con-
siderable cost and raises some problems. Obviously, we need models of subsystems
above the level of elementary components. There are two ways to obtain them: au-
tomatically or “by hand”. The latter option, though feasible in some cases, increases
the modeling effort. The bad part is that only the models of the very bottom layers
can be expected to be reusable, the rest is likely to be system-specific. Therefore, in
most applications, the effort of creating models of higher-level components (which are
hardly re-usable) manually will probably kill the economic benefit of a model-based
solution. An automated solution is needed.
The reductionist approach implies that we can obtain the behavior models of the
subsystems in a bottom-up fashion as the composition of the models of its components,
which means we face the task of automated model compilation (e.g., by transforming
a constraint network to a single constraint relating state and interface variables of