<!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>Constructive DL update and reasoning for modeling and executing the orchestration of heterogeneous processes ?</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>German Research Center for Arti cial Intelligence (DFKI)</institution>
          ,
          <addr-line>Bremen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Our digital world is characterized by various concurrent processes that interact with the physical world. Each of them follows its own rules and goals and only few of them are under a central control. While usually a human mediates between these processes, we developed the SHIP-tool to orchestrate these processes automatically. It uses Description Logic to represent a current state, which is constantly updated by messages sent by sensors and other processes. Temporal-logical formulas act as monitors that supervise the evolution of the system. The failure or success of monitors can initiate procedures given as programs on actions and speci ed in a Dynamic Logic. In this paper we describe in particular the aspect of storing and maintaining the state of the system in Description Logic ontologies. We formulate restrictions on ABoxes and their updates to always ensure a constructive speci cation of the current state while keeping the general rules of the system (i.e the TBox and RBOX) invariant.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>While independently developed computer systems obtain more and more the
ability to communicate with each other on a technical level, there is an upcoming
need to orchestrate and combine the processes performed by these systems on
an operational or work- ow level. In the past, typically humans were responsible
to supervise the processes and to translate and exchange important information
between them. The SHIP-Tool is an attempt to automate this task and is based
on an abstract (logic) symbolic representation of an actual situation, the ways the
processes can change a situation, and the expectations of future developments
in a situation.</p>
      <p>It provides an implementation, execution and simulation platform for
workow processes allowing the user to integrate and monitor existing devices,
services or even entire systems. This is achieved by providing a logical formalism to
describe the real world in an abstract way. Changes in the real world are
communicated to the tool in terms of updates changing its abstract representation.
? This work is supported by the German Federal Ministry of Education and Research
(BMBF) under grant 01 IW 10002 (SHIP)
Vice versa, the tool can initiate changes in the real world by executing actions
or processes.</p>
      <p>Complex behaviors can be de ned guided by changes in the abstract world.
The behavior of the world is monitored. Process descriptions can be provided to
react on successful or failed developments of the world. This enables us, for
instance, to monitor the behavior of a black-box device or some users and to react
to any non-expected behavior. At the other end of the spectrum it allows us to
dene complex activities and work- ows in terms of processes acting on existing
devices and services and communicating with the user.
The interweavement of process
descriptions with monitoring as well as
the interleaved execution of parallel
processes, both based on the same
world representation, provides a
powerful formalism to implement
processes to assist and monitor activities
in the environment in interaction with
users and based on existing services
and devices.</p>
      <p>
        Using Description Logic to
represent the environment allows for
processes being dynamic description logic
(DDL) programs [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] over environment
representations in description logic
ontologies. Monitors can be invoked from
dynamic logic processes: if the
behavior is entirely observed, the monitor
invocation is successful (it may well never terminate if it is an invariant that always
holds, or expecting eventually a property to hold, but which never holds). If the
behavior is violated, the monitor invocation process fails and can be dealt with
on the dynamic logic level like any other failing process.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Basic Concepts</title>
      <p>
        Modeling the World. The SHIP-Tool uses description logic [
        <xref ref-type="bibr" rid="ref4 ref9">9, 4</xref>
        ] to represent
the knowledge of an application domain in an ontology. The syntax SHIP-DL
is an extension of standard DL to supports modularization and renaming and
syntactic sugar to ease the declaration of abstract datatypes.
      </p>
      <p>Given a set NC of concept names, a set NR of role names and a set of NI
of individuals, concepts are de ned inductively from NC and roles from NR. We
introduce the description logic SROIQ, which will be used for queries, but only
its SRIQ fragment will be used to de ne the ontology. For SROIQ, concepts are
formed using the constructors given in Table 1, where T and F are prede ned
top and bottom atomic concepts, C and D are either concept names from NC or
Name
Top
Bottom
Atomic concept
Intersection
Union
Negation
Value Restriction
Existential quant.</p>
      <p>Number Restriction
Nominal concept</p>
      <p>Syntax
