<!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>Facilitating Requirements Engineering of Semantic Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oscar Mun~oz-Garc a</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Raul Garc a-Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Asuncion Gomez-Perez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ontology Engineering Group, Departamento de Inteligencia Arti cial. Facultad de Informatica, Universidad Politecnica de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents a detailed Requirements Engineering process for the development of semantic applications. It presents the activities for requirements elicitation and analysis and shows how to follow these activities in an example case study. To facilitate its use by software engineers that are not experts in semantic technologies, several resources are provided, namely a comprehensive collection of the characteristics of semantic applications and two catalogues of use cases and system models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>A large-scale semantic application is a semantic application that makes use of
semantic technologies and that manipulates huge quantities of heterogeneous
decentralised knowledge that present di erent degrees of quality. It produces
and consumes own and external data and retrieves knowledge automatically
exploring di erent sources [1].</p>
      <p>As a particular domain for semantic applications, the Semantic Web is a
large-scale source of knowledge that requires designing applications which are
very di erent from classic knowledge-based systems [1]. The next generation of
Semantic Web applications needs to deal with signi cant problems associated
with the scale, heterogeneity, and the varying degrees of quality of the
information contained in the Semantic Web and other problems such as information
provenance. These problems are not only appearing in the Semantic Web but
also in other knowledge management systems or data interpretation systems.</p>
      <p>Software engineers without expertise in the development of semantic
applications do not know how to de ne or implement the semantic functionalities of
applications and it is di cult for them to carry out the development process
of these kind of applications. Thus, it is necessary to provide them a solution
consisting on guidelines that they can easily adapt and integrate in their
development processes.</p>
      <p>This paper introduces a process that facilitates Requirements Engineering of
semantic applications, that is, the process of nding out, analysing, documenting
and checking the requirements of a semantic application. To this end, this paper
de nes a process for requirements elicitation and analysis of semantic
applications, helping application developers during the rst stages of building semantic
applications from scratch or of including semantic components into traditional
information systems.</p>
      <p>This paper is structured as follows. Section 2 presents previous work about
the characterisation of semantic applications and about existing scenarios of
semantic applications. Section 3 speci es the proposed Requirements Engineering
process with the tasks that compose it. Section 4 illustrates how to carry out the
process with an example case study. Finally, Section 5 presents the conclusions
of this work and future lines of work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Semantic Applications</title>
      <p>In order to elicit and analyse the requirements of a semantic application, it is
necessary to understand the characteristics that commonly appear in semantic
applications and the di erent scenarios where semantic solutions are applied.</p>
      <p>A characterisation of semantic applications can be extracted taking
