<!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>AA FFrraammeewwoorrkk ffoorr EEfficciieenntt DDeessiiggnn,, MMaaiinnttaaiinniinngg,, aanndd EEvvoolluuttiioonn ooff aa SSyysstteemm ooff XXMMLL AApppplliiccaattiioonnss??</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Neˇcasky´</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irena Mly´nkov´a Martin Necasky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irena Mlynkova</string-name>
          <email>mlynkovag@ksi.mff.cuni.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Software Engineering, Charles University in Prague, Czech Republic Department of SoftwareneEcnagsiknye</institution>
          ,
          <addr-line>emrilnygn,kCovhaa</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <fpage>38</fpage>
      <lpage>49</lpage>
      <abstract>
        <p>The today's applications usually form a system of sub-applications, each being responsible for a particular functionality. Hence, the design and maintenance of such a complex system is not a simple task. In addition, the user requirements can change and the affected parts need to be identified and evolved. Similarly, new components or even whole system may need to be integrated. In this paper we describe a framework that enables one to face the described issues. For this purpose we exploit verified technologies, such as conceptual modeling, data semantics, matching algorithms etc. Using a set of examples we show that our approach enables one to design, maintain, and evolve a system of applications efficiently and precisely. We depict the features on an XML system represented by a set of web services that exchange XML data. However, the concepts are general and can easily be extended for any kind of data format.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Introduction
? Supported by the Czech Science Foundation (GA CˇR), grants no. 201/09/P364 and</p>
      <p>P202/10/0573.
the data. It can also influence storage and manipulation strategies of the data
formats. And, similarly, new applications may need to be incorporated, or even
whole systems may be mutually integrated.</p>
      <p>The aim of this paper is to describe a framework that faces the described
issues and identifies related problems that have not been solved yet by researchers.
The proposed framework covers the whole life cycle of a system of applications
from design and maintenance to evolution. Its main advantages are as follows:
– It involves a conceptual level of both the data and the business processes
which enable one to describe the user requirements easily and precisely.
– It creates and preserves the relations between applications and their data.</p>
      <p>Hence, any evolution change can be propagated to all affected components.
– The system is open, thus new applications can be semi-automatically
incorporated or it can be integrated with a whole other system.
– The additional information are exploited in various parts of the system, such
as storage strategies or matching of components during integration.</p>
      <p>
        Probably the most common example of the described system is represented
