<!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>Five-Level Multi-Application Schema Evolution</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Charles University, Faculty of Mathematics and Physics, Department of Software Engineering Malostransk ́e n ́am.</institution>
          <addr-line>25, 118 00 Prague 1</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <fpage>90</fpage>
      <lpage>104</lpage>
      <abstract>
        <p>Schema evolution has recently gained much interest in both research and practice. However, most of the existing works deal with separate aspects of the problem such as evolution of XML schemas or evolution of conceptual schemas. In addition, all of them view the problem only from the perspective of a single application. In this paper we show that schema evolution has several different levels at which it can be performed and that are highly related. Secondly, we show that schema evolution is not the problem of a single application, but multiple applications having the same problem domain can influence each other as well. In particular we deal with five levels - extensional, operational, logical, platform-specific and platform-independent. We describe the particular levels, how they can be modified and the respective propagation of the modifications to other levels and applications. We also show which of the situations have already been discussed and solved in the existing works as well as which of them still remain open.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Introduction
Since XML [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] has become a de-facto standard for data representation and
manipulation, there exists a huge amount of applications having their data
represented in XML. Naturally, each of the applications can work only with correct
data. We distinguish two levels of such correctness – well formedness and
validity. An XML document is well-formed if it meets the well-formedness constraints
stated in XML specification [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] such as, e.g., that the tags ensure the correct tree
structure. An XML document is valid if it is associated with a legal XML schema
(i.e. a schema that conforms to the specification of the selected language, such
as, e.g., DTD [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], XML Schema [
        <xref ref-type="bibr" rid="ref18 ref3">18, 3</xref>
        ], etc.), and complies with the constraints
expressed in it.
      </p>
      <p>On the other hand, since most of the XML applications are usually dynamic,
sooner or later the structure of the data needs to be changed. At the same time,
we still need to be able to work with the old as well as new data without any
loss. In relation to this topic, we usually speak about so-called schema evolution,
i.e. a situation that a schema of the data is updated and we need to apply
⋆ This work was supported in part by the Czech Science Foundation (GACˇ R), grants
number 201/09/P364 and 201/09/0990.
these updates on its existing instances to revalidate them. In case of XML data,
having a set of XML schema transformations, we can transform an XML schema
Sx to an XML schema Sy. A natural requirement for such transformation is
consistency, i.e. transforming a legal schema Sx to a legal XML schema Sy. The
problem of XML schema evolution deals with applying a set of respective XML
data transformations on XML documents valid against Sx so that they become
valid against Sy.</p>
      <p>Currently there exist several works dealing with this topic. However, most of
the existing works deal with separate aspects of the problem such as evolution
of XML schemas or evolution of conceptual schemas. In addition, all of them
view the problem only from the perspective of a single application. Hence, in
this paper we study the problem from a more general perspective. We show that
schema evolution has several different levels at which it can be performed and
that are highly related. Secondly, we show that schema evolution is not the
problem of a single application, but multiple applications having the same problem
domain can influence each other as well. In particular we deal with five levels
– extensional, operational, logical, platform-specific and platform-independent.
We describe the particular levels, how they can be modified and the respective
propagation of the modifications to other levels and applications. We also show
which of the situations have already been discussed and solved in the existing
works as well as which of them still remain open.</p>
      <p>The paper is structured as follows: Section 2 introduces the given problem
using a motivating example. Section 3 overviews existing related works.
Section 4 describes the proposed evolution model in detail and Section 5 provides
an overview of respective schema transformations. Section 6 overviews some real
examples. And, finally, Section 7 provides conclusions and outlines possible
future work.
2</p>
      <p>Motivation
To depict the issue we are focusing on, we first provide a real-world example.
We consider a company that produces products and sells them to customers. An
information system of the company is composed of various applications utilized
by different users for different purposes. Each application applies different XML
formats that represent different user views on the data. On the other hand,
since the applications work with the same data, e.g. customers, products, etc.,
the XML formats represent the same problem domain. If a change in one XML
format results into a change in our interpretation of the domain, it can require
to make corresponding changes in other XML formats as well. We demonstrate
some examples in the rest of this section.</p>
      <p>We consider two particular XML formats each described by an XML schema
expressed in the XML Schema language. A first XML schema
PurchaseRequest.xsd describes an XML format used by customers to send purchase
requests to the company. A second XML schema SalesReport.xsd describes a
format representing reports on sales of products in regions. The XML schemas
are depicted in Figure 1.</p>
      <p>In our interpretation of the domain, there are customers each having a