into account the characteristics of this kind of applications presented in [1{4].
Table 1 shows the result of the characterisation according to the nature of the
ontologies that the application uses, the data that the application produces and
consumes, the kind of reasoning that the application applies, and the
interoperability characteristics of the application with other systems.</p>
      <p>In [5] a set of scenarios for applying ontologies in applications are
presented. Next, these scenarios are summarised: Neutral Authoring, where an
information artifact is authored in a single language and is converted into a di erent
form to be used in multiple target systems; Ontology as Speci cation, where an
ontology of a given domain is created and used as a basis for the speci cation
and development of some software; Common Access to Information, where
information is required by one or more persons or computer applications but is
expressed using unfamiliar vocabulary or in an inaccessible format; and
Ontologybased Search, where an ontology is used for searching an information repository
for desired resources. In [6] there is a classi cation of type of usage of ontologies
for Semantic Web applications from where several scenarios can be derived. In
this work they present the following categories: Usage as a Common Vocabulary,
Usage for Search, Usage as an Index, Usage as a Data Schema, Usage as a Media
for Knowledge Sharing, Usage for a Semantic Analysis, Usage for Information
Extraction, Usage as a Rule Set for Knowledge Models and Usage for
Systematizing Knowledge. The work presented in [7] adds the scenario of Collaborative
Construction of Knowledge to the presented ones.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Requirements Engineering in Semantic Applications</title>
      <p>Requirements are the descriptions of the functionalities provided by the
application and its operational constraints and re ect the needs of the customer for
a system that helps solving some problem [8].</p>
      <sec id="sec-3-1">
        <title>Typology</title>
      </sec>
      <sec id="sec-3-2">
        <title>Domain</title>
      </sec>
      <sec id="sec-3-3">
        <title>Openness</title>
      </sec>
      <sec id="sec-3-4">
        <title>Ubiquity</title>
      </sec>
      <sec id="sec-3-5">
        <title>Domain</title>
      </sec>
      <sec id="sec-3-6">
        <title>Openness</title>
      </sec>
      <sec id="sec-3-7">
        <title>Ubiquity</title>
        <sec id="sec-3-7-1">
          <title>Ontologies Dimension</title>
          <p>Speci es if the application is based on a single ontology or makes use of several
ontologies that are organised in a network.</p>
          <p>Speci es if the ontologies are bound to a particular domain or not.</p>
          <p>Speci es if the ontologies are centralised in a single resource or distributed using
data from multiple sources.</p>
          <p>Dynamicity Speci es if the ontologies are constantly changing or if on the contrary, they are
gathered and engineered at design-time.</p>
          <p>Hugeness Speci es if the application can or cannot operate at scale in a context such as the</p>
          <p>Semantic Web with a huge number of ontologies.</p>
          <p>Heterogeneity Speci es if the ontologies are heterogeneous along several dimensions (encoding,
quality, complexity, modelling, views, etc.) or, on the contrary, if the application
is characterised by the use of ontologies that are selected, designed and integrated
manually and carefully.</p>
        </sec>
        <sec id="sec-3-7-2">
          <title>Data Dimension</title>
          <p>Speci es if the data used is bound to a particular domain or not.</p>
          <p>Speci es if the data is centralised in a single resource or distributed using data
from multiple sources.</p>
          <p>Dynamicity Speci es if the instances are constantly changing or if on the contrary they are
gathered and engineered at design-time.</p>
          <p>Hugeness Speci es if the application can or cannot operate at scale in a context with a huge
data quantity.</p>
          <p>Heterogeneity Speci es if the data is characterised by the heterogeneity on encoding or by the
combination of semantic and non-semantic data.</p>
        </sec>
        <sec id="sec-3-7-3">
          <title>Reasoning Dimension</title>
          <p>Reasoning Speci es if the application will use heavyweight, lightweight or hybrid (machine
Type learning, linguistic, statistical techniques, etc.) reasoning mechanisms.
Contradictory Speci es the capability of the application to deal with contradictory information.</p>
        </sec>
      </sec>
      <sec id="sec-3-8">
        <title>Information</title>
        <p>Incomplete Speci es the capability of the application to deal with incomplete information.</p>
      </sec>
      <sec id="sec-3-9">
        <title>Information</title>
        <sec id="sec-3-9-1">
          <title>Systems Interoperability Dimension</title>
          <p>Legacy Inter- Speci es if the application integrates heterogeneous proprietary and legacy
sysoperability tems.</p>
          <p>Distributed Speci es if the application will o er or consume distributed services in order to
Services interoperate with other applications.</p>
          <p>Sommerville [8] describes the Requirements Engineering process as a
threestage activity where the activities are organised as an iterative process around
a spiral. The spiral process accommodates approaches to development in which
the requirements are developed to di erent levels of detail. Agile methods, an
approach to iterative development, follow this perspective.</p>
          <p>
            The activities involved in the Requirements Engineering process are the
following: (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) Requirements elicitation and analysis, in which the features that
the system should provide, the required performance of the system, and so on,
are discovered; (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) Requirements speci cation, in which the user and system
requirements are speci ed; (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) Requirements validation, which shows that the
requirements actually de ne the system that the customer wants.
          </p>
          <p>This paper is focused on providing methodological guidelines for carrying out
the Requirements Elicitation and Analysis activity. Methodological guidelines
for the rest of the activities involved in the Requirements Engineering process
are not provided because we have not specialised them with respect to existing
software engineering methods.</p>
          <p>Requirements elicitation and analysis
trsuoeCm ReBquuInsirpienumetsesnts
m
a
e
T
t
n
e
m
p
o
l
e
v
e
D</p>
          <p>IdentTifaystkh1e use
cases</p>
          <p>Task 2
Identify application
characteristics and
constraints</p>
          <p>Use cases
models
Application
characteristics
&amp; constraints</p>
          <p>Task 3
Identify system
models</p>
          <p>System
models</p>
          <p>Task 5</p>
          <p>Estimate
requirements</p>
          <p>Task 4
Document
requirements</p>
          <p>Task 6
Prioritize
requirements
Tasks
Budget</p>
          <p>Output 2
Release</p>
          <p>Planning</p>
          <p>Output 1
Requirements
document</p>
          <p>The input of the requirements elicitation and analysis activity is a set of
Business Requirements and its goal is to state the functionalities the system
should provide as well as the constraints on the system and when it should
be done. This is re ected in the Software Requirements Document and in the
Release Planning respectively, the outputs of the activity. The requirements
document is written incrementally at the beginning of the project and, as the
project proceeds, in the beginning of every application release development.</p>
          <p>The tasks for carrying out the requirements elicitation and analysis activity
can be seen in the activity diagram shown Figure 1 and are explained below.</p>
          <p>Task 1. To identify the use cases. The objective of this task is to gather
information about the application from the business requirements facilitated by
the customer and to distil use cases from this information.</p>
          <p>Scenario-based elicitation and, in concrete, use cases are an appropriate
approach to Requirements Engineering when implementing an agile method.
However use cases are not as e ective for eliciting constraints or high-level and
nonfunctional requirements, as for example those related to the characteristics
presented in Section 2.</p>
          <p>
            In order to speed-up this task, we provide a catalogue of use cases that
commonly appear in semantic applications. When performing this task, these
common use cases can be selected, adapted and appended to the identi ed set
of requirements. The use cases have been obtained by analysing the scenarios
presented in Section 2 from the viewpoint of the system user goals. The use
cases identi ed are the following: (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) Query Information, where the user goal
is to obtain integrated information from several resources given a query; (
            <xref ref-type="bibr" rid="ref2">2</xref>
            )
Search resources, where the goal is to nd resources related to a given search;
(
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) Browse information, where the user wants to navigate through categorised
information; (
            <xref ref-type="bibr" rid="ref4">4</xref>
            ) Analyse Information, where the goal is to obtain some analysis
          </p>
        </sec>
        <sec id="sec-3-9-2">
          <title>Use Case Template UCT2: Query Information from External Providers</title>
          <p>Primary The person or system who requests the System under development to deliver some
actor information.</p>
          <p>Stakeholders The Primary Actor requires some information that the System must gather and
and integrate from other Information Providers. The Information Providers provide
interests to the System the information to be processed.</p>
          <p>Preconditions The Primary Actor can access to the System.</p>
          <p>Success The System returns to the Primary Actor the required information after
integratguarantee ing correctly the information obtained from the Information Providers.</p>
          <p>Main success scenario
1. The Primary Actor requests to the System to deliver some integrated information.
2. The System requests to an Information Provider the information that requires from it.
3. The Information Provider responses to the System with the requested information.</p>
        </sec>
      </sec>
      <sec id="sec-3-10">
        <title>Steps 2-3 are repeated until there are no more Information Providers to be requested.</title>
        <p>4. The System integrates the gathered information and returns to the Primary Actor the
required information.</p>
        <p>
          Extensions
from collected information; (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) Extract Information, where the goal is to extract
meaningful information by processing a search result; and (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) Manage Knowledge
where the aim is to collaboratively construct and evolve shared knowledge.
        </p>
        <p>As an example, Table 2 shows a variation of the Query Information use case,
whose template has been extracted from the catalogue of common use cases.</p>
        <p>Task 2. To identify application characteristics and constraints. The
objective of this task is to collect non-functional requirements, that is, constraints
on the services or functions o ered by the system.</p>
        <p>In order to speed-up this task, we provide a set of characteristics that
commonly appear in semantic applications. When performing this task these
common characteristics can be selected and appended to the identi ed set of
requirements. The common characteristics have been obtained through an analysis of
the State of the Art, are summarised in Section 2, and have been classi ed
according to four dimensions regarding the nature of the ontologies and data that
the application will use, the kind of reasoning that the application will apply
and the interoperability of the application with other systems.</p>
        <p>Task 3. To identify system models. The objective of this task is to
preliminary specify the system in form of system models, which are an important
bridge between the requirements engineering and the design processes because
they are often more understandable than detailed natural language descriptions
of the system requirements [8]. The system models will re ect the scenarios
identi ed during the use case identi cation task, constrained by the application
characteristics.</p>
        <p>
          The system models allow representing the system from the following di
erent perspectives: (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) an external perspective, where the context or environment
of the application is modelled by showing the limits of the system where the
Cartography Providers
application to develop will be deployed as well as the external systems; and (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
a structural perspective, where the structure of the data processed by the
system is modelled. According to the process presented in this paper, the scenarios
described in Section 2 can be viewed as system models.
        </p>
        <p>In order to speed-up this task, we provide a catalogue of system model
templates. When performing this task, these system model templates can be selected
according to the identi ed use cases and the application characteristics and
constraints. As an example, Figure 2 shows a the template used for an application
that queries information to a group of data sources that are aligned with a shared
vocabulary.</p>
        <p>Task 4. To document requirements. In this task, the requirements
discovered in the previous tasks are consolidated in a single description as the o cial
statement of what the application developers should implement. The result of
this task is the requirements document.</p>
        <p>Task 5. To estimate requirements. In this task, the e ort needed for
implementing a set of requirements is estimated. As happens in Extreme
Programming [9], the developers work together to break the system models down
into development tasks. The result of this task re ects the estimation cost for
each identi ed task.</p>
        <p>Task 6. To prioritise requirements. In this task, the customer
prioritises the development tasks estimated in Task 5. The output of this task is the
release planning that re ects the system models to be implemented for the next
application release.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Example Case Study</title>
      <p>This section presents an example showing how to carry out the rst tasks of the
Requirements Elicitation and Analysis activity, given a ctitious case study.</p>
      <p>Business Requirements. A logistics company has proved that setting
dynamic shipment routes will decrease their shipment risks and delivery time and
will increase its income because of factors such as weather, the transport
companies availability and fares, etc.</p>
      <p>Logistics
Company
Customer</p>
      <p>Obtain Optimum</p>
      <p>Route
Track Shipment</p>
      <p>&lt;&lt;actor&gt;&gt;
Weather Information</p>
      <p>Provider System</p>
      <p>&lt;&lt;actor&gt;&gt;
Transport Company</p>
      <p>System
&lt;&lt;actor&gt;&gt;
Cartography Provider</p>
      <p>System
&lt;&lt;actor&gt;&gt;
Logistics Company</p>
      <p>Information System</p>
      <p>The company wants to upgrade its system in order to enable intelligent search
of optimum routes taking into account weather information coming from di
erent internet providers and information owned by transport companies such as
delivery times, transportation costs, availability of service for a certain route
stretch, etc. The candidate routes are obtained from cartographies available in
the Web.</p>
      <p>Besides the search for the most adequate routes and transport companies,
the logistics company wants to make use of the aforementioned integrated
information to provide its clients with real time tracking about their shipments.</p>
      <p>The information that the new application will use is encoded according to
di erent formats. The weather information providers expose their information
in XML according to a given XML schema. The transport companies provide a
set of Web services in order to facilitate the interoperability with the logistics
company. The cartographies are published in the Semantic Web as instances that
conform to a given ontology. The logistics company will also use information
stored in a relational database coming from its own information systems.</p>
      <p>There are several information providers of each type: weather information,
transport companies and cartography providers. None of the di erent XML
schemas, Web service descriptors or ontologies that these providers use to specify
its information formats are unique, that is, each provider models its information
according to di erent criteria.</p>
      <p>Given this set of Business Requirements, the three rst tasks of an
hypothetical Requirements Elicitation and Analysis episode are summarised next.</p>
      <p>Task 1. Identify the Use Cases. Taking into account the Business
Requirements facilitated by the logistics company, the development team starts
identifying the use cases, nding the two use cases shown in Figure 3.</p>
      <p>The rst use case, Obtain Optimum Route, identi es the individual
interactions between the logistics company system and the di erent external systems
when obtaining an optimum route. The purpose of second use case, Track
Shipment, is to show the interactions between the customer of the logistics company
with the system and the interactions of the system with the external information
provider systems.</p>
      <p>Both of the use cases can be seen as realisations of the Query Information use
case presented in Section 3. The template in the catalogue has to be instantiated
by the development team by identifying the concrete primary actor and the set
of stakeholders including the external systems and modifying the ow of the
main success scenario and extensions.</p>
      <p>Task 2. Identify Application Characteristics and Constraints. With
respect to the Ontologies Dimension, the application is characterised by the
consumption of own and foreign ontologies. Thus, the application is not bound to
the particular domain of the logistics company. The ontologies also are not
centralised in a single resource but distributed in multiple sources so there exists
Ontologies Ubiquity. With respect to the Ontologies Dynamicity characteristic,
it is not speci ed in the business requirements if the ontologies are constantly
changing, so it is supposed that the ontologies are gathered and engineered at
design time. With respect to the Ontologies Hugeness characteristic, the
application will not operate at scale with a huge number of ontologies. Because the
application will deal with di erent ontologies produced by di erent
organisations, these ontologies may have di erent encodings (e.g., RDF(S) or OWL),
they can exhibit di erences in quality, computational heterogeneity (lightweight
and heavyweight ontologies), they can be modelled according to di erent criteria
and they will exhibit conceptual heterogeneity that should be solved with the
use of mappings; thus, the Ontologies Heterogeneity characteristic is guaranteed.
The use of di erent ontologies that somehow have to be interrelated will lead to
a network-of-ontologies typology.</p>
      <p>With respect to the Data Dimension, the application is characterised by the
consumption of own and foreign data. In consequence, there exists Data
Domain Openness. As happened with the ontologies, the data is not centralised in
a single resource , that is, there exists Data Ubiquity. Also, the application is
characterised by the use of dynamic data that is constantly changing so there
exist Data Dynamicity. The data is gathered, selected, combined and processed at
run-time. With respect to the Data Hugeness characteristic, the application has
to operate at scale with a huge number of instances. There is Data Heterogeneity
because data is encoded in di erent forms that are semantic and non-semantic.</p>
      <p>With respect to the Reasoning Dimension, the development team can
advance that heavyweight logical reasoning is not a key aspect of the application.
Because the application has to deal with the heterogeneity of ontologies and
instances explained before, the reasoning has to be hybrid and enabled by the
combination of lightweight logical reasoning and other kinds of reasoning. Besides
the application should deal with contradictory information coming from di erent
cartography providers, contradictory weather previsions, etc. And, furthermore,
it is not guaranteed that the information used will be always complete because
the system will process information from di erent providers that the logistics
company does not own.</p>
      <p>Finally, with respect to the System Interoperability Dimension, the system
will interoperate with legacy databases and will use the distributed services
provided by the transport companies.</p>
      <p>Application</p>
      <p>query
aligned with</p>
      <p>Task 3. Identify System Models. ASsharaednvoceabxulaarmyple, the system model
sketched for the rsAtppliucastioen case is the oanligenedswhitohwn in Fi galuignreedw4ith. The di erent
information sources in every sqtuaerikeseholder system are represented: the weather
information providers have XML dataDtahtasaoturcceoswnitfhorms to ceDrattaasoiunrceXswMithL schemas; the
schema schema
cartography providers own a set of semantic geographical data that conforms
to given cartography ontologies; the tra1nsport companies Npublish on the Web
a set of services used to interoperate with their own systems; and the logistics
company owns a database with information generated by a legacy system.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have introduced a method for carrying out the Requirements
Elicitation and Analysis activity for semantic applications. We have de ned the
tasks involved within the activity in the context of an iterative development
lifecycle. This is particularly useful when application requirements are changing
continuously during the whole application construction.</p>
      <p>For this, we have adapted several requirement elicitation techniques taken
from Software Engineering. We provide catalogues of general use cases and
system models in order to be adapted by the software engineer during the
requirements process. In addition, a set of applications characteristics and constraints
that commonly appear in semantic applications have been provided and are
intended to help the developers in identifying the semantic requirements of the
application under development. The set of application characteristics and the
catalogues of use cases and system models are being de ned within the NeOn1
project. They will be available in a collaborative public space in the future in
1 http://www.neon-project.org/
order to be commented, speci ed and populated. The evaluation of the results
is intended to be done through the aforementioned community website as well
as within the real-world NeOn case studies.</p>
      <p>The use cases and system models produced following this process allow an
easy understanding of the system requirements for users and developers while
incorporating the semantic particularities of the application.</p>
      <p>The de nition of the Requirements Engineering process is the rst stage in
the construction of a rigorous and sound methodology for the development of
a new generation of large-scale semantic applications. This methodology will
provide the necessary framework to organise and manage the development of
semantic applications and will be specially focused on facilitating the use of
semantic technologies to software engineers. The next steps will be to de ne the
Design Process, wich will lead to the de nition of the architecture of a semantic
application using reusable components, and to evaluate the whole methodology
within several case studies in the context of the NeOn project.</p>
      <p>Acknowledgements
This work has been partially supported by the NeOn project (IST-2005-027595).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motta</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Angeletou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gridinoc</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guidi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Towards a New Generation of Semantic Web Applications</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>23</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Motta</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Next Generation Semantic Web Applications</article-title>
          .
          <source>In: 1st Asian Semantic Web Conference</source>
          , Beijing (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Domingue</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Towards a Service Web: Integrating the Semantic Web and Service Orientation</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Krummenacher</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simperl</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Scalability in Semantic Computing: Semantic Middleware</article-title>
          .
          <source>In: Proceedings of the IEEE Conference on Semantic Computing</source>
          . (
          <year>2008</year>
          )
          <volume>538</volume>
          {
          <fpage>544</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jasper</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uschold</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Framework for Understanding and Classifying Ontology Applications</article-title>
          .
          <source>In: Twelfth Workshop on Knowledge Acquisition Modeling and Management KAW 99</source>
          .
          <article-title>(</article-title>
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kozaki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayashi</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sasajima</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tarumi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mizoguchi</surname>
          </string-name>
          , R.:
          <article-title>Understanding Semantic Web Applications</article-title>
          .
          <source>In: 3rd Asian Semantic Web Conference (ASWC</source>
          <year>2008</year>
          ).
          <article-title>(</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Coskun</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heese</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Luczak-Rosh,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Oldakowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , Schafermeier, R.,
            <surname>Streibel</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          :
          <article-title>Towards Corporate Semantic Web: Requirements</article-title>
          and
          <string-name>
            <given-names>Use</given-names>
            <surname>Cases</surname>
          </string-name>
          .
          <source>Technical report</source>
          , Freie Universitat Berlin (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.: Software</given-names>
          </string-name>
          <string-name>
            <surname>Engineering</surname>
          </string-name>
          . Eighth edn. International Computer Science Series. Addison-Wesley (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Extreme Programming Explained: Embrace Change</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>