<!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>Knowledge-based Runtime Failure Detection for Industrial Automation Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Melik-Merkumians</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Moser</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Schatten</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alois Zoitl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Bi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Christian Doppler Laboratory for Software Engineering Integration for Flexible Automation Systems Vienna University of Technology</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Engineers of complex industrial automation systems need engineering knowledge from both design-time and runtime engineering models to make the system more robust against normally hard to identify runtime failures. Design models usually do not exist in a machineunderstandable format suitable for automated failure detection at runtime. Thus domain and software experts are needed to integrate the fragmented views from these models. In this paper we propose an ontologybased engineering knowledge base to provide relevant design-time and runtime engineering knowledge in machine-understandable form to be able to better identify and respond to failures. We illustrate and evaluate the approach with models and data from a real-world case study in the area of industrial automation systems. Major result was that the integrated design-time and runtime engineering knowledge enables the e ective detection of runtime failures that are only detectable by combining runtime and design-time information.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Complex industrial automation systems need to be exible to adapt to changing
business situations and to become more robust against relevant classes of
failures. Production automation systems consist of components, for which a general
design and behavior is de ned during the design phase, but much of the speci c
design and behavior is de ned during implementation, deployment, and runtime
with a range of con guration options. The educational process plant is used to
simulate complex industrial batch processes (like re neries, breweries, or
pharmaceutical plants). It consists of two tanks holding the process uids. The liquid
level of the tanks are checked by several analog and digital sensors. The lower
tanks also contains a pump which either transports the process uid into the
upper tank, or is used to mix up the process uid in the lower tank. Also the
lower tank contains a heater and a temperature sensor to heat the process uid
to speci ed temperatures. Figure 1 shows on the left hand side an image of the
real system, while the right hand side of the gure displays a simpli ed version of
the underlying data model of the educational process plant. Additionally, some
of the data models elements have been colored in the same color as their
realworld representation in the image of the educational process plant in order to
show the links between real-world system and underlying data model.</p>
      <p>
        Engineers, who want to detect failures at runtime which can not be compassed
by analyzing singular sensor values or failures at sensor-less components (e.g.
broken actuators which are not monitored by a sensor), need information from
software models that re ect dependencies between components at design and
runtime, e.g., the workshop layout, recipes and production procedures. During
development design-time software models (representing electrical, mechanical,
and software engineering models), like data-oriented models (e.g., EER models or
P&amp;ID1 (Piping and Instrumentation) diagrams [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) or work ow-oriented models
(e.g., sequence diagrams or state charts) are the basis to derive runtime models
but are often not provided in machine-understandable format to re ect on
failures at runtime, i.e., the knowledge is kept in an explicit human-understandable
way but cannot be accessed by components automatically. Domain and software
experts are needed to integrate the fragmented views (e.g., propagating model
changes into other models, cross-model consistency checks) from these models,
which often is an expensive and error-prone task due to undetected model
inconsistencies or lost experience from personnel turnover.
      </p>
      <p>Practitioners, especially designers and quality assurance (QA) personnel,
want to make complex industrial automation systems (which like the
educational process plant consist of components de ned by general design-time
behavior, derived runtime con guration, and runtime speci c behavior enactment)
more robust against normally hard to identify runtime failures. QA people could
1 Industrial standard for P&amp;IDs: IEC 61346: Industrial systems, Installations and
Equipment and Industrial Products Structuring Principles and Reference
Designations
bene t from more e ective and e cient tool support to check system
correctness, by improving the visibility of the system defect symptoms (e.g., exceptions
raised from assertions).</p>
      <p>
        Challenges to detect and locate defects at runtime come from the di
erent focus points of models: e.g., components and their behavior are de ned at
design time, while con gurations may change at runtime and violate tacit
engineering assumptions in the design-time models. Without an integrated view
on relevant parts of both design-time and runtime models inconsistencies from
changes and their impact are harder to evaluate and resolve between design and
runtime. Better integrated engineering knowledge can improve the quality of
decisions for runtime changes to the system, e.g., better handling severe failures
with predictable recovery procedures, lower level of avoidable downtime, and
better visibility of risks before damage occurs. As shown in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], with the help
of ontologies and reasoning most of these problems can be addressed.
      </p>
      <p>In this paper we present an approach to improve support for runtime