T
F
c 2 NC
C u D
C t D
:C
8R:C
9R:C
= n R.C
n R.C
n R.C
fi1; : : : ; ing</p>
      <sec id="sec-2-1">
        <title>Semantics under interpretation I</title>
        <p>I
;
cI
CI \ DI
CI [ DI</p>
        <p>I nCI
fa 2 I j8b:(a; b) 2 R ) b 2 CI g
fa 2 I j9b:(a; b) 2 R ) b 2 CI g
fa 2 I jjfb 2 I j(a; b) 2 RI j = ng
fa 2 I jjfb 2 I j(a; b) 2 RI j ng
fa 2 I jjfb 2 I j(a; b) 2 RI j ng
fi1I ; : : : ; iIng
complex concept expressions formed accordingly, R is either a role name from
NR or the inverse of a role name R 1, and ij are individual names from NI .</p>
        <p>The terminological part of an ontology consists of de nitions and inclusion
axioms of concept and role names. Concept names c can be declared as
subconcepts of concepts by concept inclusion axioms c v D or de ned by concept
equality c = D. Disjointness of concepts is declared by Disjoint. A concept name
c directly depends on a concept name d if c is de ned by c = D and d occurs in
D. A concept name c depends on a concept name d, if c directly depends on d
or there exists a concept name e which depends on d and c directly depends on
e. We denote the dependency relation between concept names by &gt;c.</p>
        <p>Roles are declared by indicating their domain and range. Similar to concepts,
subroles can be declared by limited complex role inclusion axioms r0: : : : :rn v r
where r 2 NR and '.' denotes role composition. Furthermore, role names can be
de ned as the composition of roles r = r0: : : : rn or as the re exive, transitive
closure of another role r = r0*. This is not expressible in description logic and
it is translated to r0 v r, Trans(r), Ref(r) when translating to DL. However, it
is important as a meta-property to ensure that nothing else than the transitive
closure of r0 is in r when enforcing constructiveness of ontologies and it will be
used there. SHIP supports the standard role properties Sym, Asym, Trans, Ref,
Irref, Func, and FuncInv). A role name directly depends on a role name r0 if r
is de ned by r = R and r0 occurs in R. A role name r depends on a role name r0,
if r directly depends on r0 or there exists a role name r00 which depends on r0
and r directly depends on r0. We denote the dependency relation between role
names by &gt;r.</p>
        <p>For SHIP, a TBox consists of the concept inclusions, de nitions and
disjointness assertions from Table 2 and those obtained to encode role declarations
r:C D. An RBox consists of role inclusions and de nitions as show in Table 2
and property assertions. Furthermore, we require the induced dependency
rela</p>
      </sec>
      <sec id="sec-2-2">
        <title>Concept inclusion c v C, c 2 Nc, C in SRIQ</title>
        <p>Concept de nition c = C, c 2 Nc, C in SRIQ</p>
      </sec>
      <sec id="sec-2-3">
        <title>Concept disjointness Disjoint(c,d), c; d 2 Nc</title>
      </sec>
      <sec id="sec-2-4">
        <title>Role declaration r : C D, r 2 Nr, C; D in DI</title>
        <p>SRIQ</p>
      </sec>
      <sec id="sec-2-5">
        <title>Role inclusion r0: : : : :rn v r, r 2 NR, n 1 r0I rnI rI</title>
        <p>Role de nition r = r0 . ... . rn, r 2 NR, r0I rnI = rI where
n 1 RI R0I = f(x; z)j9y:(x; y) 2</p>
        <p>RI; (y; z) 2 R0Ig.</p>
        <p>r = r0*, r 2 NR r0I rI
Role properties Fun(r), Invfun(r), Ref(r), as usual</p>
        <p>Irref(r), Trans(r), Sym(r),</p>
        <p>Asym(r), r 2 Nr
Table 2. TBox- and RBox-assertions and their satis ability in an interpretation I
I j= ' if . . .
cI CI
cI = CI
cI \ dI = ;
RI CI
tion on concept and role names to be irre exive (i.e. we consider acyclic TBoxes
and RBoxes modulo the transitivity of roles). The TBox and RBox form the
terminological part of a SHIP-ontology.</p>
        <p>In addition we use the following syntactic sugar to ease the de nition of