registration number and name. Both XML schemas somehow represent
customers. While PurchaseRequest.xsd represents only their registration numbers,
SalesReport.xsd represents registration numbers as well as names.</p>
      <p>We need customers to specify their names in purchase requests. Since
PurchaseRequest.xsd does not consider names we have to modify it. We decide to
add XML element name to root XML element purchase-request. This
transformation does not change our interpretation of the domain since we have already
considered names of customers. It does not therefore influence SalesReport.xsd.</p>
      <p>Further, sales managers want to structure names of customers in sales
reports to first and family names. SalesReport.xsd has only XML element name
in XML element customer. Therefore, we replace name with first-name and
family-name. This transformation however changes our interpretation of the
problem domain since we have considered a name as one unstructured value.
This can therefore influence other XML schemas as well. In a concrete, we need
to structure XML element name in PurchaseRequest.xsd in a similar way.</p>
      <p>As the examples demonstrate, a transformation of an XML schema can
influence other XML schemas in the system as well. This is because we need to keep
the XML schemas consistent with our interpretation of the problem domain.
However, managing the consistency at the XML schema level is an error–prone
and time–consuming task since it must be handled manually. Therefore, a more
sophisticated method for XML schema evolution would be useful in practice.</p>
      <p>Related Work
We can divide current approaches to XML schema evolution into three groups
depending on the level where transformations can be specified by the designer.
These groups are depicted in Figure 2 in columns (a), (b) and (c) respectively.</p>
      <p>
        Approaches in the first group consider transformations at so-called logical,
i.e. XML schema level. They differ mainly in the selected XML schema language,
i.e. DTD [
        <xref ref-type="bibr" rid="ref16 ref2 ref9">16, 2, 9</xref>
        ] or XML Schema [
        <xref ref-type="bibr" rid="ref12 ref17">17, 12</xref>
        ]. In general, the transformations can
