<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Structural Model Decomposition Framework for Hybrid Systems Diagnosis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthew Daigle</string-name>
          <email>matthew.j.daigle@nasa.gov</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anibal Bregon</string-name>
          <email>anibal@infor.uva.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Indranil Roychoudhury</string-name>
          <email>indranil.roychoudhury@nasa.gov</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Valladolid</institution>
          ,
          <addr-line>Valladolid, 47011</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>NASA Ames Research Center</institution>
          ,
          <addr-line>Moffett Field, CA 94035</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Stinger Ghaffarian Technologies Inc., NASA Ames Research Center</institution>
          ,
          <addr-line>Moffett Field, CA 94035</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>201</fpage>
      <lpage>208</lpage>
      <abstract>
        <p>Nowadays, a large number of practical systems in aerospace and industrial environments are best represented as hybrid systems that consist of discrete modes of behavior, each defined by a set of continuous dynamics. These hybrid dynamics make the on-line fault diagnosis task very challenging. In this work, we present a new modeling and diagnosis framework for hybrid systems. Models are composed from sets of user-defined components using a compositional modeling approach. Submodels for residual generation are then generated for a given mode, and reconfigured efficiently when the mode changes. Efficient reconfiguration is established by exploiting causality information within the hybrid system models. The submodels can then be used for fault diagnosis based on residual generation and analysis. We demonstrate the efficient causality reassignment, submodel reconfiguration, and residual generation for fault diagnosis using an electrical circuit case study.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Robust and efficient fault diagnosis plays an important role in
ensuring the safe, correct, and efficient operation of complex
engineering systems. Many engineering systems are modeled
as hybrid systems that have both continuous and
discreteevent dynamics, and for such systems, the complexity of
fault diagnosis methodologies increases significantly. In this
paper, we develop a new modeling framework and structural
model decomposition approach that enable efficient online
fault diagnosis of hybrid systems.</p>
      <p>
        During the last few years, different proposals have been
made for hybrid systems diagnosis, focusing on either
hybrid modeling, such as hybrid automata [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1–3</xref>
        ], hybrid state
estimation [4], or a combination of on-line state tracking and
residual evaluation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, in all these cases, the
proposed solutions involve modeling and pre-enumeration of the
set of all possible system-level discrete modes, which grows
exponentially with the number of switching components.
Both steps are computationally very expensive or unfeasible
for hybrid systems with complex interacting subsystems.
      </p>
      <p>
        One solution to the mode pre-enumeration problem is to
build hybrid system models in a compositional way, where
discrete modes are defined at a local level (e.g., at the
component level), in which the system-level mode is defined
implicitly by the local component-level modes. Since this
allows the modeler to focus on the discrete behavior only at
the component level, the pre-enumeration of all the
systemlevel modes can be avoided [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]. Additionally, building
models in a compositional way facilitates reusability and
maintenance, and allows the validation of the components
individually before they are composed to create the global
hybrid system model.
      </p>
      <p>
        In a system model, the effects of mode changes in