ontologies in a style inspired by abstract datatypes:
{ c ::= C1(r11 : D11; : : : ; r1n1 : D1n1 )|...|Cm(rm1 : Dm1; : : : ; rmnm : Dmnm ), c 2 NC
is expanded to
c = C1 t : : : t Cn and
Disjoint(Ci; Cj) 8i 6= j.</p>
        <p>Ci v (9ri1:Di1) u : : : u (9rini :Dini ) 81 i m, and
rij : Ci Dij, Fun(rij) 81 i m; 1 j ni.</p>
        <p>As an example consider the DL declarations de ning Lists over elements Elem.
List ::= EmptyList</p>
        <p>| NonEmptyList ( hd : Elem , tl : List )
which is expanded to
List = EmptyList t NonEmptyList
Disjoint ( EmptyList , NonEmptyList )
NonEmptyList v (9hd . Elem ) u (9tl . List )
hd : NonEmptyList Elem
Fun ( hd )
tl : NonEmptyList List
Fun ( tl )</p>
        <p>The ABox part consists of a list of concept assertions a:C, C in SRIQ, declaring
a to be a member of the concept C, and role assertions (a,b):R, stating that
relation R holds between the individuals a and b. For every SHIP-DL-ontology
we assume the unique name assumption. Complex ontologies can be composed by
importing and renaming existing ontologies. For instance from the List-ontology
before we build an ontology for Routes specifying routes along Positions by
hmonitor i ::= `monitor' hstringi hparamsi `=' hfoltl i
hfoltl i ::= haboxassi j `not' haboxassi j hstringi hparamsi j hfoltl i `and' hfoltl i
j hfoltl i `or' hfoltl i j hfoltl i `=&gt;' hfoltl i j (`all' j `ex') haboxassi `.' hfoltl i
j `(' hfoltl i `)' j (`X'j`F'j`G') hfoltl i j hfoltl i `U' hfoltl i
import basic . Lists with
concepts Elem as Position , List as Route , E mp ty Li st as</p>
        <p>EmptyRoute , N o n E m p t y L i s t as N o n E m p t y R o u t e