by the principle of Service Oriented Architecture (SOA) and its most common
implementation – web services [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. A web service (WS) is a software system
designed to support machine-to-machine interaction over the Internet using
message exchanging. Most of the functionality of a WS is based on XML [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] – its
interface is described in WSDL [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], the data is exchanged using SOAP [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
messages, etc. For simplicity we will consider only such type of system – so-called
XML system of applications that exchange and process data in XML format.
However, the framework can easily be extended for various other formats.
      </p>
      <p>The paper is structured as follows: Section 2 provides a running example of
an XML system. Section 3 describes basic decomposition of an XML system and
Section 4 describes advanced components that form the framework. Section 5
provides conclusions.
2</p>
      <p>
        Running Example
Let us consider a real-life purchasing application, in particular a simple business
process of purchasing goods. The diagram of the business process modeled in
BPMN [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is depicted in Figure 1. The process starts with receiving a purchase
order from a customer. Firstly, the trader checks the provided credit card details
and rejects the purchase when the check fails. Otherwise, the trader arranges
delivery of the purchased goods and sends an invoice back to the customer.
      </p>
      <p>The business process is implemented by a publicly available WS PurchaseWS
depicted in Figure 2. The WS provides an operation ProcessPurchase that
receives a purchase order as the input from a customer. When a customer’s credit
card cannot be validated the WS sends a rejection message back to the
customer. Otherwise, the customer receives an invoice with the delivery details as
a response from the WS.
Receive Purchase</p>
      <p>Check Credit</p>
      <p>Card
The full architecture of our framework is depicted in Figure 3. In this section
we describe so-called run-time parts, i.e. parts that form the run time of an
XML system. In the following section we describe extensions we need to design,
maintain and evolve such XML system efficiently.</p>
      <p>The run-time parts of the system are XML Schema part, Web Services part,
Database part, and Semantics part. We denote them XS, WS, DB, and
SEMANTICS, respectively.</p>
      <p>
        The XS component is a mandatory part of each XML system. It covers
XML schemas that specify XML formats applied in the system and integrity
constraints that enhance XML schemas with advanced conditions that cannot
be expressed with XML schema languages. XML schemas can be expressed in
languages such as, e.g., XML Schema [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], or Relax NG [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]; for expressing
XML constraints, XML pattern languages, e.g. Schematron [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], can be applied.
Example 1. The running example in Section 2 exploits several XML formats.
For example, there is a format for XML messages with purchase orders sent by
customers to PurchaseWS or two formats for XML messages with delivery
information sent by PurchaseWS to UPCShipmentWS and FedExDeliveryWS. There
are also advanced integrity constraints – for example, an integrity constraint
specifying that “check sum equals to the sum of prices of individual items ”.
1 http://www.ups.com/
2 http://fedex.com/
      </p>
      <p>Th•e WMoStivpaatriotn:covers business processes implemented by the XML system.
A WS is comoprXeMheLnsdyesdteams caanstcaonmdparloisneemsaonftywcaormepcoonmenptosnseuncthtahsaXt MimL pslcehmemenatss, a</p>
      <p>
        WSDL schemas, database schemas, integration scripts etc. However,
business procestsh.esDeactaommpoednieanttosrdsocnaont ptrhoevnideimapnloevmeeranltl ptircatunrsefoorf mthaetiwohnoloefdXatMaL
messages betwedeonmWainSas,ndanbdusoinrechssesptrroacteiosnse/schaosrtehoegyrai mphpylemalelonwtdsifferecnotmviepwopsiotiinotns
for
of individual WoSf svainriotouscopamrtpicleipxanstesr v(eic.ge.suosneerss,. oTthraenrssfyosrtmemast,iosntasncdaanrdbizeatsiopnecified
as XSLT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] screifpfotsrt.s,Teotcd.)e.scribe orchestration/choreography, languages such as
WSBP•ELSo[1lu0t]iocna:n be applied.
      </p>
      <p>o Techniques for designing an overall conceptual model of the data
Example 2. In dooumr asianmanpdlebsuyssinteemss pwreocsepsesceisfywiWllbSe
idnetveerlfoapceeds.aItsisWreSpDreLsednetescdrbipytions. Moreoverth,ePtuwrochdaesseinWg-SpheaxspelpoaitrststohfethtewXoMeLxtseyrsnteamlUaPrcChiStehcitpumreednetpWicStedanind
FedExDeliveryWFiSguraen2d: also two trader’s internal WSs InventoryWS and
AccountingWS for c heckDiMng(DthomeaaimnoMuondtelo)fpaartpcaorvteicrsulaarcopnrcoedputucatl omnodtheleosfttohcekdaatnad
issuing invoices, respdeocmt•ivaeinlPy.I.IMtIcn(oPmloapttfrhoisererms-wInodredpse,nPdeunrcthMaosdeeWl) Swhoicrhchceosnttraaintess these
WSs. Since the input XMLcfoonrcmeapttusaol
fdibaogtrahmUsPoCftShheidpamtaendtoWmSaina.nPdIMFmedoEdxeDlseliveryWS differ from the out pimuptoXrtaMntLasfopremctastofotfhePduarctahadsoemWaiSn,(ii.te.isconnecceepstssaarnydto
incorporate XSLT data me dreialattoiornssthhipast) tinradnespfeonrdmentthlyeomfitesssraepgreessreenstpateioctnivaet llyo.gical
levels, i.e. XML and DB. Diagrams can be expressed with</p>
      <p>The DB (Database) paexritstcinogveUrMsLdactlaasbsadseiasgtrhamats.persist XML data involved
in the system. The XML•doIcnutemgernittysccoannstbreaisnttosreexdtecnedntPrIaMllywiitnh aadsvianngcleeddianttaebgraitsye
or distributed across differenctondsattraibnatsseths.atNcaatnivneoXtbMe Lexdparetasbsaesdewsiathlltohwe PfoIrMstoring
XML messages in their
natmivoedfeolrinmg.laOngbjueacgt-er.eElaxtisiotinngalOdCaLta(bOabsjeesctrCeqounsirtreaidnetscomposition of XML messages iLnatnogoubagjeec)tc-arenlabteioenxapllotitaebdl.es.</p>
      <p> BPM (Business Process Model) part covers a conceptual model
Example 3. The dataoifnthtehbeuesxincehsasnpgreodceXsMseLs. mItceossmapgreisseisn our sample XML
system are stored in a relational database. When a purchase order arrives from a
customer, it is shredded into records of relational tables. The same is for other
information, e.g. delivery details, invoices etc. Conversely, because of legal
constraints, each trader needs to store the invoices from suppliers as they come
instead of converting them to normalized relational tables. Therefore, the trader
exploits a native XML database in this case.</p>
      <p>
        The SEMANTICS part exploits ontologies to express semantics of the
data domain and business processes in a machine-readable way. Domain
ontologies specify semantics of the data domain, e.g., in OWL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Process ontologies
specify semantics of business processes, e.g., in OWL-S [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or WSMO [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This
enables one to exploit various advanced semantic techniques to, e.g.,
dynamically discover PurchaseWS or mediate other business processes to the business
process implemented by the XML system.
      </p>
      <p>Example 4. For customers equipped with solutions based on the Semantic Web
technologies, a trader can provide additional semantics part of the XML
system. The trader exploits a standardized BMO3 business ontology to specify the
important concepts, e.g. customer, product, purchase etc., and the purchasing
business process at the semantic level.</p>
      <p>When two or more run-time parts are present in the system, we need them
to work together. This internal integration is covered by integration parts called
XML VIEWS, SEMANTIC VIEWS, XML GROUNDING, and WS
GROUNDING depicted in Figure 3 as double-colored rounded boxes.</p>
      <p>
        XML VIEWS cover integration of the XML and DB parts. They transform
data from its database representation to XML representation and vice versa. An
XML view can be expressed in XML query languages such as SQL/XML [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Example 5. In our example we need XML views expressed in SQL/XML to
transform the data stored in the relational database (e.g. purchase orders and
delivery data) to XML formats specified by the XML schemas in the XS part
and vice versa. These views allow to access the data in their various XML
representations even if it is logically stored in relational tables.
      </p>
      <p>
        SEMANTIC VIEWS cover integration of SEMANTICS and DB parts.
They transform data from its database representation to the ontological
representation, e.g. RDF [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] triples, and vice versa. This allows for expressing
the semantics of the data in a machine-readable way and, at the same time,
database-supported semantic reasoning and querying. A SEMANTIC view can
be expressed in an XML query language, such as SQL/XML, as RDF triples can
be represented in XML.
      </p>
      <p>Example 6. Our sample system provides semantics-enabled customers with the
purchase, invoice, and delivery data represented in the ontological representation
conforming to the ontologies from the SEMANTICS part. This is achieved by
semantic views that convert, e.g., purchase order data in relational tables to
RDF triples and vice versa.</p>
      <p>XML GROUNDING integrates SEMANTICS and XS parts. It comprises
mutual mappings of XML schemas to domain ontologies and as XSLT scripts
that specify data transformation between XML and ontological representation.
It is similar to SEMANTIC VIEWS part but instead of DB there is the XS part.
3 http://www.bpiresearch.com/Resources/RE_OSSOnt/re_ossont.htm
Example 7. When a semantics-enabled customer receives an XML message with
delivery information, (s)he needs to know the semantics of parts of the XML
message, e.g. delivery date, packaging etc., in the terms of the domain ontology.
This is expressed by the XML grounding that provides mapping of parts of the
XML schema for the XML message to the domain ontology.</p>
      <p>WS GROUNDING integrates SEMANTICS and WS parts. It enhances
XML GROUNDING by adding mappings of WS operations, orchestration, and
choreography to process ontologies in order to specify semantics of, e.g.,
inputs/outputs of WSs.</p>
      <p>Example 8. Similarly to XML grounding, it is necessary to provide mapping of
the WSDL description of PurchaseWS to the process ontology that specifies the
semantics of our purchasing business process.
4</p>
      <p>System Extensions
The components described in the previous section (or, in simpler cases, their
various subsets) form the XML system and are present at run time. They need
to be designed, implemented, and maintained. In addition, since an XML system
usually evolves, the components need to be modified or even whole new XML
components need to be integrated. Our framework involves techniques and tools
that enable one to manage the whole life cycle of an XML system in a
userfriendly and effective way.</p>
      <p>
        Complex Design As we have outlined, an XML system involves XML schemas,
WSDL schemas, database schemas, integration scripts etc. They implement
different and often limited viewpoints of various participants (i.e. users, other
systems, standardization efforts etc.). Therefore the primary component of the
extended system is a family of conceptual models [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], related integrity constraints
[
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], and a complex design tool [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that supports them. In Figure 3 they are
represented by the two design-phase parts of the architecture – DM and BPM.
      </p>
      <p>
        The DM (Domain Model) part covers a conceptual model of the data
domain. It involves platform-independent model (PIM ) which provides conceptual
diagrams of the domain and integrity constraints. PIM models important aspects
of the data domain (i.e. concepts and relationships) regardless its representation
at logical levels, e.g. XML or DB, using classical UML [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] class diagrams.
Integrity constraints extend PIM with information that cannot be expressed with
the PIM modeling language. For this purpose (OCL) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is exploited.
Example 9. Figure 4 depicts a PIM diagram4 of our sample problem domain.
Concepts are expressed as classes, e.g. Customer or Order. Relationships between
concepts are expressed as associations.
4 It was modeled in XCase [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a modelling tool that implements basic features
described in this paper.
      </p>
      <p>
        The BPM (Business Process Model) part covers a conceptual model of
the business processes. It involves PIM which provides conceptual diagrams of
the business processes and integrity constraints. PIM models activities, events,
and messages participating in business processes independently of their
implementation in WS part in BPMN [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>Integrity constraints extend PIM with advanced constraints specific for
individual WSs (e.g. pre-conditions and post-conditions of activities and events or
constraints on exchanged messages). Again OCL can be applied.
Example 10. A sample business process PIM diagram is depicted in Figure 1.
Each message, e.g. purchase order, credit-card check, invoice etc., specified by
the business process represents part of the data domain. This part is modeled
as a PIM diagram which is part of the whole PIM diagram from Figure 4. For
example, the PIM diagram for invoice messages contains Order, ProductItem,
Product, and Customer classes.</p>
      <p>
        Note that the existing modeling languages [
        <xref ref-type="bibr" rid="ref13 ref15">15, 13</xref>
        ] consider data modeling and
business-process modeling separately. In our framework we interconnect these
two areas and model them uniformly at PIM level. Hence, PIM gives an overall
picture of the data domain and business processes independently of their
implementation; the interconnection enables one to describe the required applications
more precisely.
      </p>
      <p>
        We survey methods for conceptual modeling techniques in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], where we
show that current methods allow modeling XML formats only at the PSM level.
In [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] we introduced a conceptual model for XML that allows for modeling
XML formats also at the PIM level.
      </p>
      <p>
        Regarding business process modeling, there are languages such as BPMN
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. However, we are missing methods for modeling data in current BPM PIM
modeling languages, i.e. methods interconnecting BPM and DM PIMs. These
languages must therefore be further extended. Probably the first step towards
this aim is paper [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], where the authors deal with transformations of BPM to
UML using XSLT.
Forward Engineering Manual coding of all components of the XML system
(e.g. XML and WSDL schemas, XSLT scripts, database schemas etc.) consumes
a lot of effort and is error-prone. Hence, our framework is based on a family of
conceptual models [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] and respective technologies. Apart from PIM, it involves
so-called platform-specific model (PSM ) represented by the XML PSM
integration part, where each diagram takes part of the PIM diagram(s) and specifies
how it is represented in a particular XML format. The diagram can also be
comprehended as a mapping between PIM and XML schemas. Similarly, our
framework involves techniques for specification of implementation of the
business processes by WSs. This is represented by the WS PSM integration part and
comprises WS PSM diagrams. Again each diagram specifies implementation of
parts of a business process.5
      </p>
      <p>The translation of PSMs to respective representations is done
semi-automatically. In particular it involves translation of:
– XML PSM to XML schemas (DM-to-XS ),
– XML PSM to database schemas (DM-to-DB ) and XML VIEWS,
– WS PSM to WSDL descriptions, XSLT data mediation scripts, BPEL
orchestrations, and WS-CDL choreographies (BPM-to-WS ), and
– PIM to ontologies (DM&amp;BPM-to-SEMANTICS ) and SEMANTIC VIEWS.</p>
      <p>Forward engineering is depicted in Figure 3 by white-filled arrows.
Example 11. A sample XML PSM diagram is depicted in Figure 5. It models how
invoices are implemented in XML, i.e. how instances of classes from the DM PIM
diagram in Figure 4, e.g. Order, Customer, or Product, are represented. From
the XML PSM diagram, an XML schema, XML view, and XML grounding for
this particular XML format are derived. Similarly, forward engineering of BPM
PIM to WSs specification can be solved via BPM PSM.</p>
      <p>Consequently, the manual coding of WS, XML, DB, and SEMANTICS parts
components is significantly reduced to design of XML PSM and WS PSM
diagrams which is more user-friendly and natural. The user does not need to
bother with syntactic details, specifics of particular format etc. What is more,
the common PIM diagram also formally interrelates components of WS, XML,
DB, and SEMANTICS run-time parts. Such information is further exploited in
the following sections.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], we also study techniques of translating conceptual diagrams in various
conceptual modeling languages to XML schemas. There are also methods for
translating BPMN diagrams to BPEL scripts [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. The translation is done only
automatically. However, designers need a possibility to influence the translation
process which is missing in the current literature.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], we study derivation of an optimal native XML database schema from
a set of XML PSM diagrams and their DM PIM diagram. In [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], the authors
5 Note that in the same way the system can be extended with PSM of relational data
(e.g. ER diagrams [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]), classes and objects (e.g. UML [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]), etc.
study methods of derivation of an optimal hybrid database schema for a given
XML schema. These methods should be further extended for deriving a hybrid
database schema for a set of XML PSM diagrams.
      </p>
      <p>Reverse Engineering When a new XML component needs to be incorporated
into the XML system, it is usually necessary to integrate it with other
components manually. In simple cases it is possible, however in complex situations it can
be a very hard task. For this purpose our framework involves (semi-)automatic
techniques for reverse engineering of:
– XML schemas to XML PSM diagrams
– WS components (i.e. WSDL schemas, BPEL, and WS-CDL scripts) to WS</p>
      <p>PSM diagrams
– external domain ontologies to DM PIM, and
– external process ontologies to BPM PIM.</p>
      <p>Example 12. Suppose that the trader wants the XML system to support also
managing supplies from the suppliers. The suppliers provide WSs for managing
supplies; however, the interfaces are different. This requires to integrate the
WSDL descriptions and XML schemas of the suppliers with the trader’s XML
system. Instead of doing this manually, we enable one to map the XML schemas
to the DM PIM diagram through XML PSM diagrams (semi-)automatically
derived from the XML schemas. WSDL descriptions can be also mapped in a
similar way to a BPM PIM diagram specifying the supply management business
process from the trader’s point of view. Then, all other components can be
derived automatically using the forward engineering procedures.</p>
      <p>Having the (semi-)automatic strategy, we significantly reduce the manual
work when incorporating third-party components, e.g. XML schemas, WSDL
descriptions, or ontologies of standardization organizations, business partners
etc., into an existing XML system.</p>
      <p>
        As we have described in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] the reverse engineering approach cannot be
purely automatic since in several cases there can be multiple options of a suitable
mapping. However, using verified strategies, such as similarity matching [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ],
evaluation of semantics etc., our approach enables one to reduce the options to
reasonable amount. In addition, it even provides several metrics that enable one
to evaluate quality of the options from distinct points of view.
      </p>
      <p>Note that similarly we can support integration of whole XML systems at PIM
level. Again, if a given system does not involve our DM and BPM extensions, they
can be reverse engineered. Then the PIM integration specifications are directly
translated to XSLT data mediators and BPEL business process mediators.
Evolution and Versioning Management As mentioned before, sooner or
later user requirements can change and, hence, the respective data need to be
modified. The problem is that such modifications can affect multiple components
of the system, such as, e.g., XML schemas, WSDL descriptions, database schemas
etc. And not only can such modifications be demanding, but, in complex systems,
they can also be very hard to identify.</p>
      <p>
        For the purpose of complex evolution management we exploit the previously
described features described. Similarly to design phase, we assume that most
users express their modifications in PIM since again (s)he does not have to bother
with specific features of particular formats. Such changes are then propagated
to all related run-time parts by exploiting the forward-engineering methods –
we speak about downwards propagation. On the other hand, when a change
needs to be done in a run-time part, it can be propagated to PIM by exploiting
the reverse-engineering methods – we speak about upwards propagation – and
then to all the related system parts again using downward propagation [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
To perform the respective modifications, our framework involves techniques for
(semi-)automatic derivation of XSLT scripts.
      </p>
      <p>Example 13. In our sample scenario, we may need to represent names of
customers in purchase orders as a pair first name and surname instead of a single
value name. This requires to modify the XML schema for purchase orders. It
may need to be propagated to the existing XML messages to preserve validity
against the evolved XML schema as well as to the corresponding XML PSM
diagram to preserve consistency with the XML schema. However, this also requires
to change the DM PIM diagram or mapping from the XML PSM diagram to
the PIM diagram. When the DM PIM diagram is changed, the change must be
propagated downward to the other XML schemas in the system.</p>
      <p>Similarly to the case of reverse engineering, also in case of evolution
management the key advantage of our approach is reduction of manual work when the
XML system evolves.</p>
      <p>
        As we have studied in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], the amount of approaches to XML evolution is
surprisingly low and the approaches are trivial. They only deal with separate
aspects, such as propagation of modification of XML schema level to XML
documents or vice versa [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], several papers also deal with modifications of a kind of
abstraction of the XML schema – either visualization [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] or UML diagram [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ],
i.e. a kind of PSM. However, none of them views the problem from the point of
view of multiple applications sharing common domain.
      </p>
      <p>Run-Time Support During the run time of the system we need further system
components, such as storage strategies and respective query operations, platform
for running WSs, support for semantic operations etc. All these components can
also benefit from the design-time components and exploit the complex
information on the whole system at run time.</p>
      <p>
        For example, in most XML systems the XML data that are processed and
exchanged by its components usually need to be persistently stored and retrieved.
In general, there seems to be no generally optimal storage strategy. Since
requirements of various XML applications significantly differ, for each type of processing
of XML data the respective appropriate approach should be used [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. And it is
even often further optimized in a specific way. However, manual optimization of,
e.g., database schemas with respect to the expected data retrieval and
manipulation is complicated task. The more information are taken into account, the
better, however the more complicated the search for optimum becomes.
      </p>
      <p>As we have already described, our framework involves complex information
on multiple applications that process the XML data, data mediators, schema
versions etc. Consequently, the respective storage strategies can be found more
precisely and in more broader context of multiple application views. In addition,
they can be adjusted to centralized or distributed architecture.
5</p>
      <p>Conclusion
The aim of this paper was a description of a framework that enables one to
simplify, clarify, and streamline the design, maintenance, and evolution of a
complex system of applications. Due to space limitations we have described a
general architecture of an XML system, the most common issues that need to be
solved during its life cycle and, in particular, how they can be simplified using
the described framework, i.e. extension of the system.</p>
      <p>
        Our current work naturally covers the full implementation of the key
components of the framework. Some of them have already been covered by XCase [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
which we currently extend with modeling of business processes and storage level.
Our future work will focus mainly on support of non-XML data models such as
ER model, UML, etc. and application of the system in real-world use cases.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>XSL</surname>
          </string-name>
          <article-title>Transformations (XSLT) Version 1</article-title>
          .0.
          <issue>W3C</issue>
          ,
          <year>1999</year>
          . http://www.w3.org/TR/ xslt.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>OWL-S: Semantic</surname>
            <given-names>Markup</given-names>
          </string-name>
          <source>for Web Services. W3C</source>
          ,
          <year>2004</year>
          . http://www.w3.org/ Submission/OWL-S/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>OWL</given-names>
            <surname>Web Ontology Language. W3C</surname>
          </string-name>
          ,
          <year>2004</year>
          . http://www.w3.org/TR/ owl-features/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>4. RDF/XML Syntax Specification (Revised)</article-title>
          .
          <source>W3C</source>
          ,
          <year>2004</year>
          . http://www.w3.org/TR/ rdf-syntax-grammar/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>XML</given-names>
            <surname>Schema</surname>
          </string-name>
          <article-title>Part 1: Structures (Second Edition)</article-title>
          .
          <source>W3C</source>
          ,
          <year>2004</year>
          . http://www.w3. org/TR/xmlschema-1/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>XML</given-names>
            <surname>Schema</surname>
          </string-name>
          <article-title>Part 2: Datatypes (Second Edition)</article-title>
          .
          <source>W3C</source>
          ,
          <year>2004</year>
          . http://www.w3. org/TR/xmlschema-2/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Web</given-names>
            <surname>Service Modeling Ontology (WSMO). W3C</surname>
          </string-name>
          ,
          <year>2005</year>
          . http://www.w3.org/ Submission/WSMO/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Extensible</given-names>
            <surname>Markup</surname>
          </string-name>
          <article-title>Language (XML) 1.0 (Fourth Edition)</article-title>
          .
          <source>W3C</source>
          ,
          <year>2006</year>
          . http: //www.w3.org/XML/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <source>SOAP Version 1.2 Part 0: Primer. W3C</source>
          ,
          <year>2007</year>
          . http://www.w3.org/TR/soap12-part0/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Web Services Business Process Execution Language (WSBPEL) TC. OASIS</surname>
          </string-name>
          ,
          <year>2007</year>
          . http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Web</surname>
          </string-name>
          <article-title>Services Description Language (WSDL) Version 2.0 Part 0: Primer</article-title>
          . W3C,
          <year>2007</year>
          . http://www.w3.org/TR/wsdl20-primer/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <article-title>XCase - A Tool for XML Data Modeling</article-title>
          .
          <year>2008</year>
          . http://kocour.ms.mff.cuni.cz/ ~necasky/xcase/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Documents</surname>
          </string-name>
          <article-title>Associated with Business Process Modeling Notation (BPMN) 1.2</article-title>
          . OMG,
          <year>2009</year>
          . http://www.omg.org/spec/BPMN/1.2/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Object</surname>
          </string-name>
          <article-title>Constraint Language Specification, version 2.0</article-title>
          . OMG,
          <year>2009</year>
          . http://www. omg.org/technology/documents/formal/ocl.htm.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Unified Modeling Language. OMG</surname>
          </string-name>
          ,
          <year>2009</year>
          . http://www.uml.org/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Web Services Activity.
          <source>W3C</source>
          ,
          <year>2009</year>
          . http://www.w3.org/2002/ws/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. 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</source>
          , pages
          <fpage>343</fpage>
          -
          <lpage>352</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. ISO/IEC 9075-
          <fpage>14</fpage>
          :
          <year>2003</year>
          .
          <article-title>Part 14: XML-Related Specifications (SQL/XML)</article-title>
          .
          <source>Int. Organization for Standardization</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>R.</given-names>
            <surname>Jelliffe</surname>
          </string-name>
          .
          <article-title>The Schematron - An XML Structure Validation Language using Patterns in Trees</article-title>
          .
          <year>2001</year>
          . http://xml.ascc.net/resource/schematron/.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <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>
          . Aachen,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>O.</given-names>
            <surname>Macek</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Richta</surname>
          </string-name>
          .
          <article-title>The BPM to UML Activity Diagram Transformation Using XSLT</article-title>
          .
          <source>In DATESO'09</source>
          , volume
          <volume>471</volume>
          , pages
          <fpage>119</fpage>
          -
          <lpage>129</lpage>
          ,
          <string-name>
            <surname>Spindleruv</surname>
            <given-names>Mlyn</given-names>
          </string-name>
          , Czech Republic,
          <year>2009</year>
          . CEUR-WS.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <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</source>
          , pages
          <fpage>1143</fpage>
          -
          <lpage>1146</lpage>
          , Berlin, Heidelberg,
          <year>2006</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. I. Mlynkova.
          <article-title>Similarity of XML Schema Definitions</article-title>
          . In DocEng'
          <volume>08</volume>
          , pages
          <fpage>187</fpage>
          -
          <lpage>190</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>I. Mlynkova.</surname>
          </string-name>
          <article-title>Standing on the Shoulders of Ants: Towards More Efficient XML-toRelational Mapping Strategies</article-title>
          .
          <source>In XANTEC'08</source>
          , pages
          <fpage>279</fpage>
          -
          <lpage>283</lpage>
          , Turin, Italy,
          <year>2008</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Murata. RELAX (Regular Language Description for XML)</article-title>
          .
          <year>2002</year>
          . http: //www.xml.gr.jp/relax/.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          .
          <article-title>Conceptual Modeling for XML: A Survey</article-title>
          .
          <source>In DATESO'06</source>
          , volume
          <volume>176</volume>
          , pages
          <fpage>40</fpage>
          --
          <lpage>53</lpage>
          ,
          <string-name>
            <surname>Cerna</surname>
            <given-names>Ricka</given-names>
          </string-name>
          , Czech Republic,
          <year>2006</year>
          . CEUR-WS.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          .
          <article-title>Conceptual Modeling for XML</article-title>
          . IOS Press, Heidelberg, Netherlands,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          .
          <article-title>Reverse Engineering of XML Schemas to Conceptual Diagrams</article-title>
          .
          <source>In APCCM'09</source>
          , pages
          <fpage>117</fpage>
          --
          <lpage>128</lpage>
          , Wellington, New Zealand,
          <year>2009</year>
          . CRPIT.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Knap</surname>
          </string-name>
          .
          <article-title>Reconstruction of Normalized XML Documents</article-title>
          . In Innovations'
          <volume>08</volume>
          , pages
          <fpage>213</fpage>
          --
          <lpage>217</lpage>
          , Al Ain,
          <string-name>
            <surname>UAE</surname>
          </string-name>
          ,
          <year>2008</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Mlynkova</surname>
          </string-name>
          .
          <article-title>On Different Perspectives of XML Schema Evolution</article-title>
          . In FlexDBIST'09,
          <string-name>
            <surname>Linz</surname>
          </string-name>
          , Austria,
          <year>2009</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <given-names>M.</given-names>
            <surname>Necasky</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Opocenska</surname>
          </string-name>
          .
          <article-title>Designing and Maintaining XML Integrity Constraints</article-title>
          . In MoViX'09,
          <string-name>
            <surname>Linz</surname>
          </string-name>
          , Austria,
          <year>2009</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Ch</surname>
          </string-name>
          . Peter.
          <string-name>
            <surname>Entity-Relationship</surname>
            <given-names>Modeling</given-names>
          </string-name>
          : Historical Events,
          <source>Future Trends, and Lessons Learned</source>
          . pages
          <fpage>296</fpage>
          -
          <lpage>310</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33. L.
          <string-name>
            <surname>Stromback</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Asberg</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Hall</surname>
          </string-name>
          .
          <article-title>HShreX - a Tool for Design and Evaluation of Hybrid XML Storage</article-title>
          . In FlexDBIST'09,
          <string-name>
            <surname>Linz</surname>
          </string-name>
          , Austria,
          <year>2009</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <given-names>S. A.</given-names>
            <surname>White</surname>
          </string-name>
          .
          <article-title>Using BPMN to Model a BPEL Process</article-title>
          . IBM Corp., USA,
          <year>2005</year>
          . http://bpmn.org/Documents/Mappingf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>