-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnotation.tex
258 lines (245 loc) · 10 KB
/
notation.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
\section{Concepts and Definitions}\label{sec:concepts}
%
All concepts, definitions, and algorithms discussed in this article
are illustrated on a commonly used dynamic system consisting of water
tanks that are connected with valves.
%
\subsection{Objective}
We present an approach to automatically compose a global diagnosis model $\Phi$ from a library $\cl$ of different types of sub-models, such that the model maximizes a given scoring function $\Gamma$ over a set $\cal A$ of diagnosis test cases.
We formalise our objective as optimizing a model such that:
\begin{equation}
\phi^{*} = \argmin_{\phi_i \in \mathbf{\Phi}} \Gamma \left( {\cal A}, {\cl}, {\phi_i}),
\right).
\label{obj1}
\end{equation}
where $\mathbf{\Phi}$ is the space of all models composable from $\cl$ according to a model specification denoted by $\Phi$.
In the following, we specify our notions of model library, model specification, and scoring function.
\subsection{Compositional Modeling}
%
We define a component library $\cl = \left\{C_1, C_2, \ldots,
C_n\right\}$ to consist of a set of component types, such that type $C_i$, for $i = \left\{1, 2, \ldots, n\right\}$ is defined as \textit{a set} of models.
For example, in our tank example the types include tank, valve, pipe and sensor types, where
Each type $C_i$
%= \left\{C_{i, 1}, C_{i, 2}, C_{i, 3}\right\}$
contains non-linear, linear, and qualitative models describing the behavior of $C_i$.
\par
A decomposable model can be described using two orthogonal aspects:
\textit{behavior} and \textit{topology} (interaction). The behavior
model describes the (possibly dynamic) behaviors of the system and
components. The topology model describes component connectivity in
terms of components and their connections, and defines the constraints
on component behaviors that enable their interactions to be specified
at the system-level.
\par
The topology of a system is defined as follows.
%
\begin{definition}[Topology]
%
We describe the system topology of a composable system using a graph
$G(V, E)$, where vertices $V$ correspond to components and edges in
$E$ correspond to connections between components.
%
\end{definition}
%
Given the system topology and equations from the component models, we can then specify a system description as follows.
\begin{definition}[System Description]
%
Given a component library \cl, a topology $G(V, E)$, and some law of
composition $\mathcal{L}$, a system description $\sd = \langle\Phi,
\comps, \obs\rangle$ is defined as a set of
equations $\Phi$, a set of component variables $\comps$, and a set of
observable variables $\obs$.
%
\end{definition}
%
Let us continue with some notation and definitions.
%
\subsection{ Model Library Classes}
%
Consider a component library $\cl = \left\{C_1, C_2, \ldots,
C_n\right\}$ where each component $C_i$ for $i = \left\{1, 2, \ldots,
n\right\}$ is defined as \textit{a set} of models. Each set $C_i =
\left\{C_{i, 1}, C_{i, 2}, C_{i, 3}\right\}$ contains either a non-linear,
linear, or qualitative model, which describes the behavior of component $C_i$.
We consider systems that can be described in terms of a set
${\vec{x}}(t)$ of state variables, $\vec{y}(t)$ of observable variables,
and $\vec{u}(t)$ of control variables.
\begin{definition}[Non-Linear Model]
We write the dynamic equations for a model in state-space form using
\begin{eqnarray}\label{eq:nonlinear}
\dot{\vec{x}}(t) & = & \psi (\vec{x}(t)) + \vec{u}(t))\\
\vec{y}(t) & = & \gamma (\vec{x}(t)), \vec{u}(t)),
\end{eqnarray}
where $\psi$ and $\gamma$ are non-linear functions.
\end{definition}
%
In the case of the three-tanks example, the non-linear model of $T_1$
is given by equations (\ref{eq:ode1}) and (\ref{eq:pressure}) and the
models of $T_2$ and $T_3$ are given by equations (\ref{eq:tank1}) and
(\ref{eq:pressure}).
%%%%%%%%%%%%%%%%%%%%%%%%%%
We also include in our model library a class of linear models, which are derived from
the non-linear models via model linearization \cite{spanos1977linearization}, e.g.,
mapping the system behaviour around an equilibrium point \cite{roubal2010linearization}, or replacement of non-linear with linear operators.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\begin{definition}[Linear Model]
We write the linear dynamical equations for a model in state-space form using
\begin{eqnarray}\label{eq:linear}
\dot{\vec{x}}(t) & = & \mathbf{A} \vec{x}(t) + \mathbf{B} \vec{u}(t) + \mathbf{C} \vec{\omega}(t)\\ % + \vec{\omega}(t)\\
\vec{y}(t) & = & \mathbf{D} (\vec{x}(t)),
\end{eqnarray}
where $\mathbf{A}, ~ \mathbf{B},~\mathbf{C}$ and $\mathbf{D}$ are linear matrices, and
$\vec{\omega}(t)$ is a fault vector.
\end{definition}
%
For the linear three-tank model we replace the non-linear sub-function
$\sqrt{h_{i - 1} - h_i}$ with the linear sub-function $\gamma_i (h_{i
- 1} - h_i)$, where $\gamma_i$ is a parameter (to be estimated)
governing the flow between tanks $i - 1$ and $i$. We obtain the
following system equations for tanks $T_2$ and $T_3$:
%
\begin{eqnarray}\label{eq:lineartank}
%
\frac{d h_i}{dt} = \frac{k_{i - 1}(h_{i - 1} - h_{i}) - k_i {h_i}}{A_i},
%
\end{eqnarray}
%
\begin{definition}[Qualitative Model]
We write the dynamical equations for a qualitative model in state-space form using
\begin{eqnarray}\label{qual-model}
\dot{\vec{x}}(t) & = & \upsilon (\vec{x}(t)) + \vec{u}(t))\\
\vec{y}(t) & = & \mu (\vec{x}(t)), \vec{u}(t)),
\end{eqnarray}
where $\upsilon$ and $\mu$ are functions from the set of reasonable
functions $f$ such that $f' > 0$ on the interior of its domain
\citep{kuipers1994composition}.
\end{definition}
%
For the qualitative model we replace the non-linear sub-function
$\sqrt{h_{i - 1} - h_i}$ with the qualitative $M^+(h_{i - 1} - h_i)$,
where $M^+$ is the set of reasonable functions $f$ such that $f' > 0$
on the interior of its domain
\citep{kuipers1994composition}.
%
\begin{eqnarray}
%
\frac{d h_i}{dt} = \frac{1}{A_2}\left[\kappa_{1} M^+(h_{i} - h_{i - 1}) - \kappa_2 M^+(h_i)\right]
%
\end{eqnarray}
%
The tank heights are constrained to be non-negative. As a consequence,
we can discretize the $h_i$ to take on values $\{+, 0\}$, which means
that $M^+(h_i)$ can take on values $\{+, 0, -\}$. The domain for
$\frac{d h_1}{dt}$ must be $\{+, 0, -\}$, since $q_0$ is non-negative
and each $M^+(h_i - h_j)$ can take on values $\{+, 0, -\}$.
\subsection{Diagnostic Problem}
This section describes our notion of diagnostics problem.
%
\begin{definition}[Observation]
%
Given a system description \sd, an observation $\tilde\alpha =
\langle\alpha, t_{\mathrm{obs}}\rangle$ is an instantiation of the
variables in \obs at a time instant $t_{\mathrm{obs}}$.
%
\end{definition}
%
One possible observation for our running example is:
$p_1 = 142.4$, $p_2 = 26.8$, and $p_3 = 13$ at $t_{\mathrm{obs}} =
300$.
%
\begin{definition}[Fault Injection]
%
Given a system description \sd, a fault injection $\tilde{\varepsilon}
= \langle\varepsilon, t_{\mathrm{inj}}\rangle$ is an instantiation of
the variables in \comps at a time instant $t_{\mathrm{inj}}$.
%
\end{definition}
%
For the three-tanks example, fault injection values of $R_1 = 0.5$ at
time $t_{\mathrm{inj}} = 250$ would correspond to the first valve
being stuck at $50\%$.
%
\begin{definition}[Diagnosis]\label{def:diagnosis}
%
Given a system description \sd, a diagnosis $\tilde{\omega} =
\langle\omega, t_{\mathrm{diag}}\rangle$ is a probabilistic assignment
of the variables in \comps at a time instant $t_{\mathrm{diag}}$.
%
\end{definition}
%
Continuing with the example, a diagnosis that reflects the given
observation and non-linear model of the three tanks is $\pr(R_1 = 0.5) =
0.931)$ at time $t_{\mathrm{diag}} = 310$ which isolates the fault in
$60$ s with high accuracy.
\par
All the above definitions are used in formulating the main diagnostic
problem for a dynamic system:
%
\begin{definition}[Diagnostic Problem]
%
A diagnostic problem \dproblem is defined as the quadruple $\dproblem
= \langle\sd, \tilde{\alpha}, \tilde{\varepsilon},
\tilde{\omega}\rangle$.
%
\end{definition}
%
Before we can solve diagnostic or inverse diagnostic
problems, we need a method for evaluating the performance of a
diagnostic algorithm.
%
\subsection{Diagnostic Performance Metrics}
%
Unlike other AI disciplines, in MBD there are multiple factors that
should be considered when applying performance metrics to real-world
systems.
We define a metric vector $\Gamma = \{\gamma_1,...,\gamma_m\}$ to
represent the set of relevant metrics.
The most important computational metric is the number of
diagnostic errors, which is dual to the isolation accuracy
\citep{feldman10empirical}.
%
\begin{definition}[Diagnostic Errors]
%
Given a diagnostic problem \dproblem the diagnostic errors metric
$M_{\mathrm{err}}$ is defined as:
%
\begin{eqnarray}
%
\gamma_1 = M_{\mathrm{err}} = \sum_{c \in \comps}{\left|\pr(\omega_c \ne \ok) - \inj(\varepsilon_c)\right|}
%
\end{eqnarray}
%
\end{definition}
%
The second most important metric for a dynamic system is the time
between a fault is injected and when the algorithm detects a fault.
%
\begin{definition}[Isolation Time]
%
Given a diagnostic problem \dproblem the isolation time metric
$M_{\mathrm{iso}}$ is defined as:
%
\begin{eqnarray}
%
\gamma_2 = M_{\mathrm{iso}} = t_{\mathrm{diag}} - t_{\mathrm{inj}}
%
\end{eqnarray}
%
\end{definition}
%
Diagnostic algorithms are typically given a system model \sd and a set
of test cases $\mathcal{A} = \left\{\langle\tilde\alpha_1,
\tilde\varepsilon_1\rangle, \langle\tilde\alpha_2,
\tilde\varepsilon_2\rangle, \cdots, \langle\tilde\alpha_n,
\tilde\varepsilon_n\rangle\right\}$. The main goal of these diagnostic
algorithms is to optimize a superposition of the diagnostic
metrics. Each diagnostic metric is weighted with a domain specific
coefficient (these are $g_1=g_{\mathrm{err}}$, and $g_2=g_{\mathrm{iso}}$,
respectively, in the the cases of $\gamma_1=M_{\mathrm{err}}$, and
$\gamma_2=M_{\mathrm{iso}}$). In this article, however, we solve an orthogonal
problem: given a diagnostic algorithm, a component library and a set
of test cases $\mathcal{A}$, compute a model composition \sd such that
$g_{1} \gamma_1 + g_{2} \gamma_2$
%$g_{\mathrm{err}}M_{\mathrm{err}} + g_{\mathrm{iso}}M_{\mathrm{iso}}$
is minimized.