roles hd as route_next , tl as r o u t e _ r e s t
i n d i v i d u a l s nil as e m p t y r o u t e
where nil:EmptyList is declared in the List-ontology as an empty list.</p>
        <p>
          Throughout the rest of the paper we will denote by O ` ' that ' is satis ed
by the ontology O, where ' can be a TBox, RBox or ABox-assertion.
Monitors. SHIP uses linear temporal logic (LTL) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] to observe temporal
properties about ontology updates. In practice, these properties are used to express
an expected behavior of the environment, or to detect speci c situations over
time that require some actions. We call programs that monitor such properties
simply monitors. In SHIP, monitors can be started at any time and are
evaluated w.r.t. a nite set of ontology updates that occurred between the start of the
monitor up to the current time or its termination. Thereby, it does not matter
whether the update was performed by a SHIP-process or the environment.
        </p>
        <p>When monitoring a property, di erent situations can arise: (i) the property is
satis ed after a nite number of steps { in this case, the monitor evaluates to true
and terminates successfully; or (ii) the property evaluates to false independently
of any continuation { in this case, the monitor terminates with failure; or (iii) the
behavior that was observed so far allows for di erent continuations that might
both lead to a failure as well as success { in this case, the monitor is still running.</p>
        <p>
          The language is a rst-order temporal logic over description logic
ABoxassertions and similar to that used in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. First-order quanti cation is over
individuals, which are exible constants from a logic point of view, and interpreted
over the current world. Hence, quanti cation is over the nite set of individuals
in the current ontology at the moment when the quanti ers are expanded. This
can be arbitrarily often as in F(all x . x:C) and not be determined beforehand.
We use the formulas as part of the process language and to reason about the
SHIP processes, though. Fig. 1 shows the grammar for monitors. The temporal
operators are X indicating the next world, F indicating some point in the future,
G stating that a property must hold globally, and U stating that a property must
hold until another property becomes true. As ABox-assertions in the monitor
language we allow for concept assertions a : C, where C is from the full SROIQ
and not only from SRIQ as in the ABox.
        </p>
        <p>As an example for a monitor formula we consider a use case where di erent
autonomous wheelchairs operate in a building in which they can ride along routes
consisting of positions. The SHIP-Tool has been used to add a control layer on
top of the wheelchairs to avoid con icting situations by scheduling the routes
of the wheelchairs. One simple behavior one wants to monitor is when a new
schedule must be computed. The part of the ontology specifying Routes has
been introduced before. For the purpose of illustrating this monitor, we use the
following TBOX/RBOX-assertions:
IDObject ::= WheelChair ( whc_route : Route , whc_carries : OptPerson )
| OptPerson
OptPerson = Person | Nobody
WCEmptyroute = WheelChair u 9 whc_route . EmptyRoute
WCNonEmptyroute = WheelChair u 9 whc_route . NonEmptyRoute
It de nes WheelChairs to have a route and carrying a Person or Nobody.
Subconcepts are wheelchairs having an empty resp. a non-empty route. To know if a
new schedule must be computed, we must successfully observe the behavior:
(9wc : WCEmptyroute .F( wc : WCNonEmptyroute )) or
(9wc : WCNonEmptyroute .</p>
        <p>
          F( wc : WCEmptyroute and F( wc : WCNonEmptyroute )))
This expresses that either in the current situation we have a wheelchair with an
empty route and that wheelchair eventually gets a non-empty route. Or there is
a wheelchair which currently has a non-empty route, eventually gets an empty
route and then again eventually a non-empty route. If one of these behaviors
is observed, then we must compute a new schedule. The actual monitoring is
performed by formula progression (see, e.g., [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]) after each update. Although
formula progression in principle has some disadvantages over the translation
into automata, we use formula progression as at each state of the progression
the expectations on the future are immediately available in a formula and can be
used for inspection, for instance to determine suitable next actions. Note that we
are at this stage not interested in proving properties about SHIP-processes, but
rather use it at run-time to observe behavior of the environment. Hence, even
trivially true formulas like X(X(X True)) is not super uous, but a valid means to
observe four clock-steps.
        </p>
        <p>Another example making use of the expressivity provided by SROIQ is when
some light l in an area of the at should be on depending on the current day
time time, planned rides of the wheelchairs and where the occupants of the at
currently are:
monitor LightShouldBeOn ( time ,l) =
time : Night and l: AbstractOff and
9area :( Area u (9 associated_light 1. { l }) ) .
( // 1. Either some wheelchair has a non - empty route , and ...
(9wc : WCNonEmptyroute . (
// carries a person or there is a person in the area ...
( wc : WCCarriesPerson or 9 person :( Person u (9 elementIsInArea
. { area }) ) . true )
and // ... the wheelchair is already in or about to enter
(( wc , area ): elementIsInArea or (wc , area ): wcnextarea )))
Name
simple
condition
complex
condition
iteration
sequence
monitor
start
guarded
execution
parallel
bounded
parallel</p>
        <p>Syntax</p>
        <p>Semantics
if a then b branches according to a or waits until a can be decided
else c
switch branches according to the speci ed cases
case c1 =&gt; p which are checked in order. can be used
: : : as default case, then, the condition never
case ck =&gt; p stutters.
p* applies p until it fails, always succeeds
p ; q applies p then q
init m starts the monitor, continues when the monitor succeeds
or fails when the monitor fails
p +&gt; q executes p; if p fails, q is executed, but the modi cations
of p are kept
p jj q executes p and q in parallel (interleaved), terminates when
both p and q terminate, fails when one of them fails
forall c =&gt; p executes p for all instances matching c in parallel,
terminates when all terminate, fails when one of them fails</p>
        <p>Table 3. Process combinators
or // the w he el ch ai r is assigned to a person in the same area
(9 person :( Person u (9 e l e m e n t I s I n A r e a . { area }) ) .
9 wc :( W he el Ch air u (9 w c A s s i g n e d T o P e r s o n . { person }) ) .</p>
        <p>
          ( wc , area ) : e l e m e n t I s I n A r e a ) )
Actions and Processes. The SHIP processes are dynamic description logic
processes based on actions and similar to those in the literature (e.g, [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]). Actions
(p) = hpre; e i represent parametrized atomic interactions with the
environment and consist of a nite set of ABox assertions pre, the preconditions, and
a set e of conditional e ects '= , where ' and are ABox assertions. An
action is applicable on an ontology O if all its preconditions are satis ed in O,
i.e., O ` pre. In this case, O is updated to a new ontology O0 by applying all
conditional e ects whose conditions also hold in O. If O0 is inconsistent, then
the action fails and we keep O as the current ontology. Otherwise the action
succeeds and O0 is the new current ontology. If the preconditions are not satis ed,
the action stutters, i.e., waits until it gets applicable. skip is the action which is
always applicable and does not modify the ontology.
        </p>
        <p>Using free variables in the e ects, new individuals can be added to O, where