individual components may force other components to reconfigure
their computational structures, or causality, during the
simulation process, which requires developing efficient online
causality reassignment procedures. As an example of this
kind of approach, Hybrid Bond Graphs (HBGs) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] have
been used by different authors [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ], and efficient causality
reassignment has been developed previously for such
models [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. However, the main limitation of HBGs is that the
set of possible components is restricted (e.g., resistors,
capacitors, 0-junctions, etc.), with each component having to
conform to a certain set of mathematical constraints, and
modelers do not have the liberty to define and use their own
components. Another example is that of [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which uses a
more general modeling framework, and tackles the causality
reassignment problem from a graph-theoretic perspective.
      </p>
      <p>
        In this work, we propose a compositional modeling
approach for hybrid systems, where models are made up of
sets of user-defined components. Here, a component is
constructed by defining a set of discrete modes, with a different
set of mathematical constraints describing the continuous
dynamics in each mode. Then, we borrow ideas for efficient
causality reassignment in HBGs [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and propose algorithms
for efficient causality assignment in our component-based
models, extending and generalizing those from HBGs. We
then apply structural model-decomposition [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to compute
minimal submodels for the initial mode of the system. These
submodels are used for fault diagnosis based on residual
generation and analysis. Based on efficient causality
reassignment, submodels can be reconfigured upon mode changes
efficiently. Using an electrical circuit as a case study, we
demonstrate efficient causality reassignment and submodel
reconfiguration and show that these submodels can correctly
compute system outputs for residual generation in the
presence of known mode changes.
      </p>
      <p>The paper is organized as follows. Section 2 presents the
modeling approach and introduces the case study. Section 3
presents the overall approach for hybrid systems fault
diagnosis based on structural model decomposition. Section 4
develops the causality analysis and assignment algorithms.</p>
      <p>Section 5 presents the structural model decomposition
apSw1</p>
      <p>C1</p>
      <p>R1</p>
      <p>Sw2</p>
      <p>R2
C2
i11
v(t)
proach. Section 6 describes efficient causality reassignment.
Section 7 demonstrates the approach for the electrical case
study. Section 8 reviews the related work and current
approaches for hybrid systems fault diagnosis. Finally,
Section 9 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Compositional Hybrid Systems Modeling</title>
      <p>We define hybrid system dynamics in a general
compositional way, where the system is made up of a set of
components. Each component is defined by a set of discrete
modes, with a different set of constraints describing the
continuous dynamics of the component in each mode. Here,
system-level modes are defined implicitly through the
composition of the component-level modes. Because the number
of system-level modes is exponential in the number of
switching components, we want to avoid generating and reasoning
over the system-level hybrid model, instead working directly
with the component models.</p>
      <p>To illustrate our proposal, throughout the paper we will
use a circuit example, shown in Fig. 1. The components of
the circuit are a voltage source, V, two capacitors, C1 and C2,
two inductors, L1 and L2, two resistors, R1 and R2, and two
switches, Sw1 and Sw2, as well as components for series and
parallel connections. Sensors measure the current or voltage
in different locations (i3, v8, and i11, as indicated in Fig. 1).
Because each switch has two modes (on and off), there are
four total modes in the system.</p>
      <p>
        In the following, we present the main details of our
hybrid system modeling framework, which may be viewed as
an extension of our modeling approach described in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
extended with the notion of components, and with hybrid
system dynamics.
2.1
      </p>
      <sec id="sec-2-1">
        <title>System Modeling</title>
        <p>At the basic level, the continuous dynamics of a component
in each mode are modeled using a set of variables and a set
of constraints. A constraint is defined as follows:
Definition 1 (Constraint). A constraint c is a tuple (εc, Vc),
where εc is an equation involving variables Vc.</p>
        <p>A component is defined by a set of constraints over a set
of variables. The constraints are partitioned into different
sets, one for each component mode. A component is then
defined as follows:
Definition 2 (Component). A component δ with n discrete
modes is a tuple δ = (Vδ, Cδ), where Vδ is a set of variables
and Cδ is a set of constraints sets, where Cδ is defined as
Cδ = {C1, Cδ2, . . . , Cδn}, with a constraint set, Cδm, defined
δ
for each mode m = {1, . . . , n}.</p>
        <p>The components of the circuit are defined in Table 1 (first
three columns).</p>
        <p>Example 1. Consider the component R1 (δ6). It has only
a single mode with a single constraint v5 = i5 ∗ R1 over
variables {v5, i5, R1}.</p>
        <p>Example 2. Consider the component Sw2 (δ10). It has two
modes: on and off. In the off mode, it has three constraints
setting each of its currents (i9, i10, i11) to 0. In the on mode,
it has also three constraints, setting the three currents equal
to each other and establishing that the voltages sum up (it
acts like a series connection when in the on mode).</p>
        <p>We can define a system model by composing components:
Definition 3 (Model). A model M = {δ1, δ2, . . . , δd} is a
finite set ofd components for d ∈ N.</p>
        <p>Example 3. The model of the electrical system is made up
of the components detailed in Table 1, i.e., M = {δ1, δ2, . . . ,
δ15}. For each component, the variables and constraints are
defined for each component mode (third column).</p>
        <p>Note that the set of variables for a model does not change
with the mode, hence we need only a variable set in a
component and not a set of variable sets as with constraints.
The set of variables for a model, VM, is simply the union
of all the component variable sets, i.e., for d components,
VM = Vδ1 ∪ Vδ2 ∪ . . . ∪ Vδd . The interconnection
structure of the model is captured using shared variables between
components, i.e., we say that two components are connected
if they share a variable, i.e., components δi and δj are
connected if Vδi ∩ Vδj 6= ∅. VM consists of five disjoint sets,
namely, the set of state variables, XM; the set of
parameters, ΘM; the set of inputs (variables not computed by any
constraint), UM; the set of outputs (variables not used to
compute any other variables), YM; and the set of auxiliary
variables, AM. Parameters, ΘM, include explicit model
parameters that are used in the model constraints (e.g., fault
parameters). Auxiliary variables, AM, are additional
variables that are algebraically related to the state, parameter,
and input variables, and are used to simplify the structure of
the equations.</p>
        <p>Example 4. In the circuit model, we have XM =
{i3, v6, i8, v11}, ΘM = {L1, R1, C1, L2, R2, C2}, UM =
{uv}, and YM = {i3∗, i1∗1, v8∗}. Remaining variables belong
to AM. Here, the ∗ superscript is used to denote a measured
value of a physical variable, e.g., i3 ∈ XM is the current
and i3∗ ∈ YM is the measured current. Since i3 is used to
compute other variables, like i2, it cannot belong to YM and
a separation of the variables is required. Connected
components are known by shared variables, e.g., R1 and Series
Connection1 are connected because they share i5 and v5.</p>
        <p>The model constraints, CM, are a union of the component
constraints over all modes, i.e., CM = Cδ1 ∪ Cδ2 ∪ . . . ∪ Cδd ,
where Cδi = Cδ1i ∪ Cδ2i ∪ . . . ∪ Cδni for n modes. Constraints
are exclusive to components, that is, a constraint c ∈ CM
belongs to exactly one Cδ for δ ∈ M.</p>
        <p>To refer to a particular mode of a model we use the
concept of a mode vector. A mode vector m specifies the current
mode of each of the components of a model. So, the
constraints for a mode m are denoted as Cm .</p>
        <p>
          M
Example 5. Consider a model with five components, then
if m = [
          <xref ref-type="bibr" rid="ref1 ref1 ref1 ref2 ref3">1, 1, 3, 2, 1</xref>
          ], it indicates that components δ1, δ2,
and δ5 use constraints of their mode 1, component δ3 use
constraints of its mode 3, and component δ4 use constraints
of its mode 2.
        </p>
        <p>i2
v8∗
i11
i1∗1
δ3: Parallel Connection1 1
δ4: L1
δ5: Series Connection1
δ8: Parallel Connection2 1</p>
        <sec id="sec-2-1-1">
          <title>Mode Constraints</title>
          <p>
            For shorthand, we will refer to the modes only of the
components with multiple modes. So, for the circuit, we will
refer only to components δ2 and δ10, and we will have four
possible mode vectors, [
            <xref ref-type="bibr" rid="ref11">1 1</xref>
            ], [
            <xref ref-type="bibr" rid="ref12">1 2</xref>
            ], [
            <xref ref-type="bibr" rid="ref21">2 1</xref>
            ], and [
            <xref ref-type="bibr" rid="ref22">2 2</xref>
            ].
          </p>
          <p>
            The switching behavior of each component can be
defined using a finite state machine or a similar type of control
specification. The state transitions may be attributed to
controlled or autonomous events. However, for the purposes of
this paper, we view the switching behavior as a black box
where the mode change event is given, and refer the reader
to many of the approaches already proposed in the literature
for modeling the switching behavior [
            <xref ref-type="bibr" rid="ref1 ref8">1, 8</xref>
            ].
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Causality</title>
        <p>Given a constraint c, which belongs to a specific mode of a
specific component, the notion of acausal assignment is used
to specify a possible computational direction, or causality,
for the constraint c. This is done by defining whichv ∈ Vc
is the dependent variable in equation εc.</p>
        <p>Definition 4 (Causal Assignment). A causal assignment αc
to a constraint c = (εc, Vc) is a tuple αc = (c, vcout), where
vcout ∈ Vc is assigned as the dependent variable in εc. We
wusheeVrecinVction d=enVocte−th{eviconudte}p.endent variables in the constraint,</p>
        <p>In general, the set of possible causal assignments for a
constraint c is as big as Vc, because each variable in Vc can
act as vout. However, in some cases some causal
assignc
ments may not be possible, e.g., if we have noninvertible
nonlinear constraints. Also, if we assume integral causality,
then state variables must always be computed via integration,
and so the derivative causality is not allowed. Further, when
placed in the context of a model, additional causalities may
not be applicable, because the causal assignments of other
constraints may limit the potential causal assignments. To
denote this concept, we use Ac to refer to the set of permissible
causal assignments of a constraint c.</p>
        <p>For a given mode, we have the set of (specific) causal
assignments over the entire model in its mode, denoted using
Am. So, some α ∈ Am would refer to the causal assignment
of some constraint in some component of the model in its
correct mode. The consistency of the causal assignments
Am is defined as follows,
Definition 5 (Consistent Causal Assignments). Given a
mode m, we say that a set of causal assignments Am, for
a model M is consistent if (i) for all v ∈ UM ∪ ΘM, Am
does not contain any α such that α = (c, v), i.e., input or
parameter variables cannot be the dependent variables in
the causal assignment; (ii) for all v ∈ YM, Am does not
contain any α = (c, vcout) where v ∈ Vcin, i.e., an output
variable can only be used as the dependent variable; and
(iii) for all v ∈ VM − UM − ΘM, Am contains exactly
one α = (c, v), i.e., every variable that is not an input or
parameter is computed by only one (causal) constraint.</p>
        <p>
          With causality information, we can efficiently derive a set
of submodels for residual generation [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Hybrid Systems Diagnosis Approach</title>
      <p>We propose a hybrid systems diagnosis approach based on
structural model decomposition. In this approach, we
generate submodels for the purpose of computing residuals.
Residuals can then be used for diagnosis.</p>
      <p>
        For hybrid systems, however, the problem is that these
submodels may change as the result of a mode change. That is,
we may obtain two different submodels when decomposing
the model in two different modes. There are two approaches
to this problem. One is to find a set of submodels that work
for all modes, and can be easily reconfigured by executing
only local mode changes within the submodels [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. This
approach requires the least online effort, with some offline
effort in finding these submodels, which exist only in limited
cases. The other approach is to generate submodels for the
current mode, and when a mode change occurs, reconfigure
the submodels to be consistent with the new system mode.
This is the approach we develop in this paper.
      </p>
      <p>In order to execute this type of approach, however, we
must be able to efficiently reconfigure submodels online. In
order to do this, we take advantage of causality in two ways.
First, we perform an offline model analysis to determine
which causalities of the hybrid system model are not
permissible, i.e., they will never be used in any mode of the
system (determine AM for a model). Second, we use an
efficient causality reassignment algorithm, so that the causality
of a hybrid systems model is updated incrementally when
a mode changes (given A for the previous mode, compute
it for the new mode). Since causal changes usually only
propagate in a local area in the model, causality does not
need to be reassigned at the global model level. Together,
these algorithms reduce the number of potential causalities to
search within the model decomposition algorithm and allow
efficient submodel reconfiguration.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Causality Assignment</title>
      <p>In order to compute minimal submodels for residual
generation, we need a model M with a valid causal assignment Am.
As described in Section 2, causality assignment can only be
defined for a given mode. However, there are some causal
assignments that are independent of the system mode, i.e.,
they are valid for all system modes. We capture this through
the notion of permissible causal assignments, introduced as
AM in Section 2.</p>
      <p>Given a model with a number of modes, some constraints
will always have the same causal assignment in all modes,
and we say these constraints are in fixed causality .
Definition 6 (Fixed Causality). A constraint cδ is in fixed
causality if (i) component δ has only a single mode, i.e.,
|Cδ| = 1, and (ii) for cδ in the single C ∈ Cδ, it always has
the same causal assignment in all system modes.</p>
      <p>If a constraint is in fixed causality, then |Ac| = 1, i.e.,
there is only one permissible causal assignment. For
example, if we make the integral causality assumption, then
constraints computing state variables will always be in the
integral causality, and thus they are in fixed causality.</p>
      <p>Additionally, when the constraint is viewed in the context
of the model, the concept of fixed causality can be propagated
from one constraint to the related constraints (those sharing
a variable with the fixed causality constraint). This will help
to reduce the number of permissible causal assignments. For
example, if we again assume integral causality, then any
constraint involving a state variable cannot be in a causal
assignment where the state variable is the dependent/output
variable, because the integration constraint is the one that
must compute it. For such a constraint, 1 &lt; |Ac| &lt; |Vc|.</p>
      <p>Given a system model and a set of outputs, Algorithm 1
searches over the model constraints to reduce the set of
permissible causal constraints based on system-level
information.1 First, it determines which constraints are mode-variant,
i.e, they can appear/disappear from the model depending on
the mode (so belong to components with multiple modes),
and which are mode-invariant, i.e., they are present in all
system modes (so belong to components with a single mode).
It is only the mode-invariant constraints for which causal
assignments can be removed. We then construct a queue
of variables from which to propagate. This queue contains
the inputs and parameters (which must always be
independent/input variables in constraints), and the outputs (which
must always be dependent/output variables in constraints).
We create a variable set V that refers to the variables that are
resolved, i.e., either they are inputs/parameters or there is a
constraint with a single causal assignment that will compute
the variable. So, V is initially set to include UM and ΘM.
Further, for any mode-invariant constraints that only has a
single causal assignment, the output variable is added to V ,
and all variables of the constraint added to the queue.</p>
      <p>The main idea is to analyze the causality restrictions
imposed by variables in the queue, which will be propagated
throughout the model. While the queue is nonempty, we pop
a variable v off the queue. We then count the number of
constraints involving v that have no set causal assignment yet,
including constraints that are both mode-variant and
modeinvariant. We then go through all mode-invariant constraints
involving v, and remove causal assignments that will never
be possible. There are three conditions in which this holds:
a causal assignment is not possible in any system mode if (i)
the output variable is already computed by another constraint,
or is an input/parameter (i.e., in V ), (ii) any of the input
variables are in the model outputs (i.e., in Y ), or (iii) v is not yet
computed by any constraint (i.e., not in V ), there is only one
noncausal constraint involving v remaining, and v is not the
output in this causality (in this case, v needs to be computed
by some constraint and there is only one option left, so this
constraint must only be in the causality computing v). These
causal assignments are removed. If only one is left, then
we add the output for that causal assignment to V , and add
the constraint’s variables to the queue. The algorithm stops
when causalities can no longer be removed, i.e., there are
not enough restrictions imposed by the current permissible
causalities to reduce AM further.</p>
      <p>Example 6. For the circuit, we assume integral causality, so
all constraints with the state variables are limited to causal
assignments in which the states are computed via integration.
Further, the constraint with uV is also fixed so thatuV is the
independent variable. For any specified outputs,AM is also
1For structural model decomposition, some output variables may
become input variables and so the causal assignments permitting
that must be retained. Therefore, the algorithm only reduces the
permissible set of causal assignments for a given set of outputs
Y ⊆ YM.
Algorithm 1 AM</p>
      <p>← ReduceCausality(M, AM, Y )
1: Cinvariant ← ∅
2: Cvariant ← ∅
3: for all δ ∈ M do
4: if |Cδ| = 1 then
5: Cinvariant ← Cinvariant ∪ Cδ1</p>
      <sec id="sec-4-1">
        <title>6: else</title>
        <p>7:
reduced so that they can appear only as dependent variables.</p>
        <p>
          With AM defined, we can perform causality assignment
for a given mode, m. Because AM was reduced as much as
possible, causality assignment (and, later, reassignment) will
be more efficient than otherwise. Algorithm 2 describes the
causality assignment process for a model given a mode. Here,
the model is assumed to not have an initial causal
assignment. Causal assignment works by propagating causal
restrictions throughout the model. The process starts at inputs,
which must always be independent variables in constraints;
outputs, which must always be the dependent variables in
constraints; and variables for involved in fixed causality
constraints. From these variables, we should be able to propagate
throughout the model and compute a valid causal assignment
for the model in the given mode. For the purposes of this
paper, we assume integral causality and that the model
possesses no algebraic loops.2 In this case, there is only one
valid causal assignment (this is a familiar concept within
bond graphs) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>Specifically, the algorithm works as follows. Similar to
Algorithm 1, we keep a queue of variables to propagate
causality restrictions, Q, and a set of variables that are
computed in the current causality, V . Initially, V is set to U and
Θ, because these variables are not to be computed by any
constraint. Q is set to U , Θ, and Y , since the causality of
2If algebraic loops exist, the algorithm will terminate before all
constraints have been assigned a causality. Extending the algorithm
to handle algebraic loops is similar to that for bond graphs; a
constraint without a causality assignment is assigned one arbitrarily,
and then effects of this assignment are propagated until nothing
more is forced. This process repeats until all constraints have been
assigned causality.</p>
        <p>Algorithm 2 A ← AssignCausality(M, m, A)
1: A ← ∅
2: V ← UM ∪ ΘM
3: Q
4: for ←all UcM∈ C∪MΘmMd∪o YM
5: if |Ac| = 1 then
6: (c, v) ← Ac(1)
7: Q ← Q ∪ v
8: while |Q| &gt; 0 do
9: v ← pop(Q)
10: for all c ∈ CMm (v) do
11: if c ∈/ {c : (c, v) ∈ A} then
12: α∗ ← ∅
13: for all α ∈ Ac do
14: if Vc − {vα∗ } ∪ V 6= ∅ then
15: α∗ ← α
16: else if αv ∈ Y then
17: α∗ ← α
18: else if vα∗ = v and |CMm (v)|−|{c0 : (c0, v0) ∈ A∧v ∈
vc}| = 1 then
19: α∗ ← α
20: if α∗ 6= ∅ then
21: A ← A ∪ {α∗}
22: Q ← Q ∪ (Vc − V )
23: V ← V ∪ {vα∗ }
constraints is restricted to U and Θ variables being
independent variables and Y variables being dependent variables.
We add also to Q any variables involved in constraints that
have only one permissible causal assignment, because this
will also restrict other causal assignments. The set of causal
assignments is maintained in A.</p>
        <p>
          The algorithm goes through the queue, inspecting
variables. For a given variable, we obtain all constraints it is
involved in, and for each one that does not yet have a causal
assignment (in A), we go through all permissible causal
assignments, and determine if the causality is forced into one
particular causal assignment, α∗. If so, we assign that
causality and propagate by adding the involved variables to the
queue. A causal assignment α = (c, v) is forced in one of
three cases: (i) v is in Y , (ii) all variables other than v of the
constraint are already in V , and (iii) v is not yet in V , and
all but one of the constraints involving v have an assigned
causality, in which case no constraint is computing v and
there is only one remaining constraint that must compute v.
Example 7. Consider the mode m = [
          <xref ref-type="bibr" rid="ref12">1 2</xref>
          ]. Here, A[
          <xref ref-type="bibr" rid="ref12">1 2</xref>
          ]
is given in column 4 of Table 1, denoted by the vout in the
c
causal assignment. In this mode, the first switch is off, so
i1 and i2 act as inputs. Given the integral causality
assumption, a unique causal assignment to the model exists and is
specified in the column.
        </p>
        <p>
          Example 8. Consider the mode m = [
          <xref ref-type="bibr" rid="ref21">2 1</xref>
          ]. Here, A[
          <xref ref-type="bibr" rid="ref21">2 1</xref>
          ]
is given in column 8 of Table 1. In this mode, the second
switch is off, so i9, i10, and i11 act as inputs. Given the
integral causality assumption, a unique causal assignment to
the model exists and is specified in the column. Note that
some causal assignments are in the same as in m = [
          <xref ref-type="bibr" rid="ref12">1 2</xref>
          ],
while others are different. In changing from one mode to
another, an efficient causality reassignment should be able
to determine which constraints need to change causality, and
do the work for only that portion of the model.3 Causal
assignments that do not change from mode to mode are in
fixed causality and found by Algorithm 1.
        </p>
        <p>3Note that this particular circuit was carefully chosen so that
causality does propagate across much of the circuit, in order to
demonstrate the causality reassignment algorithm.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Structural Model Decomposition</title>
      <p>
        For a given causal model in a given mode, we have the
equivalent of a continuous systems model for the purpose of
structural model decomposition, and we can compute
minimal submodels using the GenerateSubmodel algorithm
described in our previous work [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The algorithm finds
a submodel, which computes a set of local outputs given a
set of local inputs, by searching over the causal model. It
starts at the local inputs, and propagates backwards through
the causal constraints, finding which constraints and
variables must be included in the submodel. When possible,
causal constraints are inverted in order to take advantage of
local inputs. Additional information and the pseudocode are
provided in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>In the context of residual generation, we set the local
output set to a single measured value, and the local inputs
to all other measured values and the (known) system inputs.
That is, we exploit the analytical redundancy provided by
the sensors in order to find minimal submodels to compute
estimated values of sensor outputs. In this framework, we
consider one submodel per sensor, each producing estimated
values for that sensor.</p>
      <p>Assuming that the set of sensors does not change from
mode to mode, then for a hybrid system we have one
submodel for each sensor.4 However, since the set of
constraints changes from mode to mode, the result of the
GenerateSubmodel algorithm will also change. When a
mode changes, we first reassign causality to the model for the
new mode. Then, we generate new updated submodels for
that mode using GenerateSubmodel. In order to reduce
the work performed by this algorithm when a mode changes,
we use an efficient causality reassignment algorithm. That,
coupled with the reduced set AM, significantly reduces the
work of the algorithm compared to a naive approach, where
the submodels are completely regenerated for a new mode.
Additionally, when the system transitions to a new mode,
the causal assignments for the previous mode can be stored,
so that when the system changes to a mode that has already
been visited, it just takes the causal assignments that were
stored previously. Similarly, submodels generated in
previously visited modes can be saved and reused when the mode
reappears.</p>
      <p>
        Example 9. The causal assignments for the submodels in the
different modes are shown in Table 1. For example, consider
the submodel for i1∗1 in m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ]. Here, i11 is zero, since
Sw2 is off, and therefore we have just two constraints needed
to compute i1∗1. In mode m = [
        <xref ref-type="bibr" rid="ref12">1 2</xref>
        ], i3∗ can be computed
using 16 constraints, where v8∗ is used as a local input to the
submodel.
      </p>
      <p>
        Note that a submodel for an output may have different
states in two different modes (e.g., in moving from m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ]
to m = [
        <xref ref-type="bibr" rid="ref12">1 2</xref>
        ], the i3∗ submodel adds state v6). In order to
continue tracking, new states must be initialized. For the
purposes of this paper, we assume that in any one system mode,
all states are included in at least one submodel.5 Therefore,
4By assuming that the sensor set does not change, we mean
only that sensors are not added/removed to/from the physical
system upon a mode change. They are still allowed to be
connected/disconnected, but still appear in the system model even
when disconnected. For example, if a disconnected sensor outputs
0, then that needs to still be in the model.
      </p>
      <p>5If this is not the case, then a state is not observable in some
←</p>
      <sec id="sec-5-1">
        <title>Algorithm 3 m0</title>
        <p>ReassignCausality(M, m,AAm, A)
a submodel that gets a state added in a new mode can
initialize using the estimated value from another submodel in the
previous mode.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Online Causality Reassignment</title>
      <p>
        As we mentioned before, from the initial mode in the system
with a valid set of causal assignments, we compute minimal
submodels. However, when the system transitions to a
different mode, any submodel containing constraints of a
switching component will no longer be consistent, and must be
recomputed. In order to do this, we need to know the causal
assignments for the new mode. We can reassign causality in
an efficient incremental process to avoid having to reassign
causality to the whole model, as causal changes typically
propagate only to a small local area in the model [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Algorithm 3 presents the causality reassignment procedure.
The main ideas are based on the hybrid sequential causality
assignment procedure (HSCAP) developed for hybrid bond
graphs in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In our more general modeling framework,
we find that similar ideas apply. Essentially, we start with a
causal model in a given mode. We then switch to a different
mode, so for the switching components we have a new set of
constraints in the model. We need to find causal assignments
for these constraints. It is likely that some of the necessary
causal assignments will conflict with causal assignments
from the old mode, therefore, we have to resolve the conflict
and propagate the change. The change will propagate only as
far as it needs to in order to obtain a valid causal assignment
for the model in the new mode. Here, propagation stops
along a computational path when a new causal assignment
does not conflict with a previous assignment.
mode. Estimation techniques to handle that situation are outside
the scope of this paper.
      </p>
      <p>10
8
6
)
A
∗i(3 4
2
0
2
0
0
)-2
V
∗ (8
v-4
-6
-8</p>
      <p>0
2
0
)
A
(-2
∗i11
-4
-6
5
5
10
10</p>
      <p>15</p>
      <p>Time (s)
(a) i3∗.</p>
      <p>15</p>
      <p>Time (s)
(b) v8∗</p>
      <p>15</p>
      <p>Time (s)
(c) i1∗1
The algorithm works similarly to Algorithm 2. It maintains
a queue of variables to inspect and a set V of variables
that are known to be computed in the causality for the new
mode (so includes only variables from new assignments
or confirmed assignments made in the new mode). In this
case, we initialize the queue only to variables involved in the
constraints of the switching components. If no components
are switching, the queue will be empty and no work will be
done. The main idea is that the required causal changes from
the variables placed in the queue will, on average, be limited
to a very small area. The causal assignments for the new
mode are initialized to those for the previous mode, for any
constraints that still exist in the new mode. Some of these
may conflict with the new mode and will be removed and
replaced with different assignments.</p>
      <p>As in all the other causality algorithms, we go through
the queue and propagate the restrictions we find on causality.
We pop a variable off the queue, and look at all involved
constraints. If the constraint is not causal, then we need
to assign causality. We do the same analysis as before to
find if a causality is forced, but checking things only with
respect to V that includes only variables with confirmed
causal assignments computing it in the new mode. If we find
a constraint that is forced into a particular causal assignment
for the new mode, we make the assignment. If it conflicts
with one already in the set of causal assignments (copied
from the old mode), then we remove the old assignment and
add the new one, adding the involved variables to the queue
so that changes are propagated.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Demonstration of Approach</title>
      <p>
        For the circuit example, we consider two modes: one where
Sw1 is on and Sw2 is off (i.e., m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ]), and one where
Sw1 is off and Sw2 is on (i.e., m = [
        <xref ref-type="bibr" rid="ref12">1 2</xref>
        ]). We consider
a scenario in which to demonstrate the approach where the
system starts in m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ], switches to m = [
        <xref ref-type="bibr" rid="ref12">1 2</xref>
        ] at t = 10 s,
and switches back to m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ] at t = 20 s. Additionally, at
t = 15 s, a fault is injected, specifically, an increase inR1.
      </p>
      <p>
        Fig. 2 shows the measured and submodel-estimated values
for the sensors. Up through the first mode change, the outputs
are correctly tracked by the submodels. At the first mode
change at 10 s, the submodels reconfigure and track correctly
up to 15 s, when the fault is injected, and a discrepancy
is observed in the i3∗ submodel. Specifically, the current
increases above what is expected. The other submodels in
this mode are independent of the fault, and so continue to
track correctly. When the second mode change occurs, i1∗1
can still be tracked correctly, since its estimation remains
independent of the fault. However, we now see a discrepancy
in v8∗, as the measurement increases above what is expected.
This transient occurs because we switch from a mode in
which the submodel is independent of the fault to one where
it is dependent on the fault. Fault isolation can be performed
by using the information that in m = [
        <xref ref-type="bibr" rid="ref12">1 2</xref>
        ], an increase in
R1 would produce an increase in the residual for i∗, and
3
in m = [
        <xref ref-type="bibr" rid="ref21">2 1</xref>
        ], it would produce an increase also in the v8∗
residual.
8
      </p>
    </sec>
    <sec id="sec-8">
      <title>Related Work</title>
      <p>Modeling and diagnosis for hybrid systems have been an
important focus of study for researchers from both the FDI and
DX communities during the last 15 years. In the FDI
community, several hybrid system diagnosis approaches have been
Measured
Estimated
Measured
Estimated
Measured</p>
      <p>Estimated
20
25</p>
      <p>
        30
20
25
30
0
5
10
20
25
30
developed. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], parameterized ARRs are used. However,
the approach is not suitable for systems with high
nonlinearities or a large set of modes. A different approach [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], but
uses purely discrete models.
      </p>
      <p>
        In the DX community, some approaches have used
different kind of automata to model the complete set of modes and
transitions between them. In those cases, the main research
topic has been hybrid system state estimation, which has has
been done using probabilistic (e.g., some kind of filter [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
or hybrid automata [4]) or set-theoric approaches [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Another solution has been to use an automaton to track the
system mode, and then use a different technique to diagnose
the continuous behavior (for example, using a set of ARRs
for each mode [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], or parameterized ARRs for the complete
set of modes [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]). Nevertheless, one of the main difficulties
regarding state estimation using these techniques is the need
to pre-enumerate the set of possible system-level modes and
mode transitions, which is difficult for complex systems. We
avoid this problem by using a compositional approach.
      </p>
      <p>
        Regarding hybrid systems modeling, there are several
proposals. For HBGs [
        <xref ref-type="bibr" rid="ref18 ref8">8, 18</xref>
        ], there are two main
approaches: those that use switching elements with fixed
causality [
        <xref ref-type="bibr" rid="ref18 ref19 ref20">18–20</xref>
        ], and those who use ideal switching elements that
change causality [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The advantages of the latter are that the
modeling of hybrid systems is done through a special kind of
hybrid component (which avoid the mode pre-enumeration in
the system), and also changes are handled in a very efficient
way [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Finally, in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] the HBGs are used to compute
minimal submodels (Hybrid Possible Conflicts, HPCs)
similar to the minimal submodels presented in this paper. HPCs
can track hybrid systems behavior, efficiently changing
online for each mode the PC simulation model, by using block
diagrams as in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and performing diagnosis without
preenumerating the set of modes in the system. However, HPCs
rely on HBG modeling and do not provide a generalized
framework for hybrid systems.
9
      </p>
    </sec>
    <sec id="sec-9">
      <title>Conclusions</title>
      <p>
        In this work, we have developed a compositional modeling
framework for hybrid systems. Using computational
causality, we developed efficient causality assignment algorithms.
Given this causal information, submodels computed using
structural model decomposition can be computed and
reconfigured efficiently. The approach was demonstrated with a
circuit system. In future work, we will further develop the
hybrid systems diagnosis approach for the single and
multiple fault cases, and we will approach the diagnosis task in
a distributed manner. The assumption of one submodel per
sensor can also be dropped, using the extended framework
developed in [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ].
      </p>
    </sec>
    <sec id="sec-10">
      <title>Acknowledgments</title>
      <p>This work has been funded by the Spanish MINECO
DPI2013-45414-R grant and the NASA SMART-NAS
project in the Airspace Operations and Safety Program of
the Aeronautics Mission Directorate.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <source>The theory of hybrid automata</source>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Rienmüller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bayoudh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.W.</given-names>
            <surname>Hofbaur</surname>
          </string-name>
          , and L.
          <string-name>
            <surname>Travé-Massuyès</surname>
          </string-name>
          .
          <article-title>Hybrid Estimation through Synergic Mode-Set Focusing</article-title>
          .
          <source>In 7th IFAC Symposium on Fault Detection, Supervision and Safety of Technical Processes</source>
          , pages
          <fpage>1480</fpage>
          -
          <lpage>1485</lpage>
          , Barcelona, Spain,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bayoudh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Travé-Massuyès</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Olive</surname>
          </string-name>
          .
          <article-title>Coupling continuous and discrete event system techniques for hybrid system diagnosability analysis</article-title>
          .
          <source>In 18th European Conf. on Artificial Intel.</source>
          , pages
          <fpage>219</fpage>
          -
          <lpage>223</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>M.W.</given-names>
            <surname>Hofbaur</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.C.</given-names>
            <surname>Williams</surname>
          </string-name>
          .
          <article-title>Hybrid estimation of complex systems</article-title>
          .
          <source>IEEE Trans. on Sys., Man, and Cyber</source>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>B</given-names>
          </string-name>
          : Cyber.,
          <volume>34</volume>
          (
          <issue>5</issue>
          ):
          <fpage>2178</fpage>
          -
          <lpage>2191</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Benazera</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Travé-Massuyès</surname>
          </string-name>
          .
          <article-title>Set-theoretic estimation of hybrid system configurations</article-title>
          .
          <source>Trans. Sys. Man Cyber. Part B</source>
          ,
          <volume>39</volume>
          :
          <fpage>1277</fpage>
          -
          <lpage>1291</lpage>
          ,
          <year>October 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Narasimhan</surname>
          </string-name>
          and
          <string-name>
            <surname>L. Brownston.</surname>
          </string-name>
          <article-title>HyDE: A General Framework for Stochastic and Hybrid Model-based Diagnosis</article-title>
          .
          <source>In Proc. of the 18th Int. WS. on Principles of Diagnosis</source>
          , pages
          <fpage>186</fpage>
          -
          <lpage>193</lpage>
          , May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Trave-Massuyes</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Pons</surname>
          </string-name>
          .
          <article-title>Causal ordering for multiple mode systems</article-title>
          .
          <source>In Proceedings of the Eleventh International Workshop on Qualitative Reasoning</source>
          , pages
          <fpage>203</fpage>
          -
          <lpage>214</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.J.</given-names>
            <surname>Mosterman</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Biswas</surname>
          </string-name>
          .
          <article-title>A comprehensive methodology for building hybrid models of physical systems</article-title>
          .
          <source>Artificial Intel.</source>
          ,
          <volume>121</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>171</fpage>
          -
          <lpage>209</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Narasimhan</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Biswas</surname>
          </string-name>
          .
          <article-title>Model-Based Diagnosis of Hybrid Systems</article-title>
          .
          <source>IEEE Trans. Syst. Man. Cy. Part A</source>
          ,
          <volume>37</volume>
          (
          <issue>3</issue>
          ):
          <fpage>348</fpage>
          -
          <lpage>361</lpage>
          , May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bregon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Alonso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Biswas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pulido</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Moya</surname>
          </string-name>
          .
          <article-title>Hybrid systems fault diagnosis with possible conflicts</article-title>
          .
          <source>In Proceedings of the 22nd International Workshop on Principles of Diagnosis</source>
          , pages
          <fpage>195</fpage>
          -
          <lpage>202</lpage>
          , Murnau, Germany,
          <year>October 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>I.</given-names>
            <surname>Roychoudhury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daigle</surname>
          </string-name>
          , G. Biswas, and
          <string-name>
            <given-names>X.</given-names>
            <surname>Koutsoukos</surname>
          </string-name>
          .
          <article-title>Efficient simulation of hybrid systems: A hybrid bond graph approach</article-title>
          .
          <source>SIMULATION: Transactions of the Society for Modeling and Simulation International</source>
          ,
          <volume>87</volume>
          (
          <issue>6</issue>
          ):
          <fpage>467</fpage>
          -
          <lpage>498</lpage>
          ,
          <year>June 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>I.</given-names>
            <surname>Roychoudhury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daigle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bregon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Pulido</surname>
          </string-name>
          .
          <article-title>A structural model decomposition framework for systems health management</article-title>
          .
          <source>In Proceedings of the 2013 IEEE Aerospace Conference</source>
          ,
          <year>March 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Karnopp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Margolis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Rosenberg</surname>
          </string-name>
          .
          <source>Systems Dynamics: Modeling and Simulation of Mechatronic Systems</source>
          . John Wiley &amp; Sons, Inc., NY,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>V.</given-names>
            <surname>Cocquempot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. El</given-names>
            <surname>Mezyani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Staroswiecki</surname>
          </string-name>
          .
          <article-title>Fault detection and isolation for hybrid systems using structured parity residuals</article-title>
          .
          <source>In 5th Asian Control Conference</source>
          , volume
          <volume>2</volume>
          , pages
          <fpage>1204</fpage>
          -
          <lpage>1212</lpage>
          ,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lunze</surname>
          </string-name>
          .
          <article-title>Diagnosis of quantised systems by means of timed discrete-event representations</article-title>
          .
          <source>In Proceedings of the Third International Workshop on Hybrid Systems: Computation and Control</source>
          ,
          <source>HSCC '00</source>
          , pages
          <fpage>258</fpage>
          -
          <lpage>271</lpage>
          , London, UK,
          <year>2000</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>X.</given-names>
            <surname>Koutsoukos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kurien</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <article-title>Estimation of distributed hybrid systems using particle filtering methods</article-title>
          .
          <source>In In Hybrid Systems: Computation and Control (HSCC</source>
          <year>2003</year>
          ).
          <source>Springer Verlag Lecture Notes on Computer Science</source>
          , pages
          <fpage>298</fpage>
          -
          <lpage>313</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bayoudh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Travé-Massuyès</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Olive</surname>
          </string-name>
          .
          <article-title>Diagnosis of a Class of Non Linear Hybrid Systems by On-line Instantiation of Parameterized Analytical Redundancy Relations</article-title>
          .
          <source>In 20th International Workshop on Principles of Diagnosis</source>
          , pages
          <fpage>283</fpage>
          -
          <lpage>289</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>W.</given-names>
            <surname>Borutzky</surname>
          </string-name>
          .
          <article-title>Representing discontinuities by means of sinks of fixed causality</article-title>
          . In F.E. Cellier and
          <string-name>
            <surname>J.J</surname>
          </string-name>
          . Granda, editors,
          <source>Proc. of the Int. Conf. on Bond Graph Modeling</source>
          , pages
          <fpage>65</fpage>
          -
          <lpage>72</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Delgado</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Sira-Ramirez</surname>
          </string-name>
          .
          <article-title>Modeling and simulation of switch regulated dc-to-dc power converters of the boost type</article-title>
          .
          <source>In IEEE Int. Conf. on Devices, Circuits and Systems</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>88</lpage>
          ,
          <year>December 1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P.J.</given-names>
            <surname>Gawthrop</surname>
          </string-name>
          .
          <article-title>Hybrid Bond Graphs Using Switched I and C Components</article-title>
          .
          <source>CSC report 97005, Centre for Sys. and Control</source>
          , Faculty of Eng.,
          <string-name>
            <surname>Glasgow</surname>
          </string-name>
          , U.K.,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bregon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daigle</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Roychoudhury.</surname>
          </string-name>
          <article-title>An integrated framework for distributed diagnosis of process and sensor faults</article-title>
          .
          <source>In 2015 IEEE Aerospace Conf.</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Daigle</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Roychoudhury, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bregon</surname>
          </string-name>
          .
          <article-title>Diagnosability-based sensor placement through structural model decomposition</article-title>
          .
          <source>In Second Euro. Conf. of the PHM Society</source>
          <year>2014</year>
          , pages
          <fpage>33</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>