<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>ICT Call</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Semantically-Governed Data-Aware Processes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Diego Calvanese</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe De Giacomo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Lembo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Montali</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ario Santoso</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Free University of Bozen-Bolzano</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Sapienza Universita` di Roma</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <volume>5</volume>
      <issue>2009</issue>
      <fpage>21</fpage>
      <lpage>32</lpage>
      <abstract>
        <p>In this paper we consider processes that run over data stored in a relational database. Our setting is that of ontology-based data access (OBDA), where the information in the database is conceptually represented as an ontology and is declaratively mapped to it through queries. We are interested in verifying temporal logic formulas on the evolution of the information at the conceptual level, taking into account the knowledge present in the ontology, which allows for deducing information that is only implicitly available. Specifically, we show how, building on first-order rewritability of queries over the system state that is typical of ontology languages for OBDA, we are able to reformulate the temporal properties into temporal properties expressed over the underlying database. This allows us adopt notable decidability results on verification of evolving databases that have been established recently.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Recent work in business processes, services and databases brought the necessity of
considering both data and processes simultaneously while designing the system. This
holistic view of considering data and processes together has given rise to a line of
research under the name of artifact-centric business processes [
        <xref ref-type="bibr" rid="ref1 ref14 ref16 ref19">16, 14, 19, 1</xref>
        ] that aims
at avoiding the notorious discrepancy of traditional approaches where these aspects are
considered separately [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Recently, interesting decidability results for verification of
temporal properties over such systems have been obtained in the context of so-called
Data-centric Dynamic Systems (DCDSs) based on relational technology [
        <xref ref-type="bibr" rid="ref12 ref4 ref5 ref6">12, 6, 4, 5</xref>
        ]. In
a DCDS, processes operate over the data of the system and evolve it by executing actions
that may issue calls to external services. The data returned by such external services is
injected into the system, effectively making it infinite state. There has been also some
work on a form of DCDS based on ontologies, where the data layer is represented in
a rich ontology formalism, and actions perform a form of instance level update of the
ontology [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The use of an ontology allows for a high-level conceptual view of the data
layer that is better suited for a business level treatment of the manipulated information.
      </p>
      <p>
        Here we introduce Semantically-Governed Data-Aware Processes (SGDAP), in
which we merge these two approaches by enhancing a relational layer constituted by
a DCDS based system, with an ontology, constituting a semantic layer. The ontology
captures the domain in which the SGDAP is executed, and allows for seeing the data
and their manipulation at a conceptual level through an ontology-based data access
(OBDA) system [
        <xref ref-type="bibr" rid="ref18 ref8">8, 18</xref>
        ]. Hence it provides us with a way of semantically governing
the underlying DCDS. Specifically, an SGDAP is constituted by two main components:
(i) an OBDA system [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which includes (the intensional level of) an ontology, a relational
database schema, and a mapping between the ontology and the database; (ii) a process
component, which characterizes the evolution of the system in terms of a process
specifying preconditions and effects of action execution over the relational layer.
      </p>
      <p>
        The ontology is represented through a Description Logic (DL) TBox [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], expressed in
a lightweight ontology language of the DL-Lite family [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], a family of DLs specifically
designed for efficiently accessing to large amounts of data. The mapping is defined in
terms of a set of assertions, each relating an arbitrary (SQL) query over the relational
layer to a set of atoms whose predicates are the concepts and roles of the ontology, and
whose arguments are terms built using specific function symbols applied to the answer
variables of the SQL query. Such mappings specify how to populate the elements of
the ontology from the data in the database, and function symbols are used to construct
(abstract) objects (object terms) from the concrete values retrieved from the database.
      </p>
      <p>When an SGDAP evolves, each snapshot of the system is characterized by a database
instance at the relational layer, and by a corresponding virtual ABox, which together
with the TBox provides a conceptual view of the relational instance at the semantic
layer. When the system is progressed by the process component, we assume that at
every time the current instance can be arbitrarily queried, and can be updated through
action executions, possibly involving external service calls to get new values from the
environment. Hence the process component relies on three main notions: actions, which
are the atomic progression steps for the data layer; external services, which can be called
during the execution of actions; and a process, which is essentially a non-deterministic
program that uses actions as atomic instructions. During the execution, the snapshots of
the relational layer can be virtually mapped as ABoxes in the semantic layer. This enables
to: (i) understand the evolution of the system at the conceptual level, and (ii) govern it at
the semantic level, rejecting those actions that, executed at the relational layer, would
lead to a new semantic snapshot that is inconsistent with the semantic layer’s TBox.</p>
      <p>
        In this work, we are interested in verifying dynamic properties specified in a variant
of -calculus [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], one of the most powerful temporal logics, expressed over the semantic
layer of an SGDAP. We consider properties expressed as -calculus formulae whose
atoms are queries built over the semantic layer. By relying on techniques for query
answering in DL-Lite OBDA systems, which exploit FOL rewritability of query answering
and of ontology satisfiability, we reformulate the temporal properties expressed over the
semantic layer into analogous properties over the relational layer. Given that our systems
are in general infinite-state, verification of temporal properties is undecidable. However,
we show how we can adapt to our setting recent results on the decidability of verification
of DCDSs based on suitable finite-state abstractions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>In this section we introduce the description logic (DL) DL-LiteA;id and describe the</title>
        <p>ontology-based data access (OBDA) framework.</p>
      </sec>
      <sec id="sec-2-2">
        <title>DL-LiteA;id [11, 8] allows for specifying concepts, representing sets of objects, roles,</title>
        <p>representing binary relations between objects, and attributes, representing binary
relations between objects and values. The syntax of concept, role and attribute expressions
Here, N , P , and U respectively denote a concept name, a role name, and an attribute
name, P denotes the inverse of a role, and B and R respectively denote basic concepts
and basic roles. The concept 9R, also called unqualified existential restriction, denotes
the domain of a role R, i.e., the set of objects that R relates to some object. Similarly, the
concept (U ) denotes the domain of an attribute U , i.e., the set of objects that U relates
to some value. Note that we consider here a simplified version of DL-LiteA;id where we
distinguish between between objects and values, but do not further deal with different
datatypes; similarly, we consider only a simplified version of identification assertions.</p>
      </sec>
      <sec id="sec-2-3">
        <title>A DL-LiteA;id ontology is a pair (T ; A), where T is a TBox, i.e., a finite set of TBox</title>
        <p>assertions, and A is an Abox, i.e., a finite set of ABox assertions. DL-LiteA;id TBox
assertions have the following form:</p>
        <p>B1 v B2</p>
        <p>B1 v :B2
(id B Z1; : : : ; Zn)</p>
        <p>R1 v R2
R1 v :R2
(funct R)</p>
        <p>U1 v U2
U1 v :U2
(funct U )
From left to right, assertions of the first row denote inclusions between basic concepts,
basic roles, and attributes; assertions of the second row denote disjointness between
basic concepts, basic roles, and attributes; assertions of the last row denote identification
(assertions) (IdA), and global functionality on roles and attributes. In the IdA, each Zi
denotes either an attribute or a basic role. Intuitively, an IdA of the above form asserts
that for any two different instances o, o0 of B, there is at least one Zi such that o and
o0 differ in the set of their Zi-fillers, that is the set of objects (if Zi is a role) or values
(if Zi is an attribute) that are related to o by Zi. As usual, in DL-LiteA;id TBoxes we
impose that roles and attributes occurring in functionality assertions or IdAs cannot be
specialized (i.e., they cannot occur in the right-hand side of inclusions).</p>
      </sec>
      <sec id="sec-2-4">
        <title>DL-LiteA;id ABox assertions have the form N (t1), P (t1; t2), or U (t1; v1), where t1</title>
        <p>and t2 denote individual objects and v1 denotes a value.</p>
      </sec>
      <sec id="sec-2-5">
        <title>The semantics of DL-LiteA;id is given in [11]. We only recall here that we interpret</title>
        <p>objects and values over distinct domains, and that for both we adopt the Unique Name</p>
        <sec id="sec-2-5-1">
          <title>Assumption, i.e., different constants denote different objects (or values). The notions of</title>
          <p>
            entailment, satisfaction, and model are as usual [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. We also say that A is consistent
wrt T if (T ; A) is satisfiable, i.e., admits at least one model.
          </p>
        </sec>
        <sec id="sec-2-5-2">
          <title>Next we introduce queries. As usual (cf. OWL 2), answers to queries are formed</title>
          <p>by terms denoting individuals appearing in the ABox. The domain of an ABox A,
denoted by ADOM(A), is the (finite) set of terms appearing in A. A union of conjunctive
queries (UCQ) q over a TBox T is a FOL formula of the form 9~y1.conj 1(~x; ~y1) _ _</p>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>9~yn.conj n(~x; ~yn), with free variables ~x and existentially quantified variables ~y1; : : : ; ~yn.</title>
        <p>Each conj i(~x; y~i) in q is a conjunction of atoms of the form N (z), P (z; z0), U (z; z0)
where N , P and U respectively denote a concept, role and attribute name of T , and
z, z0 are constants in a set C or variables in ~x or y~i, for some i 2 f1; : : : ; ng. The
(certain) answers to q over an ontology (T ; A) is the set ans (q; T ; A) of substitutions3</p>
        <sec id="sec-2-6-1">
          <title>3 As customary, we can view each substitution simply as a tuple of constants, assuming some</title>
          <p>ordering of the free variables of q.</p>
          <p>
            of the free variables of q with constants in ADOM(A) such that q evaluates to true
in every model of (T ; A). If q has no free variables, then it is called boolean, and its
certain answers are true or false. Computing ans (q; T ; A) of a UCQ q over a DL-LiteA;id
ontology (T ; A) is in AC0 in the size of A [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. This is actually a consequence of the
fact that DL-LiteA;id enjoys the FOL rewritability property, which in our setting says
that for every UCQ q, ans (q; T ; A) can be computed by evaluating the UCQ REW(q; T )
over A considered as a database. REW(q; T ) is the so-called perfect reformulation of q
w.r.t. T [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. We also recall that, in DL-LiteA;id, ontology satisfiability is FOL rewritable.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-7">
        <title>In other words, we can construct a boolean FOL query qunsat(T ) that evaluates to true over an ABox A iff the ontology (T ; A) is unsatisfiable.</title>
        <sec id="sec-2-7-1">
          <title>In our framework, we consider an extension of UCQs, called ECQs, which are</title>
          <p>
            queries of the query language EQL-Lite(UCQ) [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Formally, an ECQ over a TBox T is
a possibly open domain independent formula of the form:
          </p>
          <p>
            Q ! [q] j :Q j Q1 ^ Q2 j 9x.Q j x = y
where q is a UCQ over T and [q] denotes that q is evaluated under the (minimal)
knowledge operator (cf. [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]). To compute the certain answers ANS(Q; T ; A) to an ECQ
          </p>
        </sec>
      </sec>
      <sec id="sec-2-8">
        <title>Q over an ontology (T ; A), we can compute the certain answers over (T ; A) of each</title>
        <sec id="sec-2-8-1">
          <title>UCQ embedded in Q, and evaluate the first-order part of Q over the relations obtained</title>
          <p>
            as the certain answers of the embedded UCQs. Hence, also computing ANS(Q; T ; A) of
an ECQ Q over a DL-LiteA;id ontology (T ; A) is in AC0 in the size of A [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
        </sec>
        <sec id="sec-2-8-2">
          <title>Ontology-Based Data Access (OBDA). In an OBDA system, a relational database is</title>
          <p>
            connected to an ontology that represents the domain of interest by a mapping, which
relates database values with values and (abstract) objects in the ontology (c.f. [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]). In
particular, we make use of a countably infinite set V of values and a set of function
symbols, each with an associated arity. We also define the set C of constants as the union
of V and the set ff (d1; : : : ; dn) j f 2 and d1; : : : ; dn 2 Vg of object terms.
          </p>
          <p>Formally, an OBDA system is a structure O = hR; T ; Mi, where: (i) R =
fR1; : : : ; Rng is a database schema, constituted by a finite set of relation schemas;
(ii) T is a DL-LiteA;id TBox; (iii) M is a set of mapping assertions, each of the form:
(~x) ; (~y; ~t), where: (a) ~x is a non-empty set of variables, (b) ~y ~x, (c) ~t is a set
of object terms of the form f (~z), with f 2 and ~z ~x, (d) (~x) is an arbitrary SQL
query over D, with ~x as output variables, and (e) (~y; ~t) is a conjunctive query over T
of arity n &gt; 0 without non-distinguished variables, whose atoms are over the variables ~y
and the object terms ~t.</p>
        </sec>
        <sec id="sec-2-8-3">
          <title>Example 1. As a running example, we consider a simple university information system that</title>
          <p>stores and manipulates data concerning students and their degree. In particular, we define an
OBDA system O = hR; T ; Mi to capture the conceptual schema of such a domain, how data
are concretely maintained in a relational database, and how the two information levels are linked
through mappings. The conceptual schema is depicted in Figure 1, and formalized as the following
DL-LiteA;id TBox T :</p>
          <p>Bachelor v Student</p>
          <p>Master v Student
Graduated v Student
(MNum) v Student
Student v (MNum)
(funct MNum)
(id Student MNum)</p>
        </sec>
        <sec id="sec-2-8-4">
          <title>The conceptual schema states that Bachelor and Master are subclasses of Student, that some</title>
        </sec>
        <sec id="sec-2-8-5">
          <title>Students could be already Graduated, and that MNum (representing the matriculation number) is</title>
          <p>Bachelor
Master</p>
          <p>Student
mNum: String</p>
          <p>Graduated
a concrete underlying data source that obeys the database schema R, constituted by the following
relation schemas: (i) ENROLLED(id; name; surname; type; endDate) stores information about
students that are currently (endDate=NULL) or were enrolled in a bachelor (type="Bachelor") or
master (type="Master") course. (ii) GRAD(id; mark; type) stores data of former students who
have been graduated. (iii) TRANSF M(name; surname) is a temporary relation used to maintain
information about master students that have been recently transferred from another university, and
and the conceptual schema T is specified through the following set M of mappings:
must still complete the enrollment process. The interconnection between the database schema R
m1 : SELECT name; surname; type FROM ENROLLED WHERE type ="Bachelor"
; Bachelor(stu1(name; surname; type))
; Master(stu1(name; surname; type))
m2 : SELECT name; surname; type FROM ENROLLED WHERE type ="Master"
m3 : SELECT name; surname; type; id FROM ENROLLED ; MNum(stu1(name; surname; type); val(id))
m4 : SELECT name; surname FROM TRANSF M ; Master(stu1(name; surname; "Master"))
m5 : SELECT e:name; e:surname; e:type FROM ENROLLED e; GRAD g WHERE e:id = g:id
; Graduated(stu1(name; surname; type))</p>
          <p>Intuitively, m1 (m2 resp.) maps every id in ENROLLED with type "Bachelor" ("Master")
to a bachelor (master) student. Such a student is constructed by “objectifying” the name, surname
and course type using variable term stu1=3. In m3, the MNum attribute is instead created using
directly the value of id to fill in the target of the attribute. Notice the use of the val function symbol
for mapping id to the range of MNum. Mapping m4 leads to create further master students by
starting from the temporary TRANSF M table. Since such students are not explicitly associated
to course type, but it is intended that they are "Master", objectification is applied to students’
name and surname, adding "Master" as a constant in the variable term. Notice that, according to
the TBox T , such students have a matriculation number, but its value is not known (and, in fact,
no mapping exists to generate their MNum attribute). Finally, m5 generates graduated students
by selecting only those students in the ENROLLED table whose matriculation number is also
contained in the GRAD table.
tu
m
=
(x) ;
(y; t) in</p>
          <p>M is m(D) =</p>
          <p>S</p>
          <p>v2eval( ;D)</p>
          <p>Given a database instance D made up of values in V and conforming to schema R
and given a mapping M, the virtual ABox generated from D by a mapping assertion
[x=v], where eval ( ; D)
denotes the evaluation of the SQL query</p>
          <p>over D, and where we consider [x=v] to
be a set of atoms (as opposed to a conjunction). Then, the ABox generated from D
for ABoxes, the active domain ADOM(D) of a database instance D is the set of values
by the mapping M is M(D) = S</p>
          <p>m2M
occurring in D. Notice that ADOM(D)
m(D). Notice that ADOM(M(D))</p>
          <p>C</p>
          <p>. As
V</p>
          <p>. Given an OBDA system O = hR; T ; Mi
(T ; M(D)). We say that O wrt D is satisfiable if it admits a model wrt D.
and a database instance D for R</p>
          <p>
            , a model for O wrt D is a model of the ontology
fBachelor(stu1(john; doe; Bachelor)); MNum(stu1(john; doe; Bachelor); val(123))g.
Example 2. Consider a database instance D = fENROLLED(123; john; doe; Bachelor; NULL)g.
The corresponding virtual ABox obtained from the application of the mapping M is M(D) =
tu
compute the certain answers of q over O wrt a database instance D for R
An UCQ q over an OBDA system O = hR; T ; Mi is simply an UCQ over T . To
, we follow a
three-step approach: (i) q is rewritten to compile away T , obtaining qr = REW(q; T );
(ii) the mapping M is used to unfold qr into a query over R, denoted by UNFOLD(qr; M),
which turns out to be an SQL query [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ]; (iii) such a query is executed over D, obtaining
the certain answers. For an ECQ, we can proceed in a similar way, applying the rewriting
and unfolding steps to the embedded UCQs. It follows that computing certain answers
to UCQs/ECQs in an OBDA system is FOL rewritable. Applying the unfolding step to
qunsat(T ), we obtain also that satisfiability in O is FOL rewritable.
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Semantically-Governed Data-Aware Processes</title>
      <p>A Semantically-Governed Data-Aware Process (SGDAP) S = hO; P; D0i is formed
by an OBDA System O = hR; T ; Mi by a process component P
database instance D0 that conforms to the relational schema R in O. Intuitively, the</p>
      <sec id="sec-3-1">
        <title>OBDA system keeps all the data of interest, while the process component modifies and , and by an initial</title>
        <p>evolves such data, starting from the initial database D0.
progresses the data layer, and may involve external service calls; (iii)</p>
        <sec id="sec-3-1-1">
          <title>The process component P constitutes the progression mechanism for the SGDAP.</title>
          <p>Formally, P = hF ; A; i, where: (i) F is a finite set of functions representing calls to
external services, which return values; (ii) A is a finite set of actions, whose execution
is a finite set of
condition-action rules that form the specification of the overall process, which tells at
any moment which actions can be executed.</p>
          <p>An action
2</p>
          <p>A
has the form
(p1; : : : ; pn) :
(i) (p1; : : : ; pn) is the signature of the action, constituted by a name
p1; : : : ; pn of input parameters that need to be substituted with values for the execution
effects are assumed to take place simultaneously. Each ei has the form q
of the action, and (ii) fe1; : : : ; emg is a set of effect specifications, whose specified
Ei,
where: (a) qi+ ^Q
constants from ADOM(D0). The query qi+ is a UCQ, and the query Q
FO formula whose free variables are included in those of qi+. Intuitively, qi+ selects the
i is an arbitrary
i is a query over R whose terms are variables ~x, action parameters, and
i+ ^ Q
i
tuples to instantiate the effect, and Q</p>
          <p>i filters away some of them. (b) Ei is the effect,
i.e., a set of facts for R</p>
          <p>, which includes as terms: terms in ADOM(D0), input parameters,
free variables of qi+, and in addition Skolem terms formed by applying a function f 2 F
to one of the previous kinds of terms. Such Skolem terms involving functions represent
external service calls and are interpreted so as to return a value chosen by an external
fe1; : : : ; emg, where:
and a sequence
user/environment when executing the action.</p>
          <p>The process
is a finite set of condition-action rules Q 7!
, where
is an action
and whose other terms can be quantified variables or values in ADOM(D0).
in A and Q is a FO query over R whose free variables are exactly the parameters of ,
Example 3. Consider the OBDA system O defined in Example 1. We now define a process
component P = hF ; A; i over the relational schema R of O, so as to obtain a full SGDAP.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>In particular, is constituted by the following condition-action rules (’ ’ denotes existentially quantified variables that are not used elsewhere):</title>
        <p>– ENROLLED(id; ; ; ; NULL)
– TRANSF M(name; surname)</p>
      </sec>
      <sec id="sec-3-3">
        <title>GRADUATE(id)</title>
        <p>COMPL-ENR(name; surname)</p>
        <p>The first rule extracts a matriculation number id of a currently enrolled student
(endDate=NULL) from the ENROLLED relation and graduates the student, whereas the
second rule selects a pair name surname in TRANSF M and use them to complete the enrollment of
that student. In order to be effectively executed, the involved actions rely on the following set F
of service calls: (i) today() returns the current date; (ii) getMark(id; type) returns the final mark
received by student id; (iii) getID(name; surname; type) returns the matriculation number for the
name-surname pair of a student. The two actions GRADUATE and COMPL-ENR are then defined as
follows:</p>
        <p>COMPL-ENR(n; s) : f GRAD(id; m; t)</p>
        <p>GRAD(id; m; t);
GRADUATE(id) : f GRAD(id2; m; t)</p>
        <p>TRANSF M(n; s)
ENROLLED(id; n; s; t; NULL)
ENROLLED(id2; n; s; t; d) ^ id2 6= id
ENROLLED(id; ; ; t; NULL)</p>
        <p>GRAD(id2; m; t);
TRANSF M(n; s);</p>
        <p>ENROLLED(id2; n; s; t; d);
ENROLLED(id; n; s; t; today());</p>
        <p>GRAD(id; getMark(id; t); t) g;
ENROLLED(id; n2; s2; t; d)</p>
        <p>ENROLLED(id; n2; s2; t; d);
TRANSF M(n; s)
TRANSF M(n2; s2) ^ (n2 6= n _ s2 6= s)</p>
        <p>TRANSF M(n2; s2);</p>
        <p>ENROLLED(getID(n; s; "Master"); n; s; "Master"; NULL)g</p>
        <p>Given a matriculation number id, action GRADUATE inserts a new tuple for id in GRAD,
updating at the same time the enrollment’s end date for id in ENROLLED to the current date,
while keeping all other entries in TRANSF M; GRAD and ENROLLED. Given a name and
surname, action COMPL-ENR has the effect of moving the corresponding tuple in TRANSF M to
a new tuple in ENROLLED, for which the matriculation number is obtained by interacting with
the getID service call; all other entries TRANSF M; GRAD and ENROLLED are preserved.
tu
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Semantics of SGDAP</title>
      <sec id="sec-4-1">
        <title>This work focuses on the semantics of SGDAP assuming that external services behave</title>
        <p>nondeterministically, i.e., two calls of a service with the same arguments may return
different results during the same run. This captures both services that model a truly
nondeterministic process (e.g., human operators), and services that model stateful servers.</p>
        <p>Let S = hO; P ; D0i be a SGDAP where O = hR; T ; Mi and P = hF ; A; i. The
semantics of S is defined in terms of a possibly infinite transition system (TS), which
represents all possible computations that the process component can do over the data
starting from D0. We start by defining the semantics of action execution. Let
be an
action in A of the form
(p~) : fe1; : : : ; eng with effects ei = q
+
i ^ Q
i
instance D using a substitution
be a substitution of p~ with values in V</p>
        <p>. The evaluation of the effects of
is captured by the following function:</p>
        <p>Ei, and let
on a database
DO(D; ; ) = Sqi+^Qi</p>
        <p>Eiin</p>
        <p>S
2ANS((qi+^Qi ) ;D) Ei
which returns a database instance made up of values in V and Skolem terms
representing service calls. We denote with CALLS(DO(D; ; )) such service calls, and with</p>
        <sec id="sec-4-1-1">
          <title>EVALS(D; ; ) the set of substitutions that replace these service calls with values in V</title>
          <p>:
EVALS(D; ; ) = f j
: CALLS(DO(D; ; )) ! V is a total functiong:</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>We then say that the database instance D0 over V and conforming to R is produced from</title>
          <p>D by the application of action using substitution if D0 = DO(D; ; ) , where
2 EVALS(D; ; ).</p>
          <p>Relational Layer Transition System (RTS). Let S = hO; P; D0i be a SGDAP with
O = hR; T ; Mi. The RTS SR of S is formally defined as hR; ; s0; db; )i, where is
a (possibly infinite) set of states, s0 is the initial state, db is a total function from states in
to database instances made up of values in V and conforming to R, and ) is
a transition relation. , ) and db are defined by simultaneous induction as the smallest
sets such that s0 2 , with db(s0) = D0, and satisfying the following property: Given
s 2 , for each condition-action rule Q(p~) 7! (p~) 2 , for each substitution of p~
such that 2 ANS(Q; D), consider every database instance D0 produced from D by the
application of using . Then: (i) if there exists s0 2 such that db(s0) = D0, then
s ) s0; (ii) otherwise, if O is satisfiable wrt D0, then s0 2 , s ) s0 and db(s0) = D0,
where s0 is a fresh state. We observe that the satisfiability check done in the last step of
the RTS construction accounts for semantic governance.</p>
          <p>Semantic Layer Transition System (STS). Given a SGDAP S with O = hR; T ; Mi
ianndthweistehmRaTnStic lSRay=er.hIRn;par;tisc0u;ldabr,; )SSim,tahientSaTinSs thSSe ostfruSctisurae“ovfirtuSRaluinzaatlitoerne”do,fretflheecRtiTnSg
that the process component is executed over the relational layer, but it associates each
state to a virtual ABox obtained from the application of the mapping M to the database
instance associated by SR to the same state. Formally, SS = hT ; ; s0; abox; )i, where
abox is a total function from to ABoxes made up of individual objects in C and
conforming to T , such that for each s 2 with db(s) = D, abox(s) = M(D).
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Dynamic Constraints Formalism</title>
      <p>
        Let S = hO; P; D0i be an SGDAP where O = hR; T ; Mi and P = hF ; A; i. We are
interested in the verification of conceptual temporal properties over S, i.e., properties
that constrain the dynamics of S understood at the semantic layer. Technically, this means
that properties are verified over the SGDAP’s STS SS, combining temporal operators
with queries posed over the ontologies obtained by combining the TBox T with the
AthBeooWxneetosulaossgesioeacsivoaafteridaSSnt,otaotnhfde s-t-cacataellcscuuollfuuss SS[[11.55M]],otoroenpesrepdoeifcciatfihtceeaolmlvyeo,rswtthepeaoddwyoenpratfmuEliCcteQsmosfp[9o]rSSat.lo lqougeicrys
subsuming LTL, PSL, and CTL* [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], called LECQL, whose formulae have the form:
::= Q j Z j : j 1 ^ 2 j 9x 2 C0: j h i j Z:
where Q is an ECQ over T , C0 = ADOM(M(D0)) is the set of object terms appearing
in the initial virtual ABox (obtained by applying the mapping M over the database
instance D0), and Z is a predicate variable. As usual, syntactic monotonicity is enforced
to ensure existence of unique fixpoints. Beside the usual FOL abbreviations, we also
make use of the following ones: [ ] = :h i(: ) and Z: = : Z:: [Z=:Z]. The
subscript C in LECQL stands for “closed”, and attests that ECQs are closed queries. In
      </p>
      <p>EQL formulae only support the limited form of quantification 9x 2 C0: , which
fact, LC</p>
      <p>= hT ;
valuation on
; s0; abox; )i be an STS. Let V be a predicate and individual variable
, i.e., a mapping from the predicate variables Z to subsets of the states ,
and from individual variables to constants in ADOM(M(D0)). Then, we assign meaning
EQL formulas to subsets of . The extension function ( )VA is defined inductively as:
EQL formulas by associating to</p>
      <p>and V an extension function ( )VA , which maps
LC</p>
      <p>EQL we resort to transition systems. Let</p>
      <sec id="sec-5-1">
        <title>When</title>
        <p>is a closed formula, ( )</p>
        <sec id="sec-5-1-1">
          <title>VA does not depend on V , and we denote it by ( )A. We</title>
          <p>are interested in the model checking problem, i.e., verify whether a
to</p>
          <p>LC</p>
          <p>LC
= fs 2
= V (Z)
=
= fs 2
= TfE</p>
          <p>A
( )V
(Q)VA
(Z)VA
(: )</p>
          <p>A</p>
          <p>V
(
h i )
( Z: )VA</p>
          <p>A</p>
          <p>V
( 1 ^ 2)VA</p>
          <p>= ( 1)VA \ ( 2)VA
(9x 2 C0: )VA = Sf( )VA [x=c] j c 2 ADOM(M(D0))g
j ANS(QV; T ; abox(s)) = trueg</p>
          <p>A
j 9s0: s ) s0 and s0 2 ( )V g</p>
          <p>A
j ( )v[Z=E];V</p>
          <p>
            Eg
is a convenient, compact notation for W
form of quantification over time [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ].
          </p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>In order to define the semantics of</title>
        <p>for simplicity, but actually, with some care, our result can be extended to a more general
c2ADOM(M(D0)) [x=c]. We make this assumption
LC</p>
        <p>EQL property</p>
        <p>, we therefore attack the verification problem
way: (1) We transform</p>
        <p>into a corresponding
whose atoms are closed FO queries over R, thus reducing
show, again exploiting FOL rewritability in DL-LiteA, that the consistency check used
be generated by a purely relational DCDS. (3) We argue that 0 belongs to the dynamic
to generate</p>
        <p>R can be rewritten as denial constraints over R
S
. This means that</p>
        <p>Z:((8s:[Student(s)] ! [Graduated(s)]) _ [ ]Z), which says that every evolution of the system
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Verification of Dynamic Properties over SGDAPs</title>
      <p>
        LC
the STS and RTS of S. The main issue to be tackled is that
infinite-state, and their verification undecidable. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], some decidability boundaries
S
      </p>
      <p>S
S S and</p>
      <p>S R are in general
holds for the SGDAP S</p>
      <p>. This problem is defined as checking whether s0 2 ( ) S ,
for the verification of Data-Centric Dynamic Systems (DCDSs) have been extensively
studied. DCDSs are tightly related to SGDAPs, with some key differences in the data
component: (i) the process component is identical in the two frameworks; (ii) DCDSs
are only equipped with a relational layer, i.e., no ontology nor mapping are specified;
(iii) while SGDAPs define constraints over the data at the semantic layer, DCDSs are
equipped with denial constraints posed directly over the database schema. Given a</p>
      <sec id="sec-6-1">
        <title>We now describe how</title>
        <p>EQL properties can be effectively verified over SGDAPs. Let
S = EhQOL; Pdy;nDam0iicbepraonpSeGrtyDAspPecwifiheedreoOver=thheRT;T, ;aMnd ileatnd P = hF ; A; i. Let
a LC S and
R respectively be</p>
        <p>be
LC</p>
        <p>EQL closed formula</p>
        <p>S
=
tu
S =
S j</p>
        <p>0, i.e., a
S =
S j
to</p>
        <p>R =
S j
in the following</p>
        <sec id="sec-6-1-1">
          <title>L property</title>
          <p>0. (2) We
ΥSS A0</p>
          <p>M
ΥR D0</p>
          <p>S</p>
          <p>S0</p>
          <p>S0
A1</p>
          <p>S1</p>
          <p>S3</p>
          <p>S2
Semantic Transition System
M M M
D1 S1</p>
          <p>S3
A2 A3</p>
          <p>D2 D3</p>
          <p>S2
Relational Transition System
|= Φ
|= Φ
Φ = unfold(rew(Φ, T ), M)
D1
D0</p>
          <p>S0</p>
          <p>S1</p>
          <p>S3</p>
          <p>D2 D3</p>
          <p>S2
Abstract Transition System
|= Φ</p>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>EQL properties over SGDAP</title>
        <p>
          Fig. 2. Verification of dynamic LC
property language investigated in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for DCDSs under the nondeterministic semantics.
(4) We can therefore reuse the decidability results of [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] to check whether SR j= 0 can
be decided and, in the positive case, we apply the abstraction technique defined in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for
reducing the verification problem to conventional finite-state model checking. Details
are provided below. The idea of the approach is depicted in Figure 2.
        </p>
      </sec>
      <sec id="sec-6-3">
        <title>Property Transformation. In order to transform the property, we separate the treatment</title>
        <p>of the dynamic part and of the embedded ECQs. Since the dynamics of an SGDAP is
completely determined at the relational layer, the dynamic part is maintained unaltered.</p>
      </sec>
      <sec id="sec-6-4">
        <title>ECQs are instead manipulated as defined in Section 2. In particular, the rewriting of</title>
        <p>wrt the TBox T , denoted by r = REW( ; T ), is done by replacing each embedded</p>
        <sec id="sec-6-4-1">
          <title>ECQ with its corresponding rewriting wrt T .</title>
          <p>Example 5. Consider the LECQL property
introduced in Example 1. The rewriting of
described in Example 4, together with the TBox T
wrt T produces r = REW( ; T ), which is:
Z:(8s:[Student(s) _ Bachelor(s) _ Master(s) _ MNum(s; )] ! [Graduated(s)]) _ [ ]Z
tu
Before unfolding the rewritten dynamic property r we translate each subformula of
the form 9x 2 C0: into the equivalent form Wc2ADOM(M(D0)) [x=c]. This means that
when such a form of quantification is used, the initial ABox must be materialized in order
to compute the initial active domain of the semantic layer. We then extend the UNFOLD()
function defined in Section 2 to unfold a LECQL dynamic property over the semantic
layer into a corresponding property over the relational layer. As for the rewriting, the
temporal structure is maintained unaltered, reflecting that the dynamics of SGDAPs is
determined at the relational layer. For what concerns the ECQs embedded in the property,
the interesting case to be discussed is the one of (existential) quantification:
UNFOLD(9x:'; M) = 9x:UNFOLD('; M) _</p>
          <p>W(f=n)2FS(M) 9x1; : : : ; xn:UNFOLD('[x=f (x1; : : : ; xn)]; M)
where FS(M) is the set of function symbols contained in M. This unfolding reflects
that quantification over individuals at the semantic layer must be properly rephrased as a
corresponding quantification over those values in the relational layer that could lead to
produce such individuals through the application of M. This is done by unfolding 9x:'
into a disjunction of formulae, where: (i) the first formula corresponds to 9x:' itself,
and is used to tackle the case in which x appears in the range of an attribute, which is
in fact a value; (ii) Each of the other formulae is obtained from ' by replacing x with
one of the possible variable terms produced by M, and quantifying over the existence of
values used to construct the corresponding object term.</p>
        </sec>
      </sec>
      <sec id="sec-6-5">
        <title>Example 6. Let us consider the</title>
        <p>EQL property r of Example 5, together with the mapping
M defined in Example 1. We get that UNFOLD( r; M) corresponds to:</p>
        <p>Z: 8x1; x2; x3:AUXm3 (x1; x2; x3; ) ! AUXm5 (x1; x2; x3) _ [ ]Z
where AUXm3 (name; surname; type; id) and AUXm5 (name; surname; type) represent the
auxiliary view predicates of mapping assertions m3 and m5 respectively, whose defining queries
are the SQL queries in the left-hand side of the mapping assertion themselves. When unfolding
the UCQ Student(stu1(x1; x2; x3)) _ Bachelor(stu1(x1; x2; x3)) _ Master(stu1(x1; x2; x3)) _</p>
      </sec>
      <sec id="sec-6-6">
        <title>MNum(stu1(x1; x2; x3); ), we notice that the involved mapping assertions are m1, m2, and m3.</title>
      </sec>
      <sec id="sec-6-7">
        <title>However, we only consider m3, because the query on its left-hand side contains the ones on the left-hand side of m1 and m2.</title>
        <p>
          Reduction to Data-Centric Dynamic Systems. The connection between SGDAPs
and DCDSs is straightforward (see [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for the definition of DCDS). Given a SGDAP
S = hO; P; D0i with O = hR; T ; Mi, we can construct a corresponding DCDS with
nondeterministic services SREL = hD; Pi, where D = hV; R; fqunsat(T ) ! falseg; D0i.
        </p>
      </sec>
      <sec id="sec-6-8">
        <title>Thanks to this encoding, we obtain</title>
        <p>
          for the DCDS SREL following the definition in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
R
S
        </p>
        <p>SREL
DCDS, where</p>
        <p>SREL
DCDS is the RTS constructed</p>
      </sec>
      <sec id="sec-6-9">
        <title>Verification. Leveraging on the parallel between SGDAPs and DCDSs, verification of</title>
        <p>a</p>
        <p>LC
over the corresponding DCDS. In fact,</p>
        <p>EQL property over a SGDAP can be reduced to the verification of a</p>
        <sec id="sec-6-9-1">
          <title>LC ( -calculus over closed FOL queries) is</title>
          <p>
            contained in the fragments of FO
-calculus studied for DCDSs in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], namely
          </p>
        </sec>
        <sec id="sec-6-9-2">
          <title>LP . Both</title>
          <p>LA and</p>
        </sec>
        <sec id="sec-6-9-3">
          <title>LP support FOL queries over the DCDS, allowing for controlled</title>
          <p>forms of FO quantification across states, and therefore they clearly support FO sentences.</p>
          <p>Let S = hO; P; D0i be a SGDAP with O
= hR; T ; Mi, STS
hR; ; s0; db; )i. We say that</p>
        </sec>
        <sec id="sec-6-9-4">
          <title>UNFOLD(REW( ; T ); M). Since (i) that for each s 2 , jADOM(db(s))j &lt; b. Let</title>
          <p>S =
S j
belongs to</p>
        </sec>
        <sec id="sec-6-9-5">
          <title>LC (which is contained in</title>
          <p>LP ), (iii)
S
R is state-bounded if there exists a bound b such</p>
          <p>EQL property, and let 0 =
be a</p>
          <p>LC
can be reduced to</p>
          <p>S
R can be generated by a DCDS</p>
          <p>R
S j
=
0, (ii) 0
S =
S j</p>
          <p>
            S
with nondeterministic services, we can reuse the decidability results presented in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ]. In
particular, we obtain that
is decidable if
          </p>
          <p>R is state bounded. Verification can in
this case be reduced to conventional finite-state model checking.
Example 7. Consider the SGDAP S = hO; P; D0i, where O is the OBDA system defined in
Example 1, P the process component defined in Example 3. It is easy to see that the resulting</p>
        </sec>
        <sec id="sec-6-9-6">
          <title>SR is state-bounded. Intuitively, this follows from the facts that the actions of S either move</title>
          <p>tuples from the TRANSF M table to the ENROLLED one, or copy tuples from the ENROLLED</p>
        </sec>
      </sec>
      <sec id="sec-6-10">
        <title>Acknowledgements. This research has been partially supported by the ICT Collabora</title>
        <p>tive Project ACSI (Artifact-Centric Service Interoperation), funded by the EU under FP7</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bourhis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Galland</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Marinoiu</surname>
          </string-name>
          .
          <article-title>The AXML artifact model</article-title>
          .
          <source>In Proc. of TIME</source>
          <year>2009</year>
          , pages
          <fpage>11</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2009</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>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-</surname>
          </string-name>
          Schneider, editors.
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          . Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bagheri Hariri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo, and R. De Masellis.
          <article-title>Verification of conjunctive-query based semantic artifacts</article-title>
          .
          <source>In Proc. of DL</source>
          <year>2011</year>
          , volume
          <volume>745</volume>
          <source>of CEUR, ceur-ws.org</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bagheri Hariri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo, R. De Masellis, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Felli</surname>
          </string-name>
          .
          <article-title>Foundations of relational artifacts verification</article-title>
          .
          <source>In Proc. of BPM</source>
          <year>2011</year>
          , volume
          <volume>6896</volume>
          <source>of LNCS</source>
          , pages
          <fpage>379</fpage>
          -
          <lpage>395</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bagheri Hariri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          .
          <article-title>Verification of relational data-centric dynamic systems with external services</article-title>
          .
          <source>CoRR Technical Report arXiv:1203.0024</source>
          , arXiv.org e-Print archive,
          <year>2012</year>
          . Available at http://arxiv.org/ abs/1203.0024.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          .
          <article-title>Verification of deployed artifact systems via data abstraction</article-title>
          .
          <source>In Proc. of ICSOC</source>
          <year>2011</year>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>K.</given-names>
            <surname>Bhattacharya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerede</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , R. Liu, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Towards formal analysis of artifactcentric business process models</article-title>
          .
          <source>In Proc. of BPM</source>
          <year>2007</year>
          , volume
          <volume>4714</volume>
          <source>of LNCS</source>
          , pages
          <fpage>288</fpage>
          -
          <lpage>234</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Rodr´ıguez-</article-title>
          <string-name>
            <surname>Muro</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Ontologies and databases: The DL-Lite approach</article-title>
          . In S. Tessaris and E. Franconi, editors,
          <source>Semantic Technologies for Informations Systems - 5th Int. Reasoning Web Summer School (RW</source>
          <year>2009</year>
          ), volume
          <volume>5689</volume>
          <source>of LNCS</source>
          , pages
          <fpage>255</fpage>
          -
          <lpage>356</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          . EQL-Lite:
          <article-title>Effective first-order query processing in description logics</article-title>
          .
          <source>In Proc. of IJCAI</source>
          <year>2007</year>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. of Automated Reasoning</source>
          ,
          <volume>39</volume>
          (
          <issue>3</issue>
          ):
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Path-based identification constraints in description logics</article-title>
          .
          <source>In Proc. of KR</source>
          <year>2008</year>
          , pages
          <fpage>231</fpage>
          -
          <lpage>241</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. P. Cangialosi, G. De Giacomo, R. De Masellis, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Conjunctive artifact-centric services</article-title>
          .
          <source>In Proc. of ICSOC</source>
          <year>2010</year>
          , volume
          <volume>6470</volume>
          <source>of LNCS</source>
          , pages
          <fpage>318</fpage>
          -
          <lpage>333</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>E. M. Clarke</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Grumberg</surname>
            , and
            <given-names>D. A.</given-names>
          </string-name>
          <string-name>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>Model checking</article-title>
          . The MIT Press, Cambridge, MA, USA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>D.</given-names>
            <surname>Cohn</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          .
          <article-title>Business artifacts: A data-centric approach to modeling business operations and processes</article-title>
          .
          <source>IEEE Bull. on Data Engineering</source>
          ,
          <volume>32</volume>
          (
          <issue>3</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>9</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Automated temporal reasoning about reactive systems</article-title>
          . In F. Moller and G. Birtwistle, editors,
          <source>Logics for Concurrency: Structure versus Automata</source>
          , volume
          <volume>1043</volume>
          <source>of LNCS</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>101</lpage>
          . Springer,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>A.</given-names>
            <surname>Nigam</surname>
          </string-name>
          and
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Caswell</surname>
          </string-name>
          .
          <article-title>Business artifacts: An approach to operational specification</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <volume>42</volume>
          (
          <issue>3</issue>
          ):
          <fpage>428</fpage>
          -
          <lpage>445</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. on Data Semantics</source>
          , X:
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. M.
          <article-title>Rodr´ıguez-</article-title>
          <string-name>
            <surname>Muro</surname>
            and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Calvanese</surname>
          </string-name>
          . Dependencies:
          <article-title>Making ontology based data access work in practice</article-title>
          .
          <source>In Proc. of AMW</source>
          <year>2011</year>
          , volume
          <volume>749</volume>
          <source>of CEUR, ceur-ws.org</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            , P. Barthelmess,
            <given-names>C. A.</given-names>
          </string-name>
          <string-name>
            <surname>Ellis</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Wainer</surname>
          </string-name>
          .
          <article-title>Proclets: A framework for lightweight interacting workflow processes</article-title>
          .
          <source>Int. J. of Cooperative Information Systems</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ):
          <fpage>443</fpage>
          -
          <lpage>481</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>