a fresh name is created at run-time. By annotating a variable with delete,
individuals can also be removed from the ontology. This is necessary, for instance,
to remove individuals whose counterpart in the real world no longer exists.</p>
        <p>SHIP provides a language to de ne complex processes that interact with the
environment. Starting from actions, complex system behaviors can be described
by combining other processes as well as by interacting with monitors. Starting
from atomic actions, more complex processes can be de ned using the
combinators shown in Table 3.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>States and Their Updates</title>
      <p>
        The states of a speci ed system are represented by ABoxes with respect to xed
TBox and RBox and the transition of states corresponds to ABox-updates. Thus
ABox-updates do not change the underlying TBox/RBox semantics
characterizing the overall system states. Hence the approach to ABox-updates from [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is
not suitable for our setting and we are in the spirit of the updates in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
However, we want to constrain our ontology in order to have checkable properties
ensuring the completeness of ontologies to make the computation of ontologies
resulting from updates e cient.
      </p>
      <p>Following this line of reasoning we interpret the construction of complex
concepts as a kind of speci cation for abstract datatypes. The use of an existential
quanti cation in IDObject v 9at . AbstPosition corresponds to the de nition
of a mandatory attribute \at" indicating a position in the abstract datatype
denoted by IDObject. Conjunction of concepts combines the attributes of the
corresponding datatypes while disjunction of concepts resembles the notion of
variants.
3.1</p>
      <sec id="sec-3-1">
        <title>Constructive Ontologies</title>
        <p>Similar to an initialization of all records in new instances of a data-structure we
want to enforce a constructive de nition of each individual of a complex concept
in an ABox. For instance, having an individual d for the concept IDObject above,
we know that d has a position and we demand that the ABox should also provide
the knowledge which position d actually has. Furthermore, since we allow for
disjunction of concepts D v E t F we also want to know for each individual in D
whether it belongs to E or F or both. That means that for any individual d of
a (complex) concept the ABox always provides the full information about the
composition and settings of the individual. In other words, the ABox provides
the individuals necessary to name the values of the various attributes and there
is no need to invent new values by introducing Skolem functions.</p>
        <p>The same rigor of constructiveness is applied to the speci cation of roles.
SHIP allows for the de nition of composed roles, e.g. by de ning r = r1 r2.
Knowing that two individuals a; b are in the relation r there must be some
individual c such that (a; c) : r1 and (c; b) : r2 holds. We demand that also this
witness is speci ed explicitly, i.e. the ABox contains some individual c and the
necessary relations between c and the individuals a and b.</p>
        <p>These properties can be formalized in the following de nition of constructive
ontologies, where E denotes the negation of concept E in negation normalform.</p>
        <p>Let O := hT; R; Ai be an ontology wrt. concept names NC , role names NR and
individual names NI . The signature of O is O := ( C ; R; I ) (NC ; NR; NI )
of those names of concepts, roles and individuals occurring in O. An ontology O
is constructive i the followings hold:
1. if a 2 I , O ` a : D and O ` D v 9r:E then there is some b 2
O ` b : E and O ` (a; b) : r</p>
        <p>I with
2. if a 2 I , O ` a : D and O ` D v ( n r:E) then there exist distinct
b1; : : : ; bn 2 I with O ` bi : E and O ` (a; bi) : r
3. if a 2 I , O ` a : D and O ` D v E1 t E2 then O ` a : Ei or O ` a : Ei for
i = 1; 2
4. if O ` (a; b) : r with a; b 2 NI and O ` r = r1:r2 then there is some c 2 I
such that O ` (a; c) : r1 and O ` (c; b) : r2.
5. if O ` (a; b) : r with a; b 2 I and O ` r = r1 then there is a set
fc1; : : : ; ckg I such that O ` (ci; ci+1) : r1 for all i 2 f1; : : : ; k 1g
and a = c1 and b = ck.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Minimal Representation of States</title>
        <p>
          Demanding constructive ontologies to specify a system (TBox + RBox) and its
actual state (ABox), the concepts an individual belongs to are basically de ned
bottom up. Given an individual a of a xed concept D the de nition above
requires the speci cation of additional information about a. In many cases this
\additional" information is now su cient to deduce that a is (also) of concept
D making the original speci cation that a : D redundant (even worse, specifying
explicitly a : D would render the ontology inconsistent). Analogously to Nebel
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] we distinguish between primitive and de ned concepts and roles. In a rst
step we modify the given TBox by making equalities between concepts explicitly.
Whenever the TBox comprises a set of axioms of the form c v Di; i = 1; : : : ; n
we check whether also O ` D1 u : : : u Dn v c holds. If it holds then we replace
the set of axioms by an equation c = D1 u : : : u Dn if that does not violate the
acyclicity condition of the TBox+RBox. Obviously, this change of axioms does
not change the models of the ontology.
        </p>
        <p>Based on this normalized TBox the acyclic dependency relation &gt;c on
concepts is used to de ne that a concept c 2 c is de ned i there is a concept
d 2 c such that c &gt;c d holds and otherwise primitive. Analogously, we use the
acyclic relation &gt;r on roles to de ne de ned and primitive roles.</p>
        <p>Now, given an ontology O we will enforce non-redundancy by imposing that
all ABox-assertions are only primitive concept and role assertions. Furthermore,
we use the criteria from the last section to check that O is constructive. As
an example, consider the ontology for Lists from Section 2. The only primitive
concept is EmptyList and the primitive roles are hd and tl. The ABox containing
only the primitive assertions nil:EmptyList, (a,nil):tl is non-redundant, but
not constructive. Adding the primitive assertion (a,e):hd makes it constructive.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Updates</title>
        <p>In our setting, updates of the ABox correspond to state transitions of the
speci ed system. The updates are initiated either by the processes (cf. Section 2)
running in the system or by the environment interacting with the system.
Regardless of the source of an update we demand that updates will always
preserve the constructiveness of the ontology. To this end we enforce that they are
speci ed in a non-redundant form by ABox-assertions exclusively over primitive
concepts and roles. An update is a pair ( ; ), where is a consistent set of
primitive ABox-assertions to be added and primitive ABox-assertions to be
removed. For a given ontology O = hT; R; Ai and consistent primitive update
( ; ) the new ABox is determined from the old ABox by
1. If (i : C) 2</p>
        <p>is removed;
2. If ((a; b) : R) 2
removed.</p>
        <p>and (i : D) 2 A and C and D are disjoint concepts, then (i : D)</p>
        <p>, ((a; c) : R) 2 A and R is functional, then (a; c) : R is
Finally, all assertions from</p>
        <p>are removed. Formally, the update is de ned by
A0 :=
[ (A n ( [f(i : D) 2 Aj(i : C) 2 ; C and D are disjointg</p>
        <p>[f((a; c) : R) 2 Aj((a; b) : R) 2 ; R is functionalg)
The resulting ontology hT; R; A0i may well be inconsistent, for instance if number
restrictions are violated. If so, the update is refused and we stick to the previous
ontology O. If an action triggered the update, the action fails in the process
semantics. If the environment triggered the update, respective repair processes
must have been speci ed to synchronize the SHIP-Tool and the environment. If
the ontology is consistent, it is not necessarily constructive. To this end we use
the procedure from the last section to check if the resulting ontology hT; R; A0i
is constructive. If not, the SHIP-Tool can provide detailed information which
information is missing. This can be used to statically analyse the e ects of actions
of the de ned processes whether they only contain primitive ABox-assertions and
if they are complete enough to preserve constructiveness of the ontology.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>Rami cation: Indirect E ect Rules</title>
        <p>
          Sometimes updates do also have indirect or implicit consequences that are not
necessarily known to the process that performs the update. In such a situation,
it might be necessary to integrate the indirect consequences immediately to the
ontology in order to prevent some monitors to fail, as sending another update
would introduce a new point in time on our time axis. The problem of how
to describe the indirect e ects of an action { or more generally, an arbitrary
update { in a concise way is known as the rami cation problem. In SHIP we use
causal relationships as introduced in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] called indirect e ect rules to describe
indirect e ects that are caused by arbitrary updates. An example of an indirect
e ect rule is shown in Fig. 2. It works as follows: Given an ontology update from
O to O0, the init-assertions are checked on O0. If additionally cond is satis ed
by O, then the indirect e ects in causes are an additional update on O0.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Implementation &amp; Applications</title>
      <p>
        The SHIP-Tool is implemented in Scala1 and uses the Pellet Reasoner [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] as
a Description Logic reasoner. The SHIP-Tool is free software and available from
1 www.scala-lang.org
indirect effect C a r r i e d P e r s o n M o v e s A s W e l l = {
init = ( wc , p ) : at
causes = (x , p ) : at
cond = ( wc , x ) : whc_carries , x : Person ,
wc : W h e e l C h a i r }
http://www.dfki.de/cps/projects/ship/shiptool/shiptool.en.html. The
SHIP-Tool can be used both in direct interaction with the environment as well
as for simulation and testing.
      </p>
      <p>So far, we have used it mainly in three applications: First, for the
orchestration of services in an instrumented living environment, the Bremen Ambient
Assisted Living Lab (BAALL)2. In this application we have developed in the
SHIP-Tool processes to manage transport requests from the inhabitants of the
BAALL, to schedule the routes of the wheelchairs operating in the BAALL and
to provide assistance by automatically opening and closing doors and switching
on and o the lights along the routes of the wheelchairs. A second application is
concerned with medical guideline conformant patient treatment, and is pursued
in the course of the SIMPLE project.3 Another application is the SmartTies
system for the management of the documents arising during the development of
safety-critical software.</p>
      <p>In all these applications the possibility to include behavior monitoring via
LTL over description logic axioms and dynamic description logic proceses
provides a suitable mechanism to develop the processes. With respect to the
updates, the rst attempt to deal with updates was { roughly speaking { to simply
include all e ects of actions. If the new ontology is inconsistent, then we used
axiom pinpointing to compute a minimal set of ABox-assertions already
contained in the previous ABox which must be removed to restore consistency.
That made updates computationally expensive and processes slow. With the
approach presented in this paper, this could be resolved resulting in a sensible
speedup. Moreover, the constraints imposed by the constructiveness criteria on
the ontology and the updates resulted in cleaner ontologies as well as much more
concise formulations of actions.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>This paper presented the SHIP-Tool as a framework to manage the orchestration
of heterogeneous programs. Each of these programs communicate with the
SHIPTool via ABox-updates. The SHIP-Tool allows for the integration of black-box
services by encoding their responses in terms of updates as well as of white-box
programs de ned in terms of Dynamic Description Logic and operating natively
2 http://baall.informatik.uni-bremen.de/
3 http://www.dfki.de/cps/projects/simple
on the concepts de ned in the ontology speci ed in the SHIP-Tool. In the same
way humans interact with the system by ABox-updates. Hence, ABox-updates
become the central notion of computation and we introduced constructive
ontologies to speed up the computation of such updates. The resulting restrictions
on how ontologies in general and ABoxes in particular have to be speci ed also
enforce a proper structuring of the provided concepts and roles. Monitors allow
one to control the overall behavior of the orchestrated system and can initiate
appropriate measures depending on the success or failure of the monitor. The
semantics of the SHIP-Tool is based on combining concepts of dynamic logic,
description logic and temporal logic. Embedding these concepts in a combined
logic, which is actually under development, we will also be able to verify
properties of the systems speci ed and executed inside the SHIP-Tool.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <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.
          <article-title>The description logic handbook: theory, implementation, and applications</article-title>
          . Cambridge University Press, New York, NY, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghilardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          .
          <article-title>LTL over description logic axioms</article-title>
          .
          <source>ACM Transactions on Computational Logic</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          , M. Lippmann, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Using causal relationships to deal with the rami cation problem in action formalisms based on description logics</article-title>
          . In C. G.
          <article-title>Fermuller and A</article-title>
          . Voronkov, editors,
          <source>Logic for Programming</source>
          ,
          <source>Arti cial Intelligence, and Reasoning - 17th International Conference, LPAR-17</source>
          , Yogyakarta, Indonesia,
          <source>October 10-15</source>
          ,
          <year>2010</year>
          . Proceedings, volume
          <volume>6397</volume>
          of Lecture Notes in Computer Science, pages
          <volume>82</volume>
          {
          <fpage>96</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Nutt</surname>
          </string-name>
          .
          <article-title>Basic description logics</article-title>
          .
          <source>In Baader et al. [1]</source>
          , pages
          <fpage>43</fpage>
          {
          <fpage>95</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Bauer</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Falcone</surname>
          </string-name>
          .
          <article-title>Decentralised ltl monitoring</article-title>
          . In D. Giannakopoulou and D. Mery, editors,
          <source>FM 2012: Formal Methods - 18th International Symposium</source>
          , Paris, France,
          <source>August 27-31</source>
          ,
          <year>2012</year>
          . Proceedings, volume
          <volume>7436</volume>
          of Lecture Notes in Computer Science, pages
          <volume>85</volume>
          {
          <fpage>100</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>L.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Lin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shi</surname>
          </string-name>
          .
          <article-title>A Dynamic Description Logic for Representation and Reasoning About Actions</article-title>
          . In Z. Zhang and J. Siekmann, editors,
          <source>Procedings of KSEM</source>
          <year>2007</year>
          , volume
          <volume>4798</volume>
          <source>of LNAI</source>
          , pages
          <volume>115</volume>
          {
          <fpage>127</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>L.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Gu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <article-title>A family of dynamic description logics for representing and reasoning about actions</article-title>
          .
          <source>J. Autom. Reasoning</source>
          ,
          <volume>49</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>52</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>H.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Milicic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Wolter</surname>
          </string-name>
          .
          <article-title>Updating description logic aboxes</article-title>
          . In P. Doherty,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , and
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>A</article-title>
          . Welty, editors,
          <source>Proceedings, Tenth International Conference on Principles of Knowledge Representation and Reasoning</source>
          ,
          <source>Lake District of the United Kingdom, June 2-5</source>
          ,
          <year>2006</year>
          , pages
          <fpage>46</fpage>
          {
          <fpage>56</fpage>
          . AAAI Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Brachman</surname>
          </string-name>
          .
          <article-title>An introduction to description logics</article-title>
          .
          <source>In Baader et al. [1]</source>
          , pages
          <fpage>1</fpage>
          {
          <fpage>40</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>B.</given-names>
            <surname>Nebel</surname>
          </string-name>
          .
          <article-title>Terminological reasoning is inherently intractable</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>43</volume>
          :
          <fpage>235</fpage>
          {
          <fpage>249</fpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>The temporal logic of programs</article-title>
          .
          <source>In FOCS</source>
          , pages
          <volume>46</volume>
          {
          <fpage>57</fpage>
          . IEEE Computer Society,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. E.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B. C.</given-names>
          </string-name>
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Kalyanpur</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Katz. Pellet</surname>
          </string-name>
          :
          <article-title>A practical owl-dl reasoner</article-title>
          .
          <source>J. Web Sem</source>
          .,
          <volume>5</volume>
          (
          <issue>2</issue>
          ):
          <volume>51</volume>
          {
          <fpage>53</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>