<!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>Anomaly Detection in DiaFlux Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Reinhard Hatko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gritje Meinke</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joachim Baumeister</string-name>
          <email>joachim.baumeister@denkbares.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Mersmann</string-name>
          <email>stefan.mersmanng@draeger.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Puppe</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Wurzburg, Institute of Computer Science, Dept. of Arti cial Intelligence and Applied Informatics 97074 Wurzburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>denkbares GmbH</institution>
          ,
          <addr-line>Friedrich-Bergius-Ring 15, 97076 Wurzburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In recent years, the use of graphical knowledge representations more and more proved to be suitable for building diagnostic and therapeutic knowledge systems. When building such systems, the quality assurance of the knowledge base is an integral part of the development process. In this paper, we present the owchart-based language DiaFlux and we describe a collection of anomalies, that can occur when using the language for knowledge base development. The naming of many shown anomalies was motivated by the experiences made in real-world projects.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In recent years, intelligent systems have been established in a variety of domains.
When building such systems the developers no longer depend on pure rule-based
representations, but more and more use graphical approaches that often allow
for a more intuitive knowledge elicitation process. In the medical domain, for
instance, work ow-oriented representations emerged in the last years to build
systems based on existing guidelines and standard operating procedures (SOPs),
see for instance [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In an industrial setting, the development of such knowledge bases is integrated in
a prede ned knowledge engineering process, that shows similar phases to general
software engineering processes, see for instance [
        <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
        ]. All these process models
also propose a quality assurance phase, where the developed artifact is tested by
validation and veri cation methods. Here, usually the expected system
behavior is tested with regression-based methods, such as empirical tests [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], but also
checks at the component level are performed. The most commonly used
verication method for component-based tests is the detection of (already known)
anomalies. In Software Engineering such anomalies are related to object-oriented
metrics [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and bad smells [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Some typical examples for general anomalies
are cyclic dependencies between classes and packages, in nite recursion, and
long/unmaintainable methods. The automated detection by a static code
analysis and the (manual) elimination of such anomalies can prevent serious
malfunctions of the built application.
      </p>
      <p>
        It is easy to see, that the ideas of anomalies in general software code can be
transfered to the artifacts produced in a knowledge engineering process. Here, the
knowledge base is investigated in order to nd de cient parts of the knowledge.
In the past, veri cation methods for detecting anomalies in di erent knowledge
representations were introduced, for instance see [
        <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
        ].
      </p>
      <p>
        Approaches for the veri cation of work ow models are described, e.g., in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
In addition, some of the anomalies we identi ed represent a mixture of
dataand control- ow anomalies and also involve a Truth Maintenance System. In
this paper, we introduce the work ow-based knowledge representation DiaFlux
for building diagnostic and therapeutic knowledge systems. The language is
presented in Section 2 and Section 3 describes possible anomalies. We report a small
case study in Section 4 and conclude the paper with a discussion in Section 5.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Graphical Knowledge Models with DiaFlux</title>
      <p>This section rst describes the application scenario. Then, we introduce the
representation language DiaFlux.
2.1</p>
      <sec id="sec-2-1">
        <title>Application Scenario</title>
        <p>
          DiaFlux is a graphical guideline language intended to be used in mixed-initiative
devices, that continuously monitor, diagnose, and treat a patient in the setting of
an Intensive Care Unit (ICU). The clinical user interacts with such a semi-closed
loop system during the care process. Actions on the patient can be initiated by
both parties, the clinician and the device. Continuous reasoning is performed, as
some data is continuously available as a result of the monitoring task. An
execution environment for automated clinical care in ICUs and the implementation
of a guideline for weaning from mechanical ventilation are presented in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Language Description</title>
        <p>
          Two kinds of knowledge have to be e ectively combined for the speci cation
of a clinical protocol, namely declarative and procedural knowledge [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The
declarative part encompasses the facts and their relationships. The procedural
knowledge re ects how to perform a task, i.e., the correct sequence of actions.
The declarative knowledge particularly consists of the terminology, i.e., ndings,
solutions, and sometimes also therapies and their interrelation. The procedural
knowledge is responsible for the decision which action to perform in a given
situation, e.g., asking a question or carrying out a test. The appropriate sequence
of actions is mandatory for e cient diagnosis and treatment, as each action has
a cost (monetary or associated risk) and a bene t (for establishing or excluding
currently considered solutions) associated with it. For the representation of the
procedural aspects, guideline languages employ di erent kinds of Task Network
Models [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. They constrain the ordering of decisions and actions in a guideline
plan. Flowcharts are a common formalism to explicitly express this control ow.
In DiaFlux models, a domain-speci c ontology represents the declarative
knowledge. It contains the de nition of ndings and solutions. This application
ontology extends the task ontology of diagnostic problem-solving, as described in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
Due to its strong formalization, it provides the semantics necessary for the
execution of the guidelines. The procedural knowledge is represented by owcharts,
that consist of nodes and edges. Di erent types of actions are represented by
nodes. Connecting edges create possible sequences of actions. To constrain these
sequences, an edge can be guarded by a condition that evaluates the state of the
current session and thus guides the course of the care process.
        </p>
        <p>In the following, we give a simple example of a protocol for the diagnosis and
treatment of overweight, modeled in DiaFlux.</p>
        <p>Figures 1 and 2 show parts of a protocol for the diagnosis and treatment of
overweight modeled in DiaFlux. When a consultation session starts, the main
module, as depicted in Figure 1, is activated. The execution begins at the start
node (1), labeled \Begin consultation". It points to the composed node
\Anamnesis" (2). When this node is reached, the according submodule (cf. Figure 2)
is called and its start node labeled \Start" is activated. The execution of the
main module awaits the completion of the called submodule. Reaching the test
node \Height" (3) data is acquired from the user. After entering the value for
body height, the execution can continue to the next test node \Weight". As the
weight is supposed to change from one session to the next, this test node acquires
new data each time it is activated. Therefore, the speci c testing action used is
\always ask" instead of \ask". The rst one triggers data acquisition even for
inputs that are already known in order to update their value. After the value for
\Weight" has been entered, the abstraction node (4) calculates the body mass
index (BMI) from the acquired data and assigns the value to the input \BMI".
An appropriate next action is chosen depending on the value of the BMI. For a
value contained in the range of [25; 30[ the execution progresses to the solution
node (5) which establishes the solution \Overweight". The following exit node
(6) labeled \Weight problem" terminates the execution of the module. The
control ow then returns to the superordinate module. For other values of \BMI"
the appropriate solution is established and the according exit node is returned
as result of the \Anamnesis" protocol.
Upon completion of the \Anamnesis" module, the appropriate successor node is
chosen based on the returned result. In case of \Weight ok" the execution of the
protocol ends by reaching the exit node \Finished", as there is no superordinate
module to return to. Otherwise, a proper treatment is chosen based on the history
of values of the BMI. The decision node (7) tests the gradient of BMI values.
For a declining BMI (i.e., the patient is loosing weight), the previously selected
therapy is continued. Otherwise, another therapy is chosen within the module
\Select Therapy"1. Both paths reach the snapshot node (8). On activation of
this node, the execution state of the protocol is saved and truth maintenance
will not retract any conclusion beyond this point. Furthermore all active nodes
on the incoming path are deactivated, to allow their repeated execution. Next,
the execution is suspended by the wait node (9), until the given time of 7 days
has lapsed. Afterwards, a second anamnesis is conducted and the current BMI
is calculated based on the newly acquired body weight. If it has decreased, so
will the BMI and the current therapy is continued. Otherwise, a new therapy is
selected and applied until a normal body weight is obtained.</p>
        <p>
          A more detailed description of the DiaFlux language and the execution engine
can be found in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Anomaly Detection</title>
      <p>
        There exists a large body of research concerning the detection of anomalies by
veri cation methods, for instance for rule bases [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], for ontologies [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], for mixed
veri cation of rules and ontologies [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In general, we distinguish the following
types of anomalies for knowledge bases:
1. Redundancy de ning duplicate or subsuming elements of the knowledge
base
2. Inconsistency caused by contradicting elements of the knowledge base
3. Missing knowledge are absent parts of the knowledge base, that can
prevent the proper execution of the knowledge
4. De ciency comprising parts of the knowledge base, that worsen the design
of the knowledge
In the following, we discuss these types in more detail and we introduce
particular anomalies, that explain redundant, inconsistent, de cient, and missing
knowledge especially in DiaFlux models.
      </p>
      <p>It is important to notice, that the following presentation of anomalies is not an
exhaustive set but more or less a collection of problems, that occurred during
the development of industrial knowledge bases.
3.1</p>
      <sec id="sec-3-1">
        <title>Redundancy</title>
        <p>Redundant knowledge may be removed from the knowledge base without change
in the semantics of the derivation behavior. Each found anomaly, however, needs
to be considered carefully by a human knowledge engineer, since some kinds of
redundancy can be used to increase the robustness of the knowledge base.
1 The gradient of a single value is 0 and a therapy is chosen for the rst time.
Redundant Calculation Abstraction nodes can be used to assign a value to
a nding. That value can either be a constant number or can be calculated by
a formula, aggregating the values of the others ndings. The assignment of a
constant value is redundant when the same value is assigned more than once on
a given path. The assignment of a value derived from a formula is redundant, if
the second calculation will yield the same result. This is the case if the second
abstraction uses the same formula and if there is no path between the rst and
the second calculation that leads to the acquisition of new values for the ndings
used in the calculation.</p>
        <p>Redundant Test Depending on the frequency the values of a nding may
change, two di erent kinds of actions can be used for test nodes, \ask" and
\always ask", respectively. The rst one triggers the acquisition of data only if
no value has been assigned to the nding so far. The latter demands new data
each time the node is activated in the owchart. If two test nodes are located on
a connecting path and trigger an \ask" action on the same nding, the second
test action is ignored and therefore redundant. In case the second node has more
than one outgoing edge with di erent guards, the developer should consider to
convert the node to a decision node.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Inconsistency</title>
        <p>Inconsistent knowledge often yields unexpected and contradictory inferences
during execution. Detected inconsistencies should be investigated thoroughly by the
knowledge engineer and be considered for elimination in most cases.
Inconsistent Calculation As described in the anomaly Redundant
Calculation, abstraction nodes can be used to assign a value to a nding. The assignment
contains either a constant value or a formula that is evaluated. Such a
calculation is inconsistent, if di erent values are assigned to one nding on a single,
connected path of nodes. In the worst case, the assignment of the second value
may force the truth maintenance system to illegally retract the followed path
until the rst assignment, and thus creates a truth maintenance cycle.
Inconsistent Test Action Two di erent types of testing actions are provided
in DiaFlux for collecting data. For ndings containing high frequency data (e.g.
\blood pressure" in the medical domain), the testing action \always ask" is
appropriate to be used; the action \ask" is appropriate for the single acquisition
of data (e.g. when asking the age or sex of a patient). Using both types of testing
actions for the same nding most likely hints to a design aw. If the nding
contains high frequency data, the value of the nding will not be updated upon
reaching the node, that performs the \ask" action. Therefore an old value will
be used, instead of acquiring new data. In the case of low frequency data, the
value for the nding is acquired more often than necessary, if the action \always
ask" is used.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Missing Knowledge</title>
        <p>Some anomalies may point to un nished areas of the knowledge base, for instance
elements of the knowledge that are never used in problem-solving sessions.
Uninitialized Value Values of ndings are calculated in the DiaFlux
representation by using abstraction nodes. To conduct such a calculation, proper values
have to be available for all ndings that are included in the calculation. If at
least one necessary nding is not acquired (or calculated itself) on at least one
path leading to the abstraction node, then the calculation will not succeed and
the execution of the path may stop at the abstraction node.</p>
        <p>Missing Start Node A owchart in DiaFlux can have several distinct entry
points. Each one must begin with a start node. A owchart not de ning at least
one start node, cannot be activated during execution and thus is isolated from
the rest of the knowledge base.</p>
        <p>Unconnected Node Every owchart de nes a process that begins at a start
node and ends at an exit node. The activation of the nodes in between depends
on the connecting edges and their respective guards. Any node (except a start
node) that is missing an incoming edge cannot be activated during the
problemsolving process. All successors of such a node are also unreachable unless they
have an alternative incoming edge, which is itself connected to at least one start
node.</p>
        <p>Open Path End Every possible path in a owchart has to be terminated
by an exit node. Although, an open path end does not in uence the execution
of this particular owchart, it will prevent the continuation of a superordinate
owchart. Thus, the owchart is not returning to the super- owchart, that called
it. After reaching a composed node during execution, the calling owchart awaits
the termination of the called module by an exit node. If this does not exists, then
the execution of the calling owchart will not continue.</p>
        <p>No Startup Flow De ned The execution of the knowledge base begins in
a distinct owchart, which has to be marked as autostart by the knowledge
engineer. If no owchart is marked accordingly, then none is activated at the
start of a problem-solving session. Therefore, the execution will end immediately.
Unused Flowchart For improving the structure of the knowledge base, owcharts
can be nested. Composed nodes allow the execution of another owchart module.
A owchart, that is neither marked as autostart nor is called by any composed
node will never be executed during runtime.</p>
        <p>Incompleteness of Edge Guards The de nition of edge guards allows to
select one of multiple outgoing paths at a node, depending on the current value
of a nding. As the execution will continue only along an edge whose guard
is evaluated to true, the entirety of guards de ned at one node has to cover
the complete range of possible values of the examined nding. Otherwise, the
execution of the owchart will stop at this node, if the current value does not
match with an edge guard.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>De ciency</title>
        <p>De ciencies point to subtle parts in the knowledge base, that may bene t from
a design improvement. The existence of such an anomaly, however, often does
not a ect the reasoning behavior in a bad manner.</p>
        <p>Dead Path The possible paths through a owchart are given by the edges
between nodes. Every edge can be guarded by a condition that evaluates the
values of ndings entered into the system. An edge is activated, if its starting
point is active and its condition evaluates to true. If a nding is used multiple
times on a single path, then the guards at later edges have to be consistent to
the possible values at that point. Otherwise such edges cannot be activated for
certain values. An example is given in Figure 3.</p>
        <p>Impossible Path When new ndings are entered into the system, a truth
maintenance system checks the state of all owcharts. If the value of a nding
has changed, all edges and nodes change their activation state according to the
new values. In case an abstraction node calculates a value for a nding, that is
used to guard an edge in the active path, the calculated value must not contradict
that guard. Otherwise, the truth maintenance system will collapse the path to
the abstraction node undoing its calculation. Therefore, the path starting at the
abstraction node is impossible to continue.</p>
        <p>Fig. 3. A minimal example of a Dead Path. After setting the question \Gender" to
\Male", the following decision node branches depending on its value. As it can only
be \Male", the path leading to the exit node \Woman" can never be taken, and is
therefore dead.</p>
        <p>Disjointness of Edge Guards The guards on the outgoing edges of every node
must be disjoint with respect to the possible outcomes of a node. If the domains
of guards overlap, all belonging edges will be activated for according values.
This easily happens, when de ning intervals at a decision node that examine a
numerical nding.</p>
        <p>In this section, we introduced a selection of anomalies that can occur in DiaFlux
knowledge bases. In the next section, we describe an implementation of a part
of the shown anomalies and we report on some experiences.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Case Study</title>
      <p>
        The DiaFlux development environment is integrated into the Semantic Wiki
KnowWE [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. KnowWE is a wiki aimed at building intelligent systems, o ering
methods to capture and execute strong problem-solving knowledge. A
Continuous Integration (CI) tool supports the modeler during the development of the
knowledge base by executing a con gurable set of tests after each edit. The
results of the recent build of the knowledge base are indicated to the user in an
unintrusive manner. A detailed report is available on demand. The frequently
running test procedures help to nd modeling errors at an early stage.
We recently integrated detection algorithms for selected anomalies as described
in Section 3 into the CI tool. The system was used in a couple of projects and
received very positive feedback, from unexperienced as well as advanced users.
A common mistake among modelers, that are new to the DiaFlux language, is to
miss marking the autostarting owchart. As a result the knowledge base seems
to simply do nothing. In more complex knowledge bases, that are hierarchically
structured and contain di erent possible paths of execution, the detection of
anomalies like Uninitialized Value or Dead Path is very helpful as those are not
only tested within each owchart module but also across their boundaries along
paths through composed nodes.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>The development of knowledge-based software systems is similar to general
software engineering approaches. We motivated that today's knowledge bases are
often built using work ow-based languages; this especially holds in the
medical domain, where existing guidelines and standard operating procedures are
transfered into computer-interpretable models. In this paper, we discussed the
problem of quality assurance of such models and we described the detection of
anomalies in the models as an important aspect of quality assurance. We
described the practical guideline language DiaFlux by an example protocol for
overweight treatment. Furthermore, we introduced a selection of anomalies for
this language. The selection of these anomalies is not exhaustive, but was
motivated by our experiences in the development of industrial knowledge bases.
In the future, we plan to de ne a more exhaustive set of anomalies, including
temporal ones, and relate the particular artifacts to anomalies already known in
classical veri cation research. Often, a found defect is the start of a refactoring
of the knowledge base. We are currently working also on refactoring methods
for DiaFlux models, that are used to eliminate found de ciencies but also other
kinds of anomalies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Peleg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bury</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciccarese</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenes</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miksch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quaglini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seyfang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Shortli e,
          <string-name>
            <given-names>E.H.</given-names>
            ,
            <surname>Stefanelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , et al.:
          <article-title>Comparing computer-interpretable guideline models: A case-study approach</article-title>
          .
          <source>JAMIA</source>
          <volume>10</volume>
          (
          <year>2003</year>
          ) 2003
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Schreiber</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akkermans</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anjewierden</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de</surname>
            <given-names>Hoog</given-names>
          </string-name>
          , R.,
          <string-name>
            <surname>Shadbolt</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>de Velde</surname>
            ,
            <given-names>W.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wielinga</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Knowledge Engineering and Management - The CommonKADS Methodology. 2 edn</article-title>
          . MIT Press (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seipel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puppe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Agile development of rule systems</article-title>
          . In Giurca, Gasevic, Taveter, eds.:
          <source>Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches</source>
          . IGI Publishing (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baumeister</surname>
          </string-name>
          , J.:
          <article-title>Advanced empirical testing</article-title>
          .
          <source>Knowledge-Based Systems 24(1)</source>
          (
          <year>2011</year>
          )
          <volume>83</volume>
          {
          <fpage>94</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinbruckner</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewerentz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Metrics based refactoring</article-title>
          .
          <source>In: Software Maintenance and Reengineering</source>
          ,
          <year>2001</year>
          . 5th European Conference on. (
          <year>2001</year>
          )
          <volume>30</volume>
          {
          <fpage>38</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Refactoring</surname>
          </string-name>
          .
          <article-title>Improving the Design of Existing Code</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ayel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laurent</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          : Validation,
          <article-title>Veri cation and Test of Knowledge-Based Systems</article-title>
          . Wiley (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seipel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Anomalies in ontologies with rules</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ) (
          <year>2010</year>
          )
          <volume>55</volume>
          {
          <fpage>68</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          v.d.:
          <article-title>Work ow veri cation: Finding control- ow errors using petrinet-based techniques</article-title>
          .
          <source>In: Business Process Management, Models, Techniques, and Empirical Studies</source>
          , London, UK, Springer-Verlag (
          <year>2000</year>
          )
          <volume>161</volume>
          {
          <fpage>183</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mersmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dojat</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>SmartCaretm - automated clinical guidelines in critical care</article-title>
          .
          <source>In: ECAI'04/PAIS'04: Proceedings of the 16th European Conference on Arti cial Intelligence</source>
          ,
          <source>including Prestigious Applications of Intelligent Systems</source>
          , Valencia, Spain, IOS Press (
          <year>2004</year>
          )
          <volume>745</volume>
          {
          <fpage>749</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. de Clercq,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Kaiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Hasman</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Computer-interpretable guideline formalisms</article-title>
          . In ten Teije,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Miksch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Lucas</surname>
          </string-name>
          , P., eds.:
          <article-title>Computer-based Medical Guidelines and Protocols: A Primer and Current Trends</article-title>
          . IOS Press, Amsterdam, The Netherlands (
          <year>2008</year>
          )
          <volume>22</volume>
          {
          <fpage>43</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reutelshoefer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puppe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>KnowWE: A semantic wiki for knowledge engineering</article-title>
          .
          <source>Applied Intelligence</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Hatko</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belli</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puppe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Dia ux: A graphical language for computer-interpretable guidelines</article-title>
          .
          <source>In: KR4HC'11: Proceedings of the 3th International Workshop on Knowledge Representation for Health Care</source>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Preece</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shinghal</surname>
          </string-name>
          , R.:
          <article-title>Foundation and application of knowledge base veri cation</article-title>
          .
          <source>International Journal of Intelligent Systems</source>
          <volume>9</volume>
          (
          <year>1994</year>
          )
          <volume>683</volume>
          {
          <fpage>702</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gomez-Perez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards a framework to verify knowledge sharing technology</article-title>
          .
          <source>Expert Systems with Applications</source>
          <volume>11</volume>
          (
          <issue>4</issue>
          ) (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>