be variously classified. For instance, paper [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] proposes three classes: Migratory
transformations deal with movements of elements/attributes to other parts of
the schema or transformation of elements to attributes and vice versa. Structural
transformations involve adding/removal of elements/attributes. Finally,
sedentary transformations involve renaming of elements/attributes and modifications
of simple data types. In all the proposed systems the transformations are then
automatically propagated to the respective XML documents, i.e. to so-called
extensional level, to ensure that the XML documents are valid against the evolved
XML schema. There also exists an opposite approach that enables to evolve
XML documents and propagate the transformations to their XML schema [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Approaches in the second and third group are similar to the first one but
they do not consider transformations specified at the logical level but its
abstraction. In particular, approaches in the second group consider a visualization
of the XML schema [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], whereas approaches in the third group consider a UML
class diagram that models the XML schema [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. From our point of view, we
comprehend both the cases as so-called platform-specific model, since it directly
models the components of the XML schema but not the data abstracted from its
representation in XML. Transformations made at platform-specific level are then
propagated to corresponding transformations in the XML schema and from here
to XML documents. The main advantage is that it is easier for the designer to
specify transformations at the abstraction level than at the XML schema level
because (s)he can concentrate more on the transformation itself rather than
technical XML schema details.
      </p>
      <p>
        Another open problem related to schema evolution is adaptation the
respective operations, in particular XML queries. We speak about so-called operational
level (see Figure 2 by column (d)). Unfortunately, there seems to exist only a
single paper [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] dealing with this topic. The authors provide several use cases
when the queries need to be corrected with regard to the modification of the
data and, finally, state several recommendations how to write queries that do
not need to be adapted for evolving schema.
      </p>
      <p>In general, the problem of current approaches is that they do not consider
several important issues. Firstly, they consider evolution of a single XML format.
However, as we demonstrated in Section 2, there are usually multiple XML
formats providing different views of the domain. Hence, a transformation of an
XML format can influence other XML formats as well. Secondly, queries over
XML documents are ignored. Since queries depend on the structure of the XML
documents, transformation of an XML schema can influence them and they
should therefore be considered as a part of the evolution system as well.
4</p>
      <p>Five Level Schema Evolution
In this paper, we introduce a new approach to XML evolution. While the current
approaches consider evolution on two, resp. three levels as depicted in Figure 2,
we consider five levels. The introduced levels are depicted in Figure 3.</p>
      <p>The extensional level contains for each XML format a set of XML documents
conforming to this format. The logical level contains an XML schema that
describes structure of the XML format. The operational level contains queries
related to the XML format. If we consider only these levels, it is hard to
determine whether a transformation of an XML format influences other XML formats
since it must be determined manually. The problem is that we have no layer that
interrelates the XML formats. Therefore, we add two other levels, i.e. platform–
specific and platform–independent level, that provide such interrelation.</p>
      <p>We adopted the terms platform–independent and platform–specific from the
Model–Driven Architecture (MDA) terminology which considers modeling data
at different levels of abstraction. Even though MDA considers more levels, we
adopt only the two mentioned ones. The platform–independent level contains
a conceptual diagram of the problem domain. It provides a description of the
problem domain abstracted from the logical level. The platform–specific level
interrelates the platform–independent and logical level. It provides a mapping of
each XML diagram to the conceptual diagram. This mapping enables automatic
transformation propagation since a transformation of an XML schema can be
propagated to the conceptual diagram and from here to other XML schemas.</p>
      <p>Figure 3 depicts in bold rectangles that a transformation can occur at any
level L except the operational level. From L, the transformation is firstly
propagated to the upper levels. This propagation is therefore called upward propagation
and is depicted in Figure 3 by solid arrows. After the upward propagation, the
transformation is propagated back to the lower levels as depicted in Figure 3 by
dashed arrows. This propagation is therefore called downward propagation.</p>
      <p>The upward propagation means that a transformation specified at L implies
a corresponding transformation at the upper level L − 1. This propagation does
not occur in every case. There are transformations whose impact depends on a
designer. There are also transformations that have no impact at all. The upward
propagation can end up at any level from where the downward propagation
continues. If the upward propagation ends up at the platform–specific or lower
level, the downward propagation continues only in the scope of the corresponding
XML format. If the propagation ends up at the platform–independent level, our
interpretation of the problem domain has changed and a downward propagation
to other XML formats can be therefore required.</p>
      <p>We describe possible transformations and their propagation in detail in
Section 5. Before this, we describe the separate levels in the rest of this section.
Platform–Independent Level The platform–independent level contains a
conceptual diagram of the problem domain. It describes the domain
independently of the considered XML formats. To design such a diagram we use a
conceptual modeling language which is called Platform–Independent Model (PIM)
in the MDA terminology. The diagram is then called PIM diagram. As PIM, we
consider the well-known UML class model. We consider only basic modeling
constructs, i.e. classes for modeling concepts and binary associations for modeling
relationships between the concepts.</p>
      <p>
        Example 1. Figure 4 shows a sample PIM diagram modeling the domain of the
company introduced in Section 2. We designed the diagram in a tool called
XCase [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that we have developed for conceptual modeling of XML schemas.
For example, there is a class Customer modeling customers. It has attributes
registration, name, email and phone modeling relevant customer characteristics.
A sample association is the one connecting Customer and Purchase. It models
that customers make purchases.
Platform–Specific Level The platform–specific level contains for each XML
format a diagram that models the XML format in terms of the PIM diagram. In
other words, it serves as a mapping between the corresponding XML schema and
the PIM diagram. For this, we use a modeling language which is called Platform–
Specific Model (PSM) in the MDA terminology. The resulting diagram is called
PSM diagram. As PSM, we consider the UML class model extended with some
constructs covering XML–specific features. In this paper, we introduce only some
of the constructs. For their full description, we refer to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>A PSM diagram contains classes from the PIM diagram and organizes them
into the hierarchical structure of the modeled XML format by associations. There
is a formal background that maps associations in PSM diagrams to associations
in a PIM diagram. However, we omit it in this paper. A label displayed above
a class is called element label and specifies a name of an XML element that
represents instances of the class in the XML format. Attributes of a class model
XML attributes. They can be separated to so called attribute container displayed
by a box beneath the class. In that case they model XML elements. We can also
model variants in the content of a PSM class by so called content choice. It is
displayed by a circle with an inner | and models that only one of its components
can be instanciated for each its instance.</p>
      <p>
        Example 2. Figure 5 shows two sample PSM diagrams modeling the XML
formats for purchase requests and sales reports from Section 2. Both model the
respective XML format in terms of the PIM diagram depicted in Figure 4. The
PSM diagrams were designed in the XCase tool [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>To explain the PSM constructs, consider the diagram on the left. It
models that purchases are represented in the corresponding XML format as roots
since Purchase is a root class. Because the root PSM class Purchase has an
element label purchase-request, a purchase is represented as an XML element
purchase-request. The associations going from Purchase model that a
purchase has a customer, delivery information and list of items as children whose
representation is modeled by the children of Purchase. The diagram utilizes an
attribute container to specify that attributes amount and price of Item model
XML elements. It also utilizes a content choice to specify that each purchase
contains a messenger or van, that delivers the purchase, but not both.</p>
      <p>
        The PSM diagram provides a mapping of PurchaseRequest.xsd to the PIM
diagram. Each PSM class maps a complex type in the XML schema to a
corresponding PIM class. The same is for associations and attributes.
Logical Level The logical level contains for each considered XML format its
XML schema. An XML schema describes a syntactical structure, i.e. what XML
elements and attributes can be used in respective XML documents. Even there
are various languages for expressing XML schemas, we consider the XML Schema
language [
        <xref ref-type="bibr" rid="ref18 ref3">18, 3</xref>
        ] in this paper. Self-descriptive examples of XSDs are depicted in
Figure 1 in Section 2 .
      </p>
      <p>
        XML Schema provides several constructs. We consider only the basic ones
in this paper. Namely, simple data types (simpleType), complex data types
(complexType), elements (element) and attributes (attribute). Since we are
restricted in space, we do not describe the constructions in a more detail and
refer to [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] for their explanation.
Extensional Level The extensional level contains for each considered XML
format a set of XML documents. XML documents are composed of XML
elements that can contain text values and/or nested XML elements. An XML
element can also have XML attributes. Figure 6 shows two self-descriptive XML
documents valid against the XML schemas depicted in Figure 1.
Operational Level The operational level contains for each XML format queries
that are evaluated on the XML documents of that format. There are several XML
query languages such as, e.g. XSLT [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] or XQuery [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. They all apply XPath [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
as a common factor to navigate in the structure of XML documents. Therefore,
XPath expressions must be considered during evolution since a change in the
structure of an XML format can have an impact on them. We do not describe
XPath in detail here since we are restricted in space. A sample XPath expression
is a path /sales-report//customer/name that targets names of customers in
XML documents with sales reports.
5
      </p>
      <p>
        Transformations and their Propagation
Having the above described levels, we can now specify the set of transformations
a user may make at each of them. Similarly to the existing works [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] we can
distinguish atomic transformations and high-level transformations (i.e. sequences
of atomic transformations) as well as sedentary, structural and migratory ones.
However, since this classification is too general, we further adopt general types
of transformations similar to [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]:
– Structural:
• Adding – adds a new item
• Removal – removes a new item
– Sedentary:
• Extension – adds a new item that does not change structure
• Renaming – renames an item
• Renumbering – changes the cardinality of an item
• Retyping – changes the data type of an item
• Resetting – changes the value of an item
• Mapping – maps an item to an item from another level
• Unmapping – removes a mapping between levels
– Migratory:
• Moving – moves an item
• Reordering – changes the order of a set of items
• Transformation – transforms an item to an item of a different type
Note that not all types of the transformations exist at all five levels we are
dealing with. For instance, retyping does not occur at the platform–indepdendent
level, since we restrict ourselves only to classes, attributes and associations.
      </p>
      <p>
        As we have described, propagation of transformations can be either upwards
or downwards. Hence, the transformations at particular levels need to be
propagated to all neighboring levels. With our general view of the data, we do not need
to propagate the modifications to all the other levels if not necessary. In general
the propagation needs to be done if the XML data become invalid. However, in all
the other cases it remains user’s decision if the respective propagations should be
done. In the following text we describe only the necessary propagations, however
also user-required propagations are discussed in important cases. For simplicity,
we will deal only with atomic operations and thus omit all migratory ones that
are high-level. For the same reason we omit trivial transformations, such as, e.g.,
renaming. (The full description can be found in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].)
5.1
      </p>
      <p>Platform–Independent Level
As we can see in Table 1, most of the operations at the platform–independent
level are of the type of adding or removal that can be applied on all PIM items.
Furthermore we can apply renumbering on the cardinalities. The operations
can be propagated only to the platform–specific level within the downwards
propagation.</p>
      <p>Adding a new PIM item does not need to automatically trigger propagation
to the platform–specific level. However, if such propagation is required, a user
must state the required mapping to the respective PSM items since there usually
exist multiple options. On the other hand, deleting of a PIM item invokes deleting
of the respective mapping. However, a user may require also optional deleting of
the respective item as well. Similarly, changing cardinality may invoke changing
cardinality of the respective PSM item depending on user’s requirements.
5.2</p>
    </sec>
    <sec id="sec-2">
      <title>Platform–Specific Level</title>
      <p>As stated in Table 2 at the platform–specific level there are several
sedentary transformations, in particular changing cardinalities or data types and
adding/deleting mapping to a PIM item. The rest of the transformations are
structural since they create or delete respective PSM items.</p>
      <p>
        Except for the mapping transformations, all the others need to be propagated
to the logical level. (Note that for the sake of simplicity we do not deal with
XML schema specific aspects such as possibilities of creating a global or local
element or equivalent content model. The detailed description of propagation
of operations with particular schema items can be found in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].) On the other
hand, except for mapping a PSM item to a PIM item which requires creating of
the respective PIM item if it does not exist yet, no other transformations need to
be propagated from the platform–specific to platform–independent level if not
otherwise specified by a user.
5.3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Logical Level</title>
      <p>Table 3 provides an overview of logical-level transformations. Similarly to the
previous case, for the sake of simplicity we omit all the possible specifications
of an equivalent XML schema construct. To ensure consistency of the
transformations we also state the following invariant that needs to hold during the
whole evolution process: A globally defined item can be deleted only if all the
respective references have already been deleted.</p>
      <p>As we can see, most of the transformations belong to structural class since
they add or delete XML schema items; the only sedentary transformations are
changing a simple type or a cardinality and adding simple and complex types.</p>
      <p>As for the propagation to extensional level, all the transformations need to be
propagated only in case the validity of XML documents is violated, i.e. all the
propagations are optional (O). For instance, adding an XML schema element
may cause adding an XML element only in case the XML schema element is
compulsory. On the other hand, in case of logical-to-PSM propagation, we always
need to propagate changes in data types and cardinalities. However, if we add
or remove an XML schema item, the respective propagation depends on its type
and can cause adding/removing of respective item(s) or nothing. For instance,
if we create a complex type, the operation has no influence at platform–specific
level, however if we create an element with a complex type, we need to create
the respective PSM class. And, finally, note that creating a simple or complex
type that is not associated with respective element or attribute has no influence
in both directions of propagation.
5.4</p>
      <p>Extensional Level
As we can see in Table 4 transformations over XML documents involve
structural transformations of adding/removing an element/attribute and a sedentary
transformation of changing a data value.</p>
      <p>Depending on the XML schema, propagation of all the transformations is
optional an depends on violation of validity. In addition, some of the
transformations have several options how they can be propagated. For instance, creating
an element may cause creating an element in the XML schema, changing
cardinality or even nothing.
Last but not least, let us briefly discuss the operational level. In particular,
considering only the XML data, we may restrict the transformation set to XML
queries. The question is how can be this level influenced by the other levels and,
conversely, whether the operational level influences other ones.</p>
      <p>
        The answer for the latter question is much easier since we can hardly assume
that if a user modifies a query, such modification should anyhow influence the
data. However, any of the changes at the logical level can influence the
operational level, since the queries may become irrelevant with regard to the data.
As discussed in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], such situation occurs in case the queries do not follow the
rules the authors provide. For instance, if a query involves a simple XPath [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
path and any of the elements on the path is deleted, also the path needs to be
respectively updated.
6
      </p>
      <p>Propagation Examples
In this section we demonstrate transformation propagation on the
transformations introduced in Section 2.</p>
      <p>The first transformation was an addition of new child XML element name
to purchase-request in the XML format for purchase requests. We initiate
the transformation at the extensional level by modifying an XML document.
Since we have added a new element to an XML document, the transformation
must be propagated to the logical level and the corresponding XML schema
(depicted in Figure 1 on the left) must be extended with the corresponding element
declaration. It must be further propagated to the corresponding PSM diagram
(depicted in Figure 5 on the left) where we add a new attribute name to the
class Customer. Finally, the transformation is propagated to the PIM diagram.
Since customer names are already modeled by attribute name of Customer we
map the name PSM attribute to the exisitng name PIM attribute and no
transformation is needed. Therefore, our interpretation of the domain has not been
changed by the initial requirement and no downward propagation is required.</p>
      <p>The second transformation was a replacement of XML element name with
new elements first-name and family-name in the XML format for sales
reports. We initiate this transformation in SalesReport.xsd, i.e. at the logical
level. Again, the transformation is propagated upwardly first. In the
corresponding PSM diagram (depicted in Figure 5 on the right), it means to replace the
attribute name of Customer with new attributes first-name and family-name.
Since these attributes have no equivalents in the PIM diagram, our
interpretation of the domain has changed and the PIM diagram must be correspondinly
transformed as well, i.e. the attribute name of Customer must be replaced with
new attributes first-name and family-name. A downward propagation must
follow. It means to propagate the transformation to the XML documents with sales
reports and, moreover, to the other XML formats, i.e. to the XML format for
purchase requests. Since there can be queries for each XML format querying
names of customers, they can be influenced as well.
7</p>
      <p>Conclusion
The aim of this paper was to show that the problem of XML schema evolution
has been highly marginalized so far. In particular, all the existing works only
deal with subparts of the problem. Firstly, we have showed that the schema
evolution problem must be viewed from the perspective of multiple applications
and we have defined five levels of XML schema evolution that cover all the
existing works. Secondly, we have discussed how the respective transformations
at particular levels influence the neighboring ones. And, finally, we have described
use cases related to the problem that cannot occur unless we consider all the
evolution levels.</p>
      <p>
        Currently, we are dealing with a throughout implementation of the proposed
system. For this purpose we want to extend system XCase [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] which enables to
design conceptual diagrams and map them to respective XML schemas.
      </p>
      <p>Apparently, there exist several open issues: Similarly to the existing works
we need to make the adaptation at all levels (and especially the newly proposed
ones) efficient and, consequently, we need to be able to find the least expensive
sequence of transformations. Secondly, there remains the question of performing
the adaptations. Instead of using a brute-force, we want to output a set of XSLT
scripts that can be applied on the respective XML data. Naturally, this approach
requires the existence of an XML representation of the non-XML levels. For the
sake of full generality, we intend to involve all the relevant XSD constructs as
well as other high-level transformations that we have omitted for simplicity. And,
last but not least, we want to extend the approach with concurrency control.
Having such a robust system, it is quite natural that there are multiple users to
work with it, i.e. multi-user access and transactions need to be incorporated.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>XCase - A Tool for XML Data</surname>
          </string-name>
          <article-title>Modeling</article-title>
          .
          <year>2008</year>
          . http://kocour.ms.mff.cuni.cz/ ~necasky/xcase/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. L.
          <string-name>
            <surname>Al-Jadir</surname>
            and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>El-Moukaddem</surname>
          </string-name>
          .
          <article-title>Once Upon a Time a DTD Evolved into Another DTD</article-title>
          ...
          <source>In Object-Oriented Information Systems</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>17</lpage>
          , Berlin, Heidelberg,
          <year>2003</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>P. V.</given-names>
            <surname>Biron</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Malhotra</surname>
          </string-name>
          .
          <source>XML Schema Part</source>
          <volume>2</volume>
          :
          <string-name>
            <surname>Datatypes (Second Edition). W3C</surname>
          </string-name>
          ,
          <year>October 2004</year>
          . http://www.w3.org/TR/xmlschema-2/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Boag</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chamberlin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Fernndez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Florescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Robie</surname>
          </string-name>
          , and J.
          <source>Simeon. XQuery 1</source>
          .0:
          <string-name>
            <surname>An</surname>
            <given-names>XML Query</given-names>
          </string-name>
          <string-name>
            <surname>Language. W3C</surname>
          </string-name>
          ,
          <year>January 2007</year>
          . http://www.w3. org/TR/xquery/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bouchou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Duarte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Halfeld Ferrari Alves</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Laurent</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Musicante</surname>
          </string-name>
          .
          <article-title>Schema Evolution for XML: A Consistency-Preserving Approach</article-title>
          .
          <source>In Mathematical Foundations of Computer Science</source>
          , pages
          <fpage>876</fpage>
          -
          <lpage>888</lpage>
          , Prague, Czech Republic,
          <year>2004</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>T.</given-names>
            <surname>Bray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Paoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Sperberg-McQueen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Maler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Yergeau. Extensible Markup</surname>
          </string-name>
          <article-title>Language (XML) 1.0 (Fourth Edition)</article-title>
          .
          <source>W3C</source>
          ,
          <year>September 2006</year>
          . http: //www.w3.org/TR/REC-xml/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Clark</surname>
          </string-name>
          .
          <source>XSL Transformations (XSLT) Version</source>
          <volume>1</volume>
          .0.
          <issue>W3C</issue>
          ,
          <year>November 1999</year>
          . http: //www.w3.org/TR/xslt.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Clark</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>DeRose. XML Path</surname>
          </string-name>
          <article-title>Language (XPath) Version 1</article-title>
          .0.
          <issue>W3C</issue>
          ,
          <year>November 1999</year>
          . http://www.w3.org/TR/xpath.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Coox</surname>
          </string-name>
          .
          <article-title>Axiomatization of the evolution of xml database schema</article-title>
          .
          <source>Program. Comput. Softw.</source>
          ,
          <volume>29</volume>
          (
          <issue>3</issue>
          ):
          <fpage>140</fpage>
          -
          <lpage>146</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. E. Dominguez,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lloret</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Rubio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Zapata</surname>
          </string-name>
          .
          <article-title>Evolving XML Schemas and Documents Using UML Class Diagrams</article-title>
          .
          <source>In DEXA '05: Proceedings of the 16th International Conference on Database and Expert Systems Applications</source>
          , pages
          <fpage>343</fpage>
          -
          <lpage>352</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M.</given-names>
            <surname>Klettke</surname>
          </string-name>
          .
          <article-title>Conceptual XML Schema Evolution - the CoDEX Approach for Design and Redesign</article-title>
          .
          <source>In BTW Workshops</source>
          , pages
          <fpage>53</fpage>
          -
          <lpage>63</lpage>
          . Verlagshaus Mainz, Aachen,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Mesiti</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Celle</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          <string-name>
            <surname>Sorrenti</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Guerrini. X-Evolution</surname>
          </string-name>
          :
          <article-title>A System for XML Schema Evolution and Document Adaptation</article-title>
          .
          <source>In EDBT '06: Proceedings of the 10th International Conference on Extending Database Technology</source>
          , pages
          <fpage>1143</fpage>
          -
          <lpage>1146</lpage>
          , Berlin, Heidelberg,
          <year>2006</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. I. Mlynkova and
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          .
          <article-title>Five-Level Multi-Application Schema Evolution</article-title>
          .
          <source>Technical Report 2008/7</source>
          , Department of Software Enginneedring, Charles University, Prague, Czech Republic,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. M. Moro</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Malaika</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Lim</surname>
          </string-name>
          .
          <article-title>Preserving XML Queries During Schema Evolution</article-title>
          .
          <source>In WWW '07: Proceedings of the 16th international conference on World Wide Web</source>
          , pages
          <fpage>1341</fpage>
          -
          <lpage>1342</lpage>
          , New York, NY, USA,
          <year>2007</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          .
          <article-title>Conceptual Modeling for XML</article-title>
          .
          <source>PhD thesis</source>
          , Charles University,
          <year>2008</year>
          . http://kocour.ms.mff.cuni.cz/~necasky/dw/thesis.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. H.
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>D. K.</given-names>
          </string-name>
          <string-name>
            <surname>Kramer</surname>
            , and
            <given-names>E. A.</given-names>
          </string-name>
          <string-name>
            <surname>Rundensteiner. XEM: XML Evolution</surname>
          </string-name>
          <article-title>Management</article-title>
          .
          <source>Technical Report WPI-CS-TR-02-09</source>
          , Computer Science Department, Worcester Polytechnnic Institute, Worcester, Massachusetts,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>M.</given-names>
            <surname>Tan</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Goh</surname>
          </string-name>
          .
          <article-title>Keeping Pace with Evolving XML-Based Specifications</article-title>
          .
          <source>In EDBT '04 Workshops</source>
          , pages
          <fpage>280</fpage>
          -
          <lpage>288</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Thompson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Beech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maloney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Mendelsohn</surname>
          </string-name>
          .
          <source>XML Schema Part</source>
          <volume>1</volume>
          :
          <string-name>
            <surname>Structures (Second Edition). W3C</surname>
          </string-name>
          ,
          <year>October 2004</year>
          . http://www.w3.org/TR/ xmlschema-1/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>