decision making with an ontology: a domain-speci c engineering knowledge base
(EKB) that provides a better integrated view on relevant engineering knowledge
in typical design-time and runtime models, which were originally not designed
for machine-understandable integration. The EKB can contain schemes on all
levels and instances, data, and allows reasoning to evaluate rules that involve
information from several models that would be fragmented without
machineunderstandable integration. The major advantage of using an ontology for
representing and querying the domain-speci c engineering knowledge is the fact that
ontologies are well suited to model logical relationships between di erent
variables in axioms which can be used later for the derivation of assertions based on
measured runtime data. We illustrate and evaluate the ontology-based approach
with two types of runtime failure (RTFs) from a real-world use case study in
the area of industrial automation systems. Major result was that the integrated
design-time and runtime engineering knowledge enables the e ective detection
of normally hard to identify runtime failures.</p>
      <p>In the remainder of the paper we survey relevant engineering models for their
contributions and limitations to support runtime decision making; we describe
a real-world case on runtime failure detection for collecting evidence to which
extent richer and better integrated semantic knowledge can translate into better
decision making.
2</p>
      <p>Evolution of Engineering Models towards Runtime
System Analysis and Adaptation
Engineering models have evolved from means to structure complex domains
and designs at design time towards model-driven approaches that bring domain
information closer to implementation and runtime. However, systems that are
designed for adaptation at runtime need more advanced approaches to provide
relevant and accurate engineering knowledge to guide runtime system analysis
and adaptation.</p>
      <p>
        Structuring design complexity. Models are used on various levels in
software engineering: Data models like entity relationship (ER) diagrams originate
in the late 1970s [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. With the Uni ed Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] a
standardized set of diagrams and modeling techniques were introduced for object-oriented
design. However, these models are mostly used initially during the design time
of a project and get seldom adapted to changes during implementation or
operation.
      </p>
      <p>
        Connecting design and implementation. There are tool providers, who
claim to support round trip engineering from design models to source code and
back. However, a stronger and more consistent integration between the design
models and the implementation phase artifacts comes from the Model-Driven
Architecture (MDA), Model-Driven Development (MDD) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], and Model-Driven
Con guration management. There are several interesting aspects about MDD:
The models develop from high-level abstractions to concrete code over several
intermediate steps. The initial model can be a general UML model or a
domainspeci c language model. In MDD (opposed to earlier modeling approaches) the
model is used also in the implementation phase, i.e., used to create
platformspeci c code, but is not used at runtime. There also exist approaches for using
MDA for the engineering of automation systems. Melik-Merkumians et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
present an approach that separates between logical control applications and the
plant model. The logical control application models the intended behavior of
the control application in a target independent way. The plant model de nes
the control devices, their abilities, and their interconnections (e.g.,
communication system). By mapping both models together the control code executed in
the control devices with their hardware speci c parameters can be generated
automatically.
      </p>
      <p>
        Connections between design, implementation, and runtime.
Traditional software engineering approaches mostly focus on the development phase
and see con guration management (CM) as a support task. However, CM is an
example model that is valuable at design time, implementation, deployment, and
runtime. Some approaches thus suggest including CM and application life cycle
management (ALM) into the MDD concept [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Runtime needs of distributed recon gurable software-intensive
systems. Ahluwalia et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] observe a shift from "monolithic to highly networked,
heterogeneous, interactive systems" that has led to a "dramatic increase in both
development and system complexity", where at the same time the "demands for
safety, reliability, and other qualitative attributes have increased across
application domains." Oreizy et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] additionally mention the necessity of "runtime
evolution" of modern multi-user, distributed systems. Today many deployed
applications gradually evolve over time (ideally without downtime for users) rather
than undergo "big bang" version updates. Examples for such applications are
eCommerce Services like Online-Banking applications as well as most "Web 2.0"
applications. The problem gets particularly critical in domains like distributed
real-time and embedded systems as in automotive and production automation
industry applications.
      </p>
      <p>
        Feedback of runtime experience to design. An underlying trend is to
