<!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>
      <journal-title-group>
        <journal-title>Z. I. Botev, J. F. Grotowski, and D. P. Kroese. Kernel
density estimation via diffusion. Annals of Statistics</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>On the Learning of Timing Behavior for Anomaly Detection in Cyber-Physical Production Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander Maier</string-name>
          <email>alexander.maier@iosb-ina.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Niggemann</string-name>
          <email>oliver.niggemann@hs-owl.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jens Eickmeyer</string-name>
          <email>jens.eickmeyer@iosb-ina.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fraunhofer Application Center Industrial Automation IOSB-INA</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>inIT - Institute Industrial IT</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1994</year>
      </pub-date>
      <volume>38</volume>
      <issue>5</issue>
      <fpage>139</fpage>
      <lpage>152</lpage>
      <abstract>
        <p>Model-based anomaly detection approaches by now have established themselves in the field of engineering sciences. Algorithms from the field of artificial intelligence and machine learning are used to identify a model automatically based on observations. Many algorithms have been developed to manage different tasks such as monitoring and diagnosis. However, the usage of the factor of time in modeling formalisms has not yet been duly investigated, though many systems are dependent on time. In this paper, we evaluate the requirements of the factor of time on the modeling formalisms and the suitability for automatic identification. Based on these features, which classify the timing modeling formalisms, we classify the formalisms concerning their suitability for automatic identification and the use of the identified models for the diagnosis in Cyber-Physical Production Systems (CPPS). We argue the reasons for choosing timed automata for this task and propose a new timing learning method, which differs from existing approaches and we proof the enhanced calculation runtime. The presentation of a use case in a real plant set up completes this paper.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Many learning algorithms have been developed for the
identification of behavior models of CPPS, e.g. [1], [2], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
However, most of the learning algorithms do not include
timing information, not least because the modeling
formalisms do not consider timing information.
      </p>
      <p>Indeed, technical systems mostly depend on time, e.g. the
filling of a bottle or the moving of a part on a conveyor belt.
Therefore, many applications (such as the anomaly
detection) require a model with timing information. Some faults
only can be detected using timing information (especially
degradation faults, e.g. a worn conveyor belt runs slower).</p>
      <p>In this paper, we use the term "Cyber-Physical Systems
(CPS)" for "systems that associate (real) objects and
processes with information processing (virtual) objects and
processes through open, partly global, anytime interconnected
information networks". Further, a CPPS is a CPS in the
context of an industrial production environment.</p>
      <p>In this paper, we give a taxonomy of modeling
formalisms. These formalisms are evaluated according to
specific features. The taxonomy is then used to evaluate
whether the models can be identified automatically and used
for anomaly detection.</p>
      <p>Based on this evaluation, we present a timing learning
method, which is used to learn the timing behavior as timed
automaton. In contrast to other approaches, we use the
underlying timing distribution function to differentiate
between transitions with equal events which belong to
different processes.</p>
      <p>By calculating the computation runtime, we prove that
our approach runs faster than other existing methods for
timed automaton learning.</p>
      <p>The presented learning method is used in an exemplary
plant setup to demonstrate the suitability for anomaly
detection in CPPS.</p>
      <p>The paper is organized as follows: In Section 2 we
evaluate some timing learning features and give a taxonomy
of how these features are met by three categories of
timing modeling formalisms, namely (i) Dynamic system
models, (ii) Operational formalisms and (iii) Descriptive
formalisms. In Section 3, we argue why we use timed automata
as formalism, point out some challenges in timed automaton
learning and present our timing learning approach. Further,
we prove formally the enhancement of the calculation
runtime of our approach. Section 4 completes the contribution
with the presentation of a use case in a real plant. Finally
in Section 5, we conclude this paper with a short discussion
and give an outlook to future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Classification of Timing Learning Features and Algorithms</title>
      <p>The modeling of time for computation purpose is a widely
researched area (e.g. in [4], [5] and [6]). Many formalisms
have been created to model different aspects of timing
behavior. In this paper, some aspects are analyzed which have
to be considered when choosing an appropriate timing
modeling formalism. Based on this analysis, some modeling
formalisms are evaluated according to their capabilities to
model the timing behavior. One of those formalisms is
chosen that is well suited for the anomaly detection in CPPS.</p>
      <p>To keep the application domain in mind, a special
focus is on modeling and identification of the timing behavior
of CPPS. Additionally, the suitability of the modeling
formalisms according to automatic learnability from
observations only and the suitability for anomaly detection is
evaluated.
2.1</p>
      <sec id="sec-2-1">
        <title>Evaluation of Timing Modeling Features</title>
        <p>Before choosing an appropriate timing modeling formalism
some key issues have to be considered, which are listed
below. Some of that and additional features are given in
[5] where the authors provide a comprehensive analysis on
timing modeling features and corresponding modeling
formalisms is given.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Discrete or dense time domain</title>
        <p>The separation of formalisms concerning the usage of
discrete and dense time domains is a first natural
categorization. Discrete time models comprise a set of isolated points,
whereas dense time means that in a dense set, ordered by
"&lt;", for every 2 points t1 and t2 with t1 &lt; t2 there is always
a third point t3 in between, such that t1 &lt; t3 &lt; t2.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Explicit or implicit modeling of time</title>
        <p>Another major distinctive feature is the possibility of
implicit and explicit modeling of time. Model formalisms with
explicit time allow the modeling of concrete time values for
some specific event, e.g. "if the sensor is activated, start
the conveyor belt within two seconds". Implicit modeling
of time only gives information about the time duration as a
whole.</p>
      </sec>
      <sec id="sec-2-4">
        <title>One clock or many clocks</title>
        <p>Furthermore, time model formalisms can be
differentiated according to their number of used clocks. When
dealing with independent modules within a system, the question
arises whether to use one or many clocks. The usage of
many clocks leads to the need of clock synchronization in
the simulation step, whereas the usage of one clock only
requires a transformation from an n-clock model to a 1-clock
model.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Concurrency and composition</title>
        <p>Most real systems are too complex to model them in one
overall model. The behavior has to be divided into several
subsystems, so that the overall model is a composition of its
sub-models. For finite state machines, the number of states
reduces enormously if the system is decomposed into
subsystems. This is also referred to as modularization.</p>
        <p>The decomposition is a less mature process. Difficulties
can arise in the synchronization step. Mostly, the separated
models of subsystems have equal or identical properties.
Furthermore, the time bases can be different between the
modules, discrete or continuous, or the time base is implicit
for one module and explicit for another.</p>
      </sec>
      <sec id="sec-2-6">
        <title>Single-mode and multiple-modes</title>
        <p>The distinction between models, which can only cope
with single-modes and models that additionally can deal
with multiple-modes, goes a step deeper than concurrency
and decomposition. A system may, at some point in time,
abruptly change its behavior. In technical systems, this
happens for reasons such as shifting a gear or stopping a
conveyor belt. All state based models (e.g. statecharts, Petri
nets or finite state machines) are able to describe
multiplemode systems, where equation based formalisms (e.g.
ordinary differential equation) can only describe the behavior of
single-mode systems.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Linear- and branching-time models</title>
        <p>A difference can also be made between linear and
branching time models [7]. Linear-time formalisms are interpreted
over linear sequences of states. Each description refers to
(a set of) linear behaviors, where the future behavior from a
given state at a given time is always identical.
Branchingtime formalisms are interpreted over trees of states. That
means, in contrast to linear-time models, the future behavior
of a given state at a given time can follow different behavior
according to the tree.</p>
        <p>A linear behavior can be regarded as a special case of
a tree. Conversely, a tree can be treated as a set of linear
behaviors that share common prefixes (i.e., that are
prefixclosed); this notion is captured formally by the notion of
fusion closure [8]. Thus, linear and branching models can
be put on a common ground and compared.
2.2</p>
      </sec>
      <sec id="sec-2-8">
        <title>Taxonomy of Timing Modeling Formalisms</title>
        <p>Mainly, the timing modeling formalisms can be subdivided
into three categories: (i) Dynamic system models, (ii)
Operational formalisms and (iii) Descriptive formalisms:</p>
      </sec>
      <sec id="sec-2-9">
        <title>Dynamic system models</title>
        <p>In various engineering disciplines (like mechanical or
electrical) and especially in control engineering, the
socalled state-space representation is a common way to model
the timing behavior of technical systems [9].</p>
        <p>Three key elements are essential for the state-based
representation: The vector x with the state variables, the vector
u with the input variables and the vector y with the output
variables. All these values explicitly depend on the time at
which they are evaluated (usually represented as x(t), u(t),
and y(t)), however, the timing information is not explicitly
described in the form as "the filling of the bottle takes five
second" i.e. it uses implicit timing.</p>
        <p>
          The main advantage of dynamical system models is that
very detailed physical models can be created using
established mathematical methods. But this also can turn into a
disadvantage. For many purposes, the models are too
detailed, i.e. they are unsuitable for high-level description,
since some expert knowledge is required to read and
understand the models. As proposed in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], dynamical systems
can be used for the diagnosis of distributed systems.
        </p>
        <p>Various methods exist to identify dynamic system
models. These methods are grouped under the term model
identification (sometimes the term "system identification" is also
used), although, the model is not identified completely, but
a structure model is presumed and the identification
methods only determine the parameters. So, still some expert
knowledge is necessary and manual work has to be done.
In [6], Isermann describes some methods, e.g by means of
parameter estimation. The states itself are not identified.</p>
        <p>
          Dynamic system models also can be used for fault
detection (e.g. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]). The model-based fault detection uses
the inputs u and the outputs y to generate residuals r, the
parameter estimates Φ or state estimates x, that are called
features. A comparison of these features with the nominal
values (normal behavior) detects changes of features, which
lead to analytical symptoms s. The symptoms are then used
to determine the faults.
        </p>
        <p>Despite their suitability for the modeling of timing
behavior, dynamic system models can hardly be learned
automatically based on observations only, since the structure of
the model has be given and mostly only the parameters are
identified.</p>
      </sec>
      <sec id="sec-2-10">
        <title>Operational Formalisms</title>
        <p>Operational formalisms further can be subdivided into (i)
synchronous state machines and (ii) asynchronous abstract
machines:</p>
        <sec id="sec-2-10-1">
          <title>Synchronous state machines:</title>
          <p>
            A large variety of synchronous state machines exists:
finite state machine, statecharts, timed automaton, hybrid
automaton, Büchi automaton, Muller automaton, and others
(see [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ]). Here, we confine our self to finite state machines
and timed automata, the timing extension of finite state
machines.
          </p>
          <p>The main strength and the reason for the wide usage of
finite state machines is their accessibility for humans and
their simplicity. Often, processes or timing behavior are
described by a sequence of events. In fact, technical
systems are often programmed in state machines, e.g. using
the standardized programming language from IEC 61131.
Therefore, modeling the timing behavior of such technical
systems, in the sense of finite state machines or timed
automata, is consequential.</p>
          <p>
            Some algorithms already exist to identify timed automata
from observations (e.g. in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] , [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ], [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ], [1]). Most
automata identification algorithms are based on the state
merging method. The basic procedure is illustrated in
Figure 1. It works as follows:
          </p>
          <p>Data
Acquisition</p>
          <p>1
State
Merging
3</p>
          <p>Data
Measurements
2</p>
          <p>Prefix</p>
          <p>Detection</p>
          <p>Finite
Automaton</p>
          <p>Prefix Tree
Acceptor</p>
          <p>
            First, in step (1), the data is acquired from the system
and stored into a database. In step (2), the observations are
used to create a prefix tree acceptor (PTA) in a dense form,
whereas equal prefixes are stored only once. Then, in step
(3), in an iterative manner all pairs of states are checked for
compatibility. If a compatible pair of states is found, the
states are merged. In [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ], additionally a transition
splitting operation is introduced, which is executed when the
resulting subtrees are different enough. The result is a
finite automaton the generalizes the observed behavior in an
appropriate way.
          </p>
          <p>
            Finite state machines can also be used for fault
detection and diagnosis (e.g. in [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ], [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ], [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]). Depending on
the used formalism, different errors can be detected: wrong
event sequence, improper event, timing deviation and error
in continuous signals.
          </p>
        </sec>
        <sec id="sec-2-10-2">
          <title>Asynchronous abstract machines:</title>
          <p>Beside the finite state machines, which work
synchronously, there exist formalisms that work
asynchronously, called the asynchronous abstract machines. The
most popular formalism in this group is Petri nets.</p>
          <p>
            Petri nets are named according to Carl Adam Petri, who
initially developed this modeling formalism [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ]. A
variety of Petri nets exists [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ]. The most common type is
place/transition-nets. It basically consists of states and
transitions. Places store tokens and hand them over to the
transitions. If all incoming places hold at least one token, a
transition is enabled. An enabled transition will be fired.
After firing the transition, tokens from incoming transitions
are moved to outgoing transitions.
          </p>
          <p>
            Petri nets also have been extended to handle timing
information. Merlin and Farber proposed the first Timed Petri net
in [
            <xref ref-type="bibr" rid="ref22">22</xref>
            ]. Each transition is extended with the minimum and
maximum firing time, where the minimum firing time can
be 0 and the maximum can be ∞. A comprehensive
survey on several timed extensions to Petri nets can be found
in [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ] and [
            <xref ref-type="bibr" rid="ref24">24</xref>
            ].
          </p>
          <p>
            Furthermore, several approaches exist to identify Petri
nets from sampled data. However, some requirements are
put on the language to be identified or some assumptions
are made, e.g. in [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ], Petri nets are identified from
knowledge of their language, where it is assumed that the set of
transitions and the number of places is known. Only the net
structure and the initial marking are identified.
          </p>
          <p>
            Petri nets in general are suited for fault detection
(e.g. in [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ] or [2]). The different types of Petri nets
(mainly condition/event-systems, place/transition-nets and
high-level Petri nets) have different time and space
complexity.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-11">
        <title>Descriptive Formalisms</title>
        <p>
          As the name suggests, descriptive formalisms describe
the model using a natural language, mostly based on
mathematical logic [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. Such formalisms are especially suited if
some conditions have to be described.
        </p>
        <p>Example 1. If it is raining or if it was raining in the last
two hours, then the street is wet.</p>
        <p>Similar rules can also be created for the prediction of
output signals (actuators) based on the inputs (sensors) in
a CPPS.</p>
        <p>As already shown in Example 1, the conditions can also
contain time information.</p>
        <p>
          There exist different types of descriptive formalisms, e.g.
first order logics, temporal logics, explicit-time logics or
algebraic formalisms. Further details can be found in the
literature, e.g. [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
        </p>
        <p>
          Some algorithms exist to identify descriptive models. For
the prediction of the behavior of CPPS, a timed decision
tree can be learned for instance. Examples for such learning
algorithms are ID3 [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], the C4.5 algorithm as extension of
the ID3 algorithm [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] or a generic algorithm for building a
decision tree by Console [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Note that the rule can not always be interpreted
backwards. Using Example 1, a reason for the wet street could
be that somebody has washed his car on the street.
Therefore, descriptive formalisms have a limited suitability for
anomaly detection. The usage of descriptive formalisms for
anomaly detection puts additional requirements on the rules,
they have to be more concrete. Using the given example, it
can be modified as follows:
Example 2. The street is wet if and only if it is raining or it
was raining in the last two hours.</p>
        <p>This rule allows a backward interpretation, if the reason
for the wet street is unknown. However, the meaning of the
rule has now changed. Additionally, these kind of rules is
hardly identifiable from observations only.</p>
      </sec>
      <sec id="sec-2-12">
        <title>Comparison of Modeling Formalisms</title>
        <p>Table 1 shows how the mentioned timing modeling
features are met by the corresponding modeling formalisms.</p>
        <p>It can be seen that operational and descriptive formalisms
allow a similar level of timing modeling, while dynamic
system models differ in nearly all features. In contrast to
the other formalisms, dynamic system models use a dense
time domain, only allow implicit modeling of, time, use one
clock only and can model linear time models.</p>
        <p>Please note the different possibilities to handle
concurrent behavior. Petri nets are the first choice for this task.
Using tokens, concurrent behavior can be modeled in one
model. Timed automata and hidden Markov models (HMM)
are able to decompose the behavior in several subsystems.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Automaton Learning</title>
      <p>The decision of which formalism to use is based on several
factors. These can differ based on the individual use case.
Here, we consider the models to be used for learning and
diagnosis of CPPS.</p>
      <p>Despite there exist several algorithms for the
identification of timed behavior, it can be seen in Table 2 that the
usage of timed automata is a good choice.</p>
      <p>• Understandability: In contrast to many other
automatically identified models, the identified finite state
machines can be better understood by third persons.</p>
      <p>They can be verified by experts.
• Wide usage: Finite state machines are widely used,
e.g. for modeling or programming.
• Learnability: Finite state machines are suitable for
automatic learning. The goal is to use as few expert
knowledge as possible.
• Diagnosability: Finite state machines are suitable for
fault detection. This applies for both, manually created
and automatically identified finite state machines.
• Suitability for verification: The identified finite state
machines can be used for automatic verification.
• Modification: The identified finite state machine can
be manually modified and adapted after learning. This
can also be done automatically.
3.1</p>
      <sec id="sec-3-1">
        <title>Challenges in Automaton Learning</title>
        <p>Some algorithms have already been introduced for the
identification of timed automata, see Section 2.2. However, there
are still some challenges in learning timed automata. This
applies in particular to the time factor.</p>
        <p>• Identification of states and events: The timing
behavior includes not only the time stamps for some
observations, but also some states and transitions with timed
events in between. Many learning algorithms
(especially for learning of Markov chains) assume the states
and transitions as given and only learn the transition
probabilities. Here, the structure (states and events) is
not given but has to be identified from observations.
• Timing representation method: Additionally, an
appropriate timing representation method has to be
chosen, which is able to correctly describe the technical
processes. At the beginning of Section 3.2 we review
some state of the art timing representation methods and
propose our solution.
• Relative or absolute time base: The time base is also
a very important issue. The base can be either absolute
e.g. referred to the beginning of a production cycle or
relative to the last event.
• Number of clocks: Technical systems may be
programmed using a certain number of clocks. These have
to be identified or the behavior has to be expressed
using only one clock.</p>
        <p>
          Timed automata allow both, one and many clocks.
However, in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] Verwer showed that 1-clock timed
automata and n-clock timed automata are
languageequivalent, but in contrast to n-clock timed automata,
1-clock timed automata can be identified efficiently.
• Event splitting: When do events with different timing
belong to the same event, or do they describe different
events? As can be seen in Figure 2, the events can be
split based on the timing, which is based on the
container size: The robot needs more time to move the big
container compared to the small one, this is captured
in the given probability distribution function over time.
More formally: The event’s timing distribution
function can comprise several modes that have to be
identified.
d(t)
d(t)
d(t) probability
        </p>
        <p>t
filRlinogbbootttle
d(t) fillinSgtbaortttle</p>
        <p>timte
filling bottleevent a
place at
position ASmall</p>
        <p>Containers
place at
position A
place
prfoilblinabgibliotyttle tevent aat position B
time
t</p>
        <p>Large
place Containers
at position B</p>
        <p>A
A
B
B</p>
        <p>
          • Event splitting or timing preprocessing:
Continuing from the previous point, additionally the question
arises that whether the modes are identified during the
learning process itself or whether a preprocessing can
be used to identify multiple modes and use this
information in the learning process, avoiding the additional
splitting operation.
Several algorithms have been introduced to learn an
automaton based on observations of the normal behavior only.
While most automaton identification algorithms do not
consider time (e.g. MDI [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] and Alergia [31]), recently only
few algorithms have been introduced that identify a Timed
Automaton. RTI+ [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and BUTLA/HyBUTLA [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] learn
in an offline manner, i.e. first the data is acquired and stored
and then the automaton is learned. However, for the case
that observations cannot be stored, an online learning
algorithm is desirable, which includes each observed event
online, without a preprocessing. OTALA [1] is an extension of
BUTLA and learns a timed automaton in an online manner.
A crucial issue for the modeling formalism of timed
systems is the representation of the timing information.
Usually, timed automata use a single clock only and therefore a
relative time base is required, where a relative time stamp
represents the passed time from entering until leaving a
state. The timing information is annotated in the transition
next to an event. The usual way is to use intervals
recording the minimum and maximum observed time values for a
specific event[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [1].
        </p>
        <p>
          RTI+, the first algorithm for the identification of timed
automata [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], included a transition splitting operation in
addition to the merging operation. The timing in the
transitions is represented with histograms using bins and uniform
distribution [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. During the state merging procedure, it is
also checked, whether a transition can be split. A
transition is split when the resulting subtrees are different enough.
However, the splitting operation is associated with a high
calculation time, since depending on the bin size, all
possible splits have to be calculated. The disadvantage of this
approach is that the bin size has to be set manually by
experts. Further, it does not take the underlying distribution
into account.
        </p>
        <p>
          In contrast to other existing algorithms for the
identification of timed automata, our proposed identification
algorithm BUTLA [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] uses probability density functions over
time (PDFs) to express the timing behavior. Unlike other
approaches, we base our decision on the timing information
itself, not on the subtree resemblance.
        </p>
        <p>The identification algorithm BUTLA follows the
methodology from Figure 1. Additionally, instead of the splitting
operation, a preprocessing step is introduced, which
identifies the timing behavior and captures different behavior
patterns as shown in Figure 2.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Timing preprocessing</title>
        <p>The timing of events is analyzed in a preprocessing step.
The relative time values of each event are collected in a
histogram. It is decided whether the timing behavior is
subdivided into multiple modes based on this histogram and the
resulting probability density distribution over time. In case
of multiple modes, an event is separated according to the
number of modes in the PDF such that each event consists
of only one mode. For instance, an event ei with 2 modes is
separated into ei,1, ei,2, as can be seen in Figure 3.
p(t)</p>
        <p>Probability density
function over time
ei
p(t)</p>
        <p>Separated events
ei,1</p>
        <p>ei,2
t
t</p>
        <p>For the detection of multiple modes in events, three
methods have been evaluated:
• Kernel density estimation: This version is straight
forward by estimating the density of the distribution
function and subdividing at local minimums. It is optimized
for efficient computation time. Nevertheless it delivers
useful results.
• Expectation U˝maximization (EM) - algorithm: This
method is well-known from the state of the art. It
performs well, but the number of mixed distribution
functions has to be known or determined subsequently by
trying all values and take the best fitting.
• Variational Bayesian inference: This version has the
weakest performance but delivers the best results. The
number of overlapping distribution function is
calculated in an iterative manner.</p>
        <p>Due to the high computation effort of the EM-algorithm
and Variational Bayesian inference, we chose to use the
kernel density estimation for the timing preprocessing in
BUTLA. The determination of the timing modes using the
kernel density estimation works as follows:</p>
        <p>First, for each event e, all timing values t1, t2, ..., tk are
collected and stored in a list {e, {t1, t2, ..., tk}}, k ∈ N is
the number of collected timing values for one event. Then,
the PDFs are calculated using the kernel density estimation
method for each event. Density estimation methods use a
set of observations to find the subjacent density function.
Given a vector t with the time values of the observations,
the underlying density distribution for a time value t can be
estimated as</p>
        <p>i=1
where N ∈ N is the number of time values in the vector of
observations and k(ti; t) is a non negative kernel function
f (t) =</p>
        <p>Z ∞
1 N</p>
        <p>X k(ti; t)
N
k(t; t)dt = 1.</p>
        <p>−∞</p>
        <p>As underlying probability distribution, we use the
Gaussian distribution, which is defined as:</p>
        <p>G(μ, σ2, t) = √
1
2πσ2
e− (t2−σμ2)2
where σ2 is the bandwidth (smoothing factor), μ the mean
value and t is the time value, for which the probability is
calculated.</p>
        <p>The choice of the bandwidth is important for the
correctness of the results and it is the subject of research in
different publications (e.g. [32]). In the case of identifying
the normal behavior of production plants, it is useful not to
use a fixed value for smoothing factor but to keep it
variable. Here, the variable smoothing factor is 5% of the
current value. This results in the greater variance for greater
time values and smaller variance for smaller time values.
Therefore, the density is estimated as:
f (t) =
procedure is not necessary, since the transitions are already
split according to the identified timing modes.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Analysis of the Timing Preprocessing</title>
        <p>Figure 2 illustrates that a state can be a starting point for
different processes: When the robot is started, it depends on
the size of the containers that which of the sub-trees is taken
for the further process, based on the time that is needed to
move the container. Different possibilities exist to identify
the different timing behavior of the sub-trees.</p>
        <p>The algorithm RTI+ uses a splitting operation, which
calculates a p-value for all possible splits and its sub-trees. If
the lowest p-value of one split is less than 0.05, the transition
is split.</p>
        <p>Figure 4 illustrates the problem of the splitting operation.
The main drawback of using the splitting operation is that
it requires additional computation time. First, all possible
splits have to be evaluated. Based on the number of
observations, these can be a huge amount. And after finding
the best splitting point based on the smallest p-value, the
transition has to be split. Here, for all postfixes of the
corresponding transition, it has to be decided that which path
to follow. Since all these paths are mixed in the previous
states, the information that which path follows which states,
based on the original data, has to be stored somehow. This
leads to a huge memory consumption. To avoid this high
memory consumption, RTI+ renews the prefix tree acceptor
beginning with the corresponding state after each splitting
operation. However, this is still time and space consuming.
a
m</p>
        <p>Split
n
a
?
a
n'
Proposition 1. The time complexity of calculating and
performing a splitting operation is O(m2 · n2), where m is the
number of input samples and n is the number of states in the
PTA.</p>
        <p>Proof. For each transition (in worst case there are n − 1
transitions in the PTA, if it is a linked list of states with only
one input sample or all input samples follow the path), the
p-value has to be calculated (which has to be done for each
input sample using the certain transition). Therefore, the
complexity for calculating the p-values is O(m · n).</p>
        <p>One splitting operation itself also needs time in O(m · n)
for the creation of the PTA with m input samples, where
each can have n states.</p>
        <p>In the worst case, if each transition has to be split, the
complexity is in O(m2 · n2).</p>
        <p>BUTLA firstly uses a preprocessing of timing values to
avoid this splitting operation. This version is based on the
assumption that events with the same changing signals but
different timing behavior describe different behavior.</p>
        <p>In the preprocessing step, events with multiple timing
modes are identified. These modes are used for the creation
of the prefix tree. Events with the same symbol but arising
from different timing modes are handled as different events
and lead to different states in the prefix tree. In the
identification phase, these events are also handled as different.
Using this preprocessing step, the splitting process can be
omitted. This leads to a computation speed increase.
Proposition 2. The time complexity of calculating the
timing modes in a preprocessing step is in O(n), where n is the
number of observed events.</p>
        <p>Proof. Since this is during the preprocessing step and the
PTA does not exist so far, the worst case is not dependent
on the PTA structure, but only on the number of incoming
events and the number of symbols.</p>
        <p>First, the time stamps for each symbol in the alphabet
a ∈ Σ have to be collected. This takes time O(n).</p>
        <p>Then for each a ∈ Σ, the probability density distribution
over time has to be calculated. For this, Equation 4 is
computed. Note that all events are not considered for a single
symbol a ∈ Σ, but only those that belong to this symbol
a. All computations together need time O(n). Additionally
the local minimums have to identified, which is also done in
O(n).</p>
        <p>All these steps are performed subsequently and therefore
the overall time complexity for the preprocessing step is
O(n).</p>
        <p>Using the preprocessing step, the computation time can
be reduced compared to the splitting version. While the
splitting version runs in polynomial time, we could reduce
this additional timing computation to linear time using the
preprocessing step.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Learning Automata Results</title>
      <p>As mentioned before, the goal of the identified automata is
the usage for anomaly detection. An exemplary plant at the
institute has been used for experimental results. Figure 5
shows a part of the Lemgo Model Factory and the identified
models of two modules.</p>
      <p>Muscleon
[8…34]
1
event Muscleof
[7…35]
timing
2</p>
      <p>During the anomaly detection phase, the running plant’s
timing behavior is compared to the prognosis of the
automaton. A timing anomaly is signaled whenever a measured
timing is outside the timing interval in the learned timed
automaton. Here, the interval is defined as[μ − k · σ, μ + k ·
σ], k ∈ R+ where μ is the mean value of the corresponding
original observations’ timings and σ is the standard
deviation.</p>
      <p>In a first experiment, the Lemgo Model Factory (see
Figure 5) is used. A frequently occurring error for example is
the wear of a conveyor belt which leads to a decrease in the
system’s throughput. 12 production cycles are used to
identify a normal behavior model. The PTA comprises 6221
states. BUTLA reduces this to 13 states—this corresponds
to a compression rate of 99.79%.</p>
      <p>To verify the model learning algorithm with a high
amount of data, in a second experiment, data is generated
artificially using the modified Reber grammar (extended with
timing information). 1000 samples are generated to learn
the model, then 2000 test samples are created where 1000
comprise timing errors. From the initial 5377 states in the
PTA, a model with 6 states is learned.</p>
      <p>Table 3 shows the error rates for the anomaly detection
applied to both data sets using different factors k in the
timing intervals.</p>
      <p>The experimental results in Table 3 show that the false
positive rate could be reduced by enlarging the time bounds.
But at the same time, the false negative rate rose. The
application of the enlargement of the time requires a trade off
between false positive and false negative rate. This has to be
done separately for each application.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we analyzed the possibilities of learning the
timing behavior for anomaly detection in CPPS. First, we
gave a taxonomy of timing modeling formalisms. Based
on this taxonomy we analyzed whether the models can be
identified automatically and whether they are suitable for
anomaly detection.</p>
      <p>Timed automata are often the first choice for the modeling
of timed behavior of CPPS, especially for the modeling of
sequential timed behavior.</p>
      <p>Due to the intuitive interpretation, timed automata are
well-suited to model the timing behavior. In our proposed
learning method, we used probability density distribution
functions over time for the timing representation. In a
preprocessing step multiple modes in single transitions are
identified, this enables the omission of the time consuming
splitting operation.</p>
      <p>We proved the runtime enhancement formally and gave
some experimental results which prove the practicability of
timed automata for automatic identification and for anomaly
detection.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Maier</surname>
          </string-name>
          .
          <article-title>Online passive learning of timed automata for cyber-physical production systems</article-title>
          .
          <source>In The 12th IEEE International Conference on Industrial Informatics (INDIN</source>
          <year>2014</year>
          ). Porto Alegre, Brazil,
          <year>Jul 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>M.M. Mansour</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Wahab</surname>
            , and
            <given-names>W.M.</given-names>
          </string-name>
          <string-name>
            <surname>Soliman</surname>
          </string-name>
          .
          <article-title>Petri nets for fault diagnosis of large power generation station</article-title>
          .
          <source>Ain Shams Engineering Journal</source>
          ,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>831</fpage>
          -
          <lpage>842</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Console</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Picardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.T.</given-names>
            <surname>Dupré</surname>
          </string-name>
          .
          <article-title>Temporal decision trees: Model-based diagnosis of dynamic systems on-board</article-title>
          .
          <source>CoRR, abs/1106.5268</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Maier</surname>
          </string-name>
          .
          <article-title>Identification of Timed Behavior Models for Diagnosis in Production Systems</article-title>
          .
          <source>PhD thesis</source>
          , University of Paderborn,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>Modeling time in computing: A taxonomy and a comparative survey</article-title>
          .
          <source>ACM Comput. Surv.</source>
          ,
          <volume>42</volume>
          (
          <issue>2</issue>
          ):6:
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          :
          <fpage>59</fpage>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Springer</surname>
          </string-name>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Branching vs. linear time: Final showdown</article-title>
          .
          <source>In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2001</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          , London, UK,
          <year>2001</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>Back to the future: Towards a theory of timed regular languages</article-title>
          .
          <source>In In Proceedings of the 33rd Annual Symposium on Foundations of Computer Science</source>
          , pages
          <fpage>177</fpage>
          -
          <lpage>186</lpage>
          . IEEE Computer Society Press,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Khalil</surname>
          </string-name>
          .
          <source>Nonlinear Systems</source>
          . Prentice Hall,
          <year>January 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Indra</surname>
          </string-name>
          .
          <article-title>Decentralized Diagnosis with Isolation on Request for Spacecraft</article-title>
          . In Astorga Zaragoza, editor,
          <source>Proceedings of the 8th IFAC Symposium on Fault Detection, Supervision and Safety of Technical Processes</source>
          , pages
          <fpage>283</fpage>
          -
          <lpage>288</lpage>
          ,
          <year>August 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Isermann</surname>
          </string-name>
          .
          <article-title>Model-based fault detection and diagnosis - status and applications</article-title>
          .
          <source>In 16th IFAC Symposium on Automatic Control in Aerospace, St. Petersbug, Russia</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>W. Thomas.</surname>
          </string-name>
          <article-title>Automata on infinite objects</article-title>
          . In Jan van Leeuwen, editor,
          <source>Handbook of Theoretical Computer Science (Vol. B)</source>
          , pages
          <fpage>133</fpage>
          -
          <lpage>191</lpage>
          . MIT Press, Cambridge, MA, USA,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Verwer</surname>
          </string-name>
          .
          <article-title>Efficient Identification of Timed Automata: Theory and Practice</article-title>
          .
          <source>PhD thesis</source>
          , Delft University of Technology,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Roth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Litz</surname>
          </string-name>
          .
          <article-title>Black-box identification of discrete event systems with optimal partitioning of concurrent subsystems</article-title>
          .
          <source>In American Control Conference (ACC)</source>
          ,
          <year>2010</year>
          , pages
          <fpage>2601</fpage>
          -
          <lpage>2606</lpage>
          ,
          <year>June 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Roth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Litz</surname>
          </string-name>
          .
          <article-title>Fault detection and isolation in manufacturing systems with an identified discrete event model</article-title>
          .
          <source>Int. J. Systems Science</source>
          ,
          <volume>43</volume>
          (
          <issue>10</issue>
          ):
          <fpage>1826</fpage>
          -
          <lpage>1841</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>O.</given-names>
            <surname>Niggemann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Stein</surname>
          </string-name>
          , A. Vodencˇarevic´,
          <string-name>
            <given-names>A.</given-names>
            <surname>Maier</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H. Kleine</given-names>
            <surname>Büning</surname>
          </string-name>
          .
          <article-title>Learning behavior models for hybrid timed systems</article-title>
          .
          <source>In Twenty-Sixth Conference on Artificial Intelligence (AAAI-12)</source>
          , pages
          <fpage>1083</fpage>
          -
          <lpage>1090</lpage>
          , Toronto, Ontario, Canada,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tripakis</surname>
          </string-name>
          .
          <article-title>Fault diagnosis for timed automata</article-title>
          . In Werner Damm and
          <string-name>
            <surname>Ernst-Rüdiger</surname>
            <given-names>Olderog</given-names>
          </string-name>
          , editors,
          <source>FTRTFT</source>
          , volume
          <volume>2469</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>205</fpage>
          -
          <lpage>224</lpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Supavatanakul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Falkenberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Lunze</surname>
          </string-name>
          .
          <article-title>Identification of timed discrete-event models for diagnosis</article-title>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Simeu-Abazi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Di</given-names>
            <surname>Mascolo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Knotek</surname>
          </string-name>
          .
          <article-title>Diagnosis of discrete event systems using timed automata</article-title>
          .
          <source>In International Conference on cost effective automation in Networked Product Development and Manufacturing</source>
          , Monterrey, Mexico,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Petri</surname>
          </string-name>
          .
          <article-title>Fundamentals of a theory of asynchronous information flow</article-title>
          .
          <source>In IFIP Congress</source>
          , pages
          <fpage>386</fpage>
          -
          <lpage>390</lpage>
          ,
          <year>1962</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Murata</surname>
          </string-name>
          .
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>Proceedings of the IEEE</source>
          ,
          <volume>77</volume>
          (
          <issue>4</issue>
          ):
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
          ,
          <year>April 1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Merlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Farber</surname>
          </string-name>
          .
          <article-title>Recoverability of communication protocols-implications of a theoretical study</article-title>
          .
          <source>Communications</source>
          , IEEE Transactions on,
          <volume>24</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1036</fpage>
          -
          <lpage>1043</lpage>
          ,
          <year>Sep 1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cerone</surname>
          </string-name>
          .
          <article-title>A Net-based Approach for Specifying Realtime Systems</article-title>
          . Serie TD. Ed. ETS,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cerone</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Maggiolo-Schettini</surname>
          </string-name>
          .
          <article-title>Time-based expressivity of time petri nets for system specification</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>216</volume>
          (
          <issue>1 - 2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Cabasino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Giua</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Seatzu</surname>
          </string-name>
          .
          <article-title>Identification of Petri Nets from Knowledge of Their Language</article-title>
          .
          <source>Discrete Event Dynamic Systems</source>
          ,
          <volume>17</volume>
          (
          <issue>4</issue>
          ):
          <fpage>447</fpage>
          -
          <lpage>474</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P.</given-names>
            <surname>Nazemzadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dideban</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zareiee</surname>
          </string-name>
          .
          <article-title>Fault modeling in discrete event systems using petri nets</article-title>
          .
          <source>ACM Trans. Embed. Comput. Syst.</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):
          <volume>12</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          :
          <fpage>19</fpage>
          ,
          <year>January 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-</surname>
          </string-name>
          Schneider, editors.
          <source>The Description Logic Handbook: Theory</source>
          , Implementation, and
          <string-name>
            <surname>Applications</surname>
          </string-name>
          . Cambridge University Press, New York, NY, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Quinlan</surname>
          </string-name>
          .
          <article-title>Induction of decision trees</article-title>
          . In Jude W. Shavlik and Thomas G. Dietterich, editors,
          <source>Readings in Machine Learning</source>
          . Morgan Kaufmann,
          <year>1990</year>
          . Originally published in
          <source>Machine Learning</source>
          <volume>1</volume>
          :
          <fpage>81</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Quinlan</surname>
          </string-name>
          .
          <source>C4</source>
          .
          <article-title>5: Programs for Machine Learning</article-title>
          . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Franck</surname>
            <given-names>Thollard</given-names>
          </string-name>
          , Pierre Dupont, and Colin de la Higuera.
          <article-title>Probabilistic DFA inference using KullbackLeibler divergence and minimality</article-title>
          .
          <source>In Proc. of the 17th International Conf. on Machine Learning</source>
          , pages
          <fpage>975</fpage>
          -
          <lpage>982</lpage>
          . Morgan Kaufmann,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>