bring development activities closer to the runtime environments, i.e., using data
from the deployed system for engineering purposes (e.g., QoS parameters).
Additionally, we observe more intensive research activities [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to design and apply
MDD where the models do not stop at development but also support the runtime
environment of the system. Recent research investigates mechanisms towards
automatic runtime failure detection [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and ultimately self-healing systems. Garlan
et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] describe model-based approaches for self-healing autonomous systems
with a similar idea: remove the traditional separation between system
creation/modi cation and runtime environment with an integrated approach. The authors
particularly point out that system-internal exception handling and con guration
(hence not always easy to change) is problematic in many modern systems as
they are designed to run continuously, and also updates and recon guration
should be done without system shutdown.
      </p>
      <p>
        Ontologies for connecting design-time and runtime data models.
An ontology is a representation vocabulary for a speci c domain or subject
matter, e.g., production automation. More precisely, it is not the vocabulary as such
that quali es as an ontology, but the (domain-speci c) concepts that the terms in
the vocabulary are intended to capture [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The infrastructure of MDA provides
architecture for creating models and meta-models, de ning transformations
between these models, and managing meta-data. Although the semantics of a model
is structurally de ned by its meta-model, the mechanisms to describe the
semantics of the domain are rather limited compared to machine-understandable
representations using, e.g., knowledge representation languages like RDF2 or OWL3.
In addition, MDA-based languages do not have a knowledge-based foundation to
enable reasoning (e.g., for supporting QA), which ontologies provide [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Beyond
traditional data models like UML class diagrams or entity relationship diagrams,
ontologies provide methods for integrating fragmented data models into a
common model without losing the notation and style of the individual models [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
The usage of ontologies for knowledge representation and sharing, as well as
for and high-level reasoning could be seen as a major step towards the area of
agent-based control solutions [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Exploitation of semantics and ontologies in
the area of agent-based industrial systems has become one of the major research
areas in the last few years, primarily because of the success and promotion of
semantic web technologies to enable better communication between machines
and people [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Ontologies are considered here as an essential technology for
semantic web development guaranteeing data and information interoperability
in heterogeneous and content-rich environments [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>An Integrating Engineering Knowledge Base</title>
      <p>In this section, we introduce the Engineering Knowledge Base (EKB), a set
of relevant information elements about components in machine-understandable</p>
      <sec id="sec-2-1">
        <title>2 Resource Description Framework: http://www.w3.org/RDF 3 Web Ontology Language: http://www.w3.org/2007/OWL</title>
        <p>format using ontology syntax. Components can query the EKB at runtime to
retrieve information for detecting normally hard to identify failures or
implausibilities of the current system.</p>
        <p>Figure 2 illustrates 3 major phases in the life cycle of complex industrial
automation systems:
1. Design time: Models that describe the automation system layouts, the recipes
of the manufactured products, etc. are transformed into executable program
code and design-time con guration instructions.
2. In the Deployment phase, the executable program code is deployed into
installable packages and the runtime con guration is derived from the
designtime con guration.
3. At runtime the deployed program code for system operation gets installed to
a set of components and the runtime con guration gets injected into these
components.</p>
        <p>This architecture has proven e ective for systems whose properties change
seldom, since the e ort needed for transformation, deployment, and injection is
considerable.</p>
        <p>However, typical complex industrial automation systems also su er from
failures, e.g., if some components fail or become unavailable. To support failure
detection, the components need to be able to perform decisions at runtime, since a
complete new iteration of model transformation, program code deployment, and
con guration injection would take too long. A major challenge of runtime failure
detection is to provide access to relevant design-time information that is
usually stripped away during transformation for e ciency reasons. The Engineering
Knowledge Base (EKB) provides a place for storing design-time information that
seems valuable for supporting runtime failure detection of components, especially
in the case of handling failures or unplanned situations (but not transformed into
runtime code or con guration to limit their complexity).</p>
        <p>Components can query the EKB at runtime with semantic web query
languages like SPARQL4 (SPARQL Protocol and RDF Query Language) or SWRL5
(Semantic Web Rule Language), which provide to the components the full
expressive power of ontologies, including the ability to derive new facts by reasoning.
In addition, components can feed back interesting observations into the runtime
information collection of the EKB and therefore help to improve the design-time
models (e.g., by improving estimated process properties with analysis of actual
runtime data) and/or check the information based on a certain set of assertions.
Furthermore, valuable deployment information can also be stored in the EKB in
order to support and enhance for further deployments.</p>
        <p>Based on the design-time information, it is possible to de ne a set of runtime
assertions in the EKB. These runtime assertions observe the runtime information
fed back into the EKB and can notify a speci c role or system if the violation
of an assertion has been detected.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Real-World Use Case and Results</title>
      <p>In this section we describe two real-world failure use cases which could lead to
equipment defects and/or waste of used production material. Especially failures
which are hard to identify by traditional means can lead to subsequent equipment
damage and decrease of process performance. Therefore the identi cation of such
failures is of great importance. We will show that such failures can be identi ed
by usage of the EKB. We will also see that the EKB can provide soft sensors by
simple (and therefore easy to implement in PLC (programmable logic controller)
programs) reasoning of process data. The runtime assertions will be given in
pseudo code samples. The assertions can be evaluated periodically, as it would
be in a traditional PLC environment, or in regard to certain events, like the</p>
      <sec id="sec-3-1">
        <title>4 www.w3.org/TR/rdf-sparql-query 5 www.w3.org/Submission/SWRL</title>
        <p>change of a sensor value. As long as all needed sensor inputs and PLC outputs
are available and stable, the current system status is correctly mapped.</p>
        <p>
          The model we use to demonstrate our failure use cases is an educational
process plant in the Odo-Struger-Laboratory6. Figure 3 shows the P&amp;ID
(Piping and Instrumentation Diagram) of the tank model. It consists of two tanks,
T101 and T102, which are on di erent height levels. The upper tank (T102)
contains an ultrasonic level sensor (B101) which measures the distance of the liquid
surface to the upper tank closure, and a oat lever which represents a critical
low level of the liquid. The lower tank (T101) consists of three oat levers (a
critical upper level (B114), a lower level (B104), and a critical lower level lever
(B113)), a heater (E104), and a temperature sensor (S111). The two tanks are
connected by several pipes which are opened or closed by several valves (the
symbols marked with V). Valves are usually not equipped with sensors to
determine their current state, due to nancial reasons. The liquid transportation
from the lower to the upper tank is done by the pump P101, The actual ow
caused by the pump is measured by the ow meter (B102). Even as this process
plant is an educational model it represents a typical plant con guration in the
process industry. Listing 1 shows some of the EKB's triples de ning the tank
T101 with blabla. For a complete listing of the EKB's triples representing the
P&amp;ID model elements please refer to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>Listing 1. Example of EKB triples representing P&amp;ID model elements
&lt;Tank r d f : ID="T102"&gt;
&lt;c o n t a i n s &gt;</p>
        <p>&lt;F l o a t L e v e r r d f : r e s o u r c e="#LS 102"/&gt;
&lt;/c o n t a i n s &gt;
&lt;c o n t a i n s &gt;</p>
        <p>&lt;L e v e l S e n s o r r d f : r e s o u r c e="#LIC 102"/&gt;
&lt;/c o n t a i n s &gt;
&lt;connected To&gt;</p>
        <p>&lt;P i p e C o n n e c t o r r d f : r e s o u r c e="#PC B102 1"/&gt;
&lt;/connected To&gt;
&lt;connected To&gt;</p>
        <p>&lt;P i p e C o n n e c t o r r d f : r e s o u r c e="#PC B102 2"/&gt;
&lt;/connected To&gt;
&lt;c a p a c i t y r d f : d a t a t y p e="xml:# f l o a t " &gt;1000.0 &lt;/ c a p a c i t y &gt;
&lt;/Tank&gt;</p>
        <p>RTF-1: Undetected valve V101 failure in the pump pipe section. In
this scenario the liquid in tank T101 shall be pumped into tank T102. Therefore
valve V104 must be closed and the valves V109 and V101 must be opened.
We now assume that one or both valves that should be open are defect and
therefore unable to get into the open position. As the control has no means to
control the position of the valves the pump P101 starts. Such a situation can lead
to the destruction of the pump, as it is either pumping against the impregnable
6 The industrial automation systems laboratory of the Automation and Control
Institute, Vienna University of Technology
resistance of valve V101, or it will be soon out of water as valve V109 inhibits
further water supply, which leads to destruction by for example rotary pumps.</p>
        <p>
          To avoid such equipment failure it is common to use a ow meter (B102 in
Figure 4), which can be used compare the actual ow with the anticipated ow
value. If those two values di er too much the pump can be put into an emergency
shut down. But if the ow meter is defect or the ow meter is omitted for cost
reduction, the failure can not be detected anymore. Such failures can lead to
huge costs due to equipment loss, material waste, and additional down times
and should therefore be avoided. Engineering knowledge can be used to provide
a simple rule to check the functionality of the pump system. As the upper tank
T102 has a level sensor it can be checked if the liquid level of the upper tank is
rising if the pump is activated. A more correct model would additionally be able
to determine if the level rising is proportional to the actual pump power. Through
consequent usage of engineering knowledge such \soft sensors" (instead of a real
sensor the value has been calculated from the process model) can be created.
By comparison of the measured and calculated ow value the system can also
determine if the ow meter or the pump is behaving as expected. Listing 2 shows
this query in pseudo code. For a complete listing of the query in full SPARQL
syntax please refer to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>Listing 2. Pseudo code query for detecting failures of V101
w h i l e ( P101 . i s A c t i v e ( ) )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as x )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as y )
i f ( x . getTimestamp ( ) &lt; y . getTimestamp ( ) )
i f ( NOT ( y . g e t L e v e l ( ) &gt; x . g e t L e v e l ( ) ) )</p>
        <p>&lt;&lt; r a i s e alarm &gt;&gt;</p>
        <p>RTF-2: Leakage in valve V102 with subsequent material loss. Such
a failure can lead to enormous costs due to material waste, lower quality end
product (perhaps even to low to sell), and wasted production time. Especially the
wasted production time is costly as process engineering processes (like re ning
and chemical processes in general) usually need long times to be completed. Such
failures are hard to detect by conventional alarming mechanisms, as traditional
alarms are only issued if a process value reaches a critical threshold.</p>
        <p>In this scenario we assume that valve V102 is leaky (Figure 5), which is why
the process material in tank T102 is slowly petering out. In an ordinary control
program would only wait for a longer time until the liquid threshold de ned in
the program is attained. There is no way to detect the leakage by simple sensor
or alarm processing, only well grounded personnel in the control room can detect
such a failure in a traditional PLC system.</p>
        <p>Listing 3. Pseudo code query for detecting leakage in valve V102
w h i l e (NOT ( P101 . i s A c t i v e ( ) ) )
i f ( V102 . i s C l o s e d ( ) )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as x )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as y )
i f ( x . getTimestamp ( ) &lt; y . getTimestamp ( ) )
i f ( NOT ( y . g e t L e v e l ( ) == x . g e t L e v e l ( ) )</p>
        <p>&lt;&lt; r a i s e alarm &gt;&gt;
w h i l e ( P101 . i s A c t i v e ( ) )
i f ( V102 . i s C l o s e d ( ) AND V104 . i s C l o s e d ( ) )
i f ( V109 . isOpen ( ) AND V101 . isOpen ( ) )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as x )
f o r ( B102 . g e t S e n s o r E v e n t ( ) as y )
i f ( x . getTimestamp ( ) &lt; y . getTimestamp ( ) )
i f ( NOT ( y . g e t L e v e l ( ) =
x . g e t L e v e l ( ) P101 . getPumpPower ( ) ) )</p>
        <p>&lt;&lt; r a i s e alarm &gt;&gt;</p>
        <p>Once again the usage of engineering knowledge leads to rules capable to
detect this failure. The rst rule is, if the pump P101 is not pumping and valve
V102 is closed, then the uid level of tank T102 has to be constant. If there is
a leakage in the valve then the level would sink. Assuming that the ow meter
B102 is working correct the second rule is, if the valves V102 and V104 are closed,
and the valves V109 and V101 are open, and the pump P101 is pumping, then
the uid level of tank T102 must rise proportional to the actual pump power.</p>
        <p>
          The rst rule is capable of detecting a leakage in tank T102, but the second
rule can only state that some condition is violated. The solution to this problem
is rather easy and e cient. If the second rule res than stop pump P101 and
reevaluate rule one for leakage detection. Another bene t of this behavior is that
the material loss is limited to the content of tank T102 or stopped altogether.
Listing 3 shows this query in pseudo code. For a complete listing of the query
in full SPARQL syntax please refer to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
5
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Summary and Further Work</title>
      <p>In this paper we described an ontology-based approach to provide relevant
design-time and runtime engineering knowledge stored in a so called
Engineering Knowledge Base (EKB). The EKB provides a better integrated view on
relevant engineering knowledge contained in typical design-time and runtime models
in machine-understandable form to support runtime failure detection. This
approach is useful in the industrial automation domain, and can more generally
be used for other (distributed) engineering systems. We illustrated our approach
with two use cases of runtime failure detection from a real-world case study in
the area complex industrial automation systems. The use cases identi ed the
needs for a complex decision system for failures that are only detectable by
combining sensor information with engineering knowledge and showed a feasible
query based approach suitable for the task.</p>
      <p>Major result of the evaluation of the proposed EKB approach was the
possibility to de ne assertions in the EKB which are checked based on the runtime
information input of the running components. This can be seen as external
Quality Assurance (QA) without interfering with the original production system and
therefore it has proven to be easier to enrich existing applications without the
need to make changes to legacy systems (smoother migration path). Further, the
quality of information presented to an operator is improved since all
information both from design-time as well as from runtime is available, leading to more
intelligent runtime analysis and decision support.</p>
      <p>Further important practical issues are to investigate the e ort needed to
import the data from the relevant models into the Engineering Knowledge Base
and improving the performance of data access and reasoning at runtime. The
use of assertions for checking QoS parameters like system throughput is open to
further research too.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgment</title>
      <p>This work has been supported by the Christian Doppler Forschungsgesellschaft
and the BMWFJ, Austria. This work has been partially funded by the Vienna
University of Technology, in the Complex Systems Design and Engineering Lab.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ahluwalia</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krger</surname>
            ,
            <given-names>I.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Phillips</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meisinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model-based run-time monitoring of end-to-end dead-lines</article-title>
          .
          <source>In: 5th ACM international conference on Embedded software (EMSOFT '05)</source>
          . pp.
          <volume>100</volume>
          {
          <fpage>109</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baclawski</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kokar</surname>
            ,
            <given-names>M.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kogut</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hart</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letkowski</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Emery</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Extending the uni ed modeling language for ontology development</article-title>
          .
          <source>International Journal of Software and Systems Modeling (SoSyM) 1</source>
          (
          <issue>2</issue>
          ),
          <volume>142</volume>
          {
          <fpage>156</fpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rumbaugh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>The Uni ed Modeling Language Reference Manual</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chandrasekaran</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Josephson</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benjamins</surname>
            ,
            <given-names>V.R.</given-names>
          </string-name>
          :
          <article-title>What are ontologies, and why do we need them</article-title>
          ?
          <source>IEEE Intelligent Systems and Their Applications</source>
          <volume>14</volume>
          (
          <issue>1</issue>
          ),
          <volume>20</volume>
          {
          <fpage>26</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>P.P.S.:</given-names>
          </string-name>
          <article-title>The entity-relationship model - toward a uni ed view of data</article-title>
          .
          <source>ACM Transactions on Database Systems (TODS) 1</source>
          (
          <issue>1</issue>
          ),
          <volume>9</volume>
          {
          <fpage>36</fpage>
          (
          <year>1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Garlan</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , Lopez de Vergara, J.,
          <string-name>
            <surname>Fernandez</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Munoz</surname>
          </string-name>
          , R.:
          <article-title>A model-driven conguration management methodology for testbed infrastructures</article-title>
          .
          <source>In: IEEE Network Operations and Management Symposium NOMS 2008</source>
          . pp.
          <volume>747</volume>
          {
          <fpage>750</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hepp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Leenheer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Moor</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sure</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          : Ontology Management: Semantic Web,
          <source>Semantic Web Services, and Business Applications</source>
          . Springer-Verlag (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Love</surname>
          </string-name>
          , J.:
          <source>Process Automation Handbook: A Guide to Theory and Practice</source>
          . Springer-Verlag London (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Melik-Merkumians</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moser</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schatten</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zoitl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Knowledgebased runtime failure detection for industrial automation systems</article-title>
          .
          <source>Tech. rep., Christian Doppler Laboratory for Software Engineering Integration for Flexible Automation Systems</source>
          Vienna University of Technology, Austria (
          <year>2010</year>
          ), http://cdl.ifs.tuwien.ac.at/ les/MRT2010 tr.pdf
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Melik-Merkumians</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wenger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hametner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zoitl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Increasing portability and reuseability of distributed control programs by i/o access abstraction</article-title>
          .
          <source>In: 15th IEEE International Conference on Emerging Techonologies and Factory Automation - Work in Progress Track</source>
          . p.
          <article-title>accepted for publication (</article-title>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Melik-Merkumians</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zoitl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moser</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Ontology-based fault diagnosis for industrial control applications</article-title>
          .
          <source>In: 15th IEEE International Conference on Emerging Techonologies and Factory Automation - Work in Progress Track</source>
          . p.
          <article-title>accepted for publication (</article-title>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Merdan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Knowledge-based Multi-Agent Architecture Applied in the Assembly Domain</article-title>
          .
          <source>Ph.D. thesis</source>
          , Vienna University of Technology (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Obitko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mar k</surname>
          </string-name>
          , V.:
          <article-title>Ontologies for Multi-Agent Systems in Manufacturing Domain</article-title>
          .
          <source>In: DEXA '02: Proceedings of the 13th International Workshop on Database and Expert Systems Applications</source>
          . pp.
          <volume>597</volume>
          {
          <fpage>602</fpage>
          . IEEE Computer Society, Washington, DC, USA (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Oreizy</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Medvidovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , R.N.:
          <article-title>Architecture-based runtime software evolution</article-title>
          .
          <source>In: International Conference on Software Engineerings (ICSE</source>
          <year>2008</year>
          ). pp.
          <volume>177</volume>
          {
          <fpage>187</fpage>
          . IEEE Computer Society (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Tim</surname>
            Berners-Lee,
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassita</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The semantic web</article-title>
          .
          <source>Scienti c American</source>
          <volume>284</volume>
          , 34{
          <fpage>43</fpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Vlter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Model-driven Software Development</article-title>
          . John Wiley (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wuttke</surname>
          </string-name>
          , J.:
          <article-title>Runtime failure detection</article-title>
          .
          <source>In: Companion of the 30th International Conference on Software Engineering</source>
          . pp.
          <volume>987</volume>
          {
          <fpage>990</fpage>
          . ACM, Leipzig, Germany (
          <year>2008</year>
          ), 1370219
          <fpage>987</fpage>
          -
          <lpage